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

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

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

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
 
Snimak pokazuje SciPy ndimidž izvornog koda

Strukture podataka uredi

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

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]

Reference uredi