SciPy (изговара се "Сај Пај") је отворени код Пајтон библиотеке коју користе научници, аналитичари и инжењери ради специфичног рачунарства и техничког рачунарства.

SciPy

SciPy садржи модуле за оптимизацију, линеарне алгебре, интеграцију, интерполацију, специјалне функције, ФФТ, сигналу и обраду слике, ОДЕ решавање и друге послове заједничким у науци и инжењерству.

SciPy се гради на NumPy низ у објекта и део је  NumPy стека који укључује алате као што су Матплотлиб, пандас и SymPy. Постоји шири скуп специфичних рачунарских библиотека које се додају у NumPy стеку сваки дан. Овај NumPy стек има сличне кориснике са другим апликацијама као што су МАТЛАБ, GNU Octave, и Scilab. NumPy стек се такође понекад назива SciPy стек.[1]

SciPy је такође породица конференција за кориснике и програмере ових алата. SciPy (у Сједињеним Америчким Државама), EuroSciPy (у Европи) и SciPy.in (у Индији).[2] Настала је конференција SciPy у Сједињеним Америчким Државама и наставља да спонзорише многе међународним конференцијама, као и домаћин SciPy-а на сајту.

SciPy библиотека тренутно дистрибуира под BSD лиценцом, а њен развој је под покровитељством и  подршком отворене заједнице програмера. Такође је подржан од стране Нумфокуса који је темељ заједнице за подршку репродуктивне и приступачане науке.

Пајтон специфично рачунарско окружење

уреди

Типичано Пајтон специфично рачунарско окружење обухвата многе наменске софтверске алате. На пример,

  • Цртање. Тренутно препоручује 2-D цртање пакет је Матплотлиб, међутим, постоје и многи други пакети као што су HippoDraw, Chaco, Biggles и Bokeh . Други популарни графички алати укључују Пајтон библиотеку слика и MayaVi (за 3Д визуелизацију).
  • Оптимизација. Док SciPy има свој пакет оптимизације, OpenOpt има приступ више оптимизација решавања и може укључити аутоматску диференцијацију. CVXOpt је још једна популарна библиотека оптимизације.
  • Напредна анализа података. Преко RPy-а , Пајтон може приступити Р статистичкм пакету за напредне анализе података.
  • База података. NumPy се може повезати са Пајтон таблом, хијерархијским пакетом базе дизајниран да ефикасно управља великом количином података користећи HDF5.
  • Интерактивни омотач. И-Пајтон је интерактивни амбијент који нуди отклањање грешака и кодирање карактеристика сличних као код МАТЛАБ-а.
  • Математика симбола. Постоји неколико Пајтон библиотеке-као што је PyDSTool симболична и SymPy-које нуди симболичка математика.
  • Специјализоване екстензије. Скице дају специјалне наменске додатке за NumPy и Пајтон. Од тога, скица-слика, скица-леарна [3] и статс модели су зрели пакети.

SciPy библиотека/пакет

уреди

SciPy пакет кључних алгоритама и функција језгара на Пајтон специфичном рачунарству. Доступни суб-пакети садрже:

  • константе: физичке константе и фактори конверзије (од верзије 0.7.0[4])
  • кластер : хијерархијска груписања, векторска квантизација, К-средства
  • ДФТ пакет: дискретне фурије трансформације алгоритама
  • интегрисати: нумеричка интеграција рутине
  • интерполирати: интерполирани алата
  • УИ: унос података и излаз
  • библиотека: Пајтон омотачи на спољне библиотеке
  • линалг: Линеарна алгебра рутине
  • Остало: разне комуналије (нпр. читање слике / писање)
  • ндимиџ (н димензија слике): различите функције за мултидимензионалну обраду слике
  • оптимизира: оптимизације алгоритама, укључујући линеарно програмирање
  • Сигнал: алати обраде сигнала
  • оскудност: ретке матрице и сродни алгоритми
  • просторни: КД-стабла, суседи, функције растојања
  • Посебно: специјалне функције
  • Статистика: статистичке функције
  • Талас: алат за писање C / C ++ кода као Пајтон вишелинијски стрингови
 
Снимак показује SciPy ндимиџ изворног кода

Структуре података

уреди

Основна структура података коју користи SciPy је вишедимензионални низ обезбеђен од стране NumPy модула. NumPy даје неке функције за линеарне алгебре, Фуријеове трансформације и генерације случајних бројева, али не и са општости еквивалентних функција у SciPy. NumPy се такође може користити као ефикасни мултидимензионални контејнер података са произвољним типовима података. Ово омогућава да NumPy неприметно и брзо интегрише са широком спектром базом података. Старије верзије SciPy-а користе бројчане типове низа, који су сада застарели у корист новијег NumPy низа кода.[5]

Историја SciPy-а

уреди

У 1990-им, Пајтон је проширен да укључи тип низова за нумеричка рачунарства под називом Бројни (Овај пакет је на крају заменио Травис Олифант који је написао NumPy у 2006. години као мешање нумеричког и Numarray-а која је почела 2001. године). Године 1999, Травис Олифант је створио велику колекцију проширења модула како би се омогућило специфично рачунање са Пајтоном и помогао Перу Питерсон  да напишу  f2py којим је омогућено лако проширење Пајтона са Фортран кодом. Овај напор формира темељ SciPy-а. У 2001. години, Травис Олифант и Перу Питерсон спојили су своје напоре са неколико модула које је написао Ерик Џонс, и назвао добијени пакет SciPy. Новонастали пакет, предлаган стандардном колекцијом заједничких нумеричких операција на врху нумеричке структуре низа података. Убрзо након тога, Фернандо Перез објавио је ИПајтон, са појачаном интерактивном шкољком у широкој употреби у техничкој и рачунарској заједници. Џон Хантер је објавио прву верзију Матплотлиб-а, 2D цртање библиотеке за техничко рачунарство. Од тада је SciPy окружење наставило да расте са више пакета и алата за техничку компјутеризацију.[6][7][8]

Референце

уреди