Pređi na sadržaj

SciPy

S Vikipedije, slobodne enciklopedije
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
Snimak pokazuje SciPy ndimidž izvornog koda

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]

Reference

[uredi | uredi izvor]