SciPy

С Википедије, слободне енциклопедије
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]

Референце[уреди | уреди извор]