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