SciPy
SciPy (izgovara se "Saj Paj") je otvoreni kod Pajton biblioteke koju koriste naučnici, analitičari i inženjeri radi specifičnog računarstva i tehničkog računarstva.
SciPy sadrži module za optimizaciju, linearne algebre, integraciju, interpolaciju, specijalne funkcije, FFT, signalu i obradu slike, ODE rešavanje i druge poslove zajedničkim u nauci i inženjerstvu.
SciPy se gradi na NumPy niz u objekta i deo je NumPy steka koji uključuje alate kao što su Matplotlib, pandas i SymPy. Postoji širi skup specifičnih računarskih biblioteka koje se dodaju u NumPy steku svaki dan. Ovaj NumPy stek ima slične korisnike sa drugim aplikacijama kao što su MATLAB, GNU Octave, i Scilab. NumPy stek se takođe ponekad naziva SciPy stek.[1]
SciPy je takođe porodica konferencija za korisnike i programere ovih alata. SciPy (u Sjedinjenim Američkim Državama), EuroSciPy (u Evropi) i SciPy.in (u Indiji).[2] Nastala je konferencija SciPy u Sjedinjenim Američkim Državama i nastavlja da sponzoriše mnoge međunarodnim konferencijama, kao i domaćin SciPy-a na sajtu.
SciPy biblioteka trenutno distribuira pod BSD licencom, a njen razvoj je pod pokroviteljstvom i podrškom otvorene zajednice programera. Takođe je podržan od strane Numfokusa koji je temelj zajednice za podršku reproduktivne i pristupačane nauke.
Pajton specifično računarsko okruženje
[uredi | uredi izvor]Tipičano Pajton specifično računarsko okruženje obuhvata mnoge namenske softverske alate. Na primer,
- Crtanje. Trenutno preporučuje 2-D crtanje paket je Matplotlib, međutim, postoje i mnogi drugi paketi kao što su HippoDraw, Chaco, Biggles i Bokeh . Drugi popularni grafički alati uključuju Pajton biblioteku slika i MayaVi (za 3D vizuelizaciju).
- Optimizacija. Dok SciPy ima svoj paket optimizacije, OpenOpt ima pristup više optimizacija rešavanja i može uključiti automatsku diferencijaciju. CVXOpt je još jedna popularna biblioteka optimizacije.
- Napredna analiza podataka. Preko RPy-a , Pajton može pristupiti R statističkm paketu za napredne analize podataka.
- Baza podataka. NumPy se može povezati sa Pajton tablom, hijerarhijskim paketom baze dizajniran da efikasno upravlja velikom količinom podataka koristeći HDF5.
- Interaktivni omotač. I-Pajton je interaktivni ambijent koji nudi otklanjanje grešaka i kodiranje karakteristika sličnih kao kod MATLAB-a.
- Matematika simbola. Postoji nekoliko Pajton biblioteke-kao što je PyDSTool simbolična i SymPy-koje nudi simbolička matematika.
- Specijalizovane ekstenzije. Skice daju specijalne namenske dodatke za NumPy i Pajton. Od toga, skica-slika, skica-learna [3] i stats modeli su zreli paketi.
SciPy biblioteka/paket
[uredi | uredi izvor]SciPy paket ključnih algoritama i funkcija jezgara na Pajton specifičnom računarstvu. Dostupni sub-paketi sadrže:
- konstante: fizičke konstante i faktori konverzije (od verzije 0.7.0[4])
- klaster : hijerarhijska grupisanja, vektorska kvantizacija, K-sredstva
- DFT paket: diskretne furije transformacije algoritama
- integrisati: numerička integracija rutine
- interpolirati: interpolirani alata
- UI: unos podataka i izlaz
- biblioteka: Pajton omotači na spoljne biblioteke
- linalg: Linearna algebra rutine
- Ostalo: razne komunalije (npr. čitanje slike / pisanje)
- ndimidž (n dimenzija slike): različite funkcije za multidimenzionalnu obradu slike
- optimizira: optimizacije algoritama, uključujući linearno programiranje
- Signal: alati obrade signala
- oskudnost: retke matrice i srodni algoritmi
- prostorni: KD-stabla, susedi, funkcije rastojanja
- Posebno: specijalne funkcije
- Statistika: statističke funkcije
- Talas: alat za pisanje C / C ++ koda kao Pajton višelinijski stringovi
Strukture podataka
[uredi | uredi izvor]Osnovna struktura podataka koju koristi SciPy je višedimenzionalni niz obezbeđen od strane NumPy modula. NumPy daje neke funkcije za linearne algebre, Furijeove transformacije i generacije slučajnih brojeva, ali ne i sa opštosti ekvivalentnih funkcija u SciPy. NumPy se takođe može koristiti kao efikasni multidimenzionalni kontejner podataka sa proizvoljnim tipovima podataka. Ovo omogućava da NumPy neprimetno i brzo integriše sa širokom spektrom bazom podataka. Starije verzije SciPy-a koriste brojčane tipove niza, koji su sada zastareli u korist novijeg NumPy niza koda.[5]
Istorija SciPy-a
[uredi | uredi izvor]U 1990-im, Pajton je proširen da uključi tip nizova za numerička računarstva pod nazivom Brojni (Ovaj paket je na kraju zamenio Travis Olifant koji je napisao NumPy u 2006. godini kao mešanje numeričkog i Numarray-a koja je počela 2001. godine). Godine 1999, Travis Olifant je stvorio veliku kolekciju proširenja modula kako bi se omogućilo specifično računanje sa Pajtonom i pomogao Peru Piterson da napišu f2py kojim je omogućeno lako proširenje Pajtona sa Fortran kodom. Ovaj napor formira temelj SciPy-a. U 2001. godini, Travis Olifant i Peru Piterson spojili su svoje napore sa nekoliko modula koje je napisao Erik Džons, i nazvao dobijeni paket SciPy. Novonastali paket, predlagan standardnom kolekcijom zajedničkih numeričkih operacija na vrhu numeričke strukture niza podataka. Ubrzo nakon toga, Fernando Perez objavio je IPajton, sa pojačanom interaktivnom školjkom u širokoj upotrebi u tehničkoj i računarskoj zajednici. Džon Hanter je objavio prvu verziju Matplotlib-a, 2D crtanje biblioteke za tehničko računarstvo. Od tada je SciPy okruženje nastavilo da raste sa više paketa i alata za tehničku kompjuterizaciju.[6][7][8]