SciPy
Тип | розширення мови Python |
---|---|
Розробник | Проект спільноти |
Стабільний випуск | 0.17.1[1] (12 травня, 2016 ) |
Операційна система | Крос-платформова |
Мова програмування | Python[2], C, Fortran, C++ і Cython |
Ліцензія | Ліцензія BSD |
Репозиторій | github.com/scipy/scipy |
Вебсайт | scipy.org |
SciPy — відкрита бібліотека високоякісних наукових інструментів для мови програмування Python. SciPy містить модулі для оптимізації, інтегрування, спеціальних функцій, обробки сигналів, обробки зображень, генетичних алгоритмів, розв'язування звичайних диференціальних рівнянь та інших задач, які розв'язуються в науці і при інженерній розробці. Бібліотека розробляється для тієї ж аудиторії, що і MATLAB та Scilab. Для візуалізації при використанні SciPy часто застосовують бібліотеку Matplotlib, яка є аналогом засобів виводу графіки MATLAB. В даний час SciPy поширюється під ліцензією BSD і його розробники спонсоруються Enthought[en].
Основною структурою даних в SciPy є багатовимірний масив, реалізований модулем NumPy (старіші версії SciPy використовували з цією метою Numeric).
Доступні підпакети
- constants: Фізичні константи і коефіцієнти перерахунку (з версії 0.7.0[3])
- cluster: Векторне квантування
- fftpack: Дискретні алгоритми перетворення Фур'є
- integrate: Інструменти для інтегрування
- interpolate: Інструменти для інтерполяції
- io: Введення-виведення даних
- lib: Враппери Python для зовнішніх бібліотек
- linalg: Лінійна алгебра
- misc: Різні утиліти
- ndimage: функції для обробки зображень
- optimize: Засоби оптимізації
- sandbox: Експериментальний код
- signal: Обробка сигналів
- sparse: Підтримка розріджених матриць
- spatial: К-вимірні дерева, метод найближчих k-сусідів, метрики.
- special: Спеціальні функції
- stats: Статистичні функції
- weave: Дозволяє включати код C/C++ всередину коду Python
Основна функціональність SciPy розширюється за рахунок інших інструментів[4]. Наприклад:
- Графіка. На даний момент рекомендованим пакетом для рисування двомірної графіки є Matplotlib, однак існує велика кількість інших, наприклад, HippoDraw[en], Chaco, і Biggles. Також популярними є Python Imaging Library і MayaVi[en] (для 3D візуалізації).
- Оптимізація. Хоча SciPy має свій пакет для оптимізації, OpenOpt має доступ до більшої кількості оптимізаційних пакетів і розв'язувачів.
- Розширений аналіз даних. За допомогою RPy, SciPy забезпечує інтерфейс до статистичному пакету R, призначеному для складного аналізу даних.
- База даних. SciPy може взаємодіяти з [1] [Архівовано 14 серпня 2015 у Wayback Machine.] PyTables, ієрархічною базою даних, розробленою для ефективного керування великими об'ємами даних, що зберігаються у файлах формату HDF5[en].
- Інтерактивна оболонка. IPython це інтерактивне середовище, яке забезпечує зневадження і створення коду в стилі, близькому до MATLAB.
- Символьна математика. Існує декілька бібліотек для Python, таких як PyDSTool[недоступне посилання з лютого 2019], Symbolic і SymPy[en], які дозволяють працювати із символьною математикою.
У 1990-х роках Python було розширено, щоби включити тип масиву для числових обчислень під назвою Numeric (Цей пакет було врешті-решт замінено Тревісом Оліфантом[en], який написав NumPy 2006 року як змішування Numeric і Numarray, що було розпочато ще 2001 року). Станом на 2000 рік, зростала кількість модулів розширення та зростав інтерес до створення повноцінного середовища для науково-технічних обчислень. 2001 року Травіс Оліфант, Ерік Джонс (Eric Jones) та Піру Петерсон (Pearu Peterson) об'єднали написаний ними код і назвали отриманий пакет SciPy. Новостворений пакет забезпечив стандартний збір загальних числових операцій над структурою даних числового масиву. Незабаром після цього Фернандо Перес (Fernando Pérez) випустив IPython, вдосконалену інтерактивну оболонку, яка широко застосовувалася в технічному обчислювальному співтоваристві, а Джон Хантер (John Hunter) випустив першу версію Matplotlib, бібліотеку 2D-графіки для технічних обчислень. Відтоді середовище SciPy продовжує зростати завдяки збільшенню кількості пакетів та інструментів для технічних обчислень.[5][6][7]
- ↑ PyPi SciPy. Архів оригіналу за 29 червня 2016. Процитовано 6 червня 2016.
- ↑ The scipy Open Source Project on Open Hub: Languages Page — 2006.
- ↑ SourceForge.net: SciPy: Scientific Library for Python: Files. Архів оригіналу за 8 листопада 2012. Процитовано 31 липня 2015.
- ↑ Topical Software. Архів оригіналу за 16 січня 2013. Процитовано 31 липня 2015.
- ↑ History of SciPy. Архів оригіналу за 9 липня 2015. Процитовано 4 листопада 2019. (англ.)
- ↑ Guide to NumPy (PDF). Архів оригіналу (PDF) за 19 жовтня 2013. Процитовано 4 листопада 2019. (англ.)
- ↑ Python for Scientists and Engineers. Архів оригіналу за 19 лютого 2019. Процитовано 4 листопада 2019. (англ.)
- Bressert, E. SciPy and NumPy. — O'Reilly, 2012. — 57 p. — ISBN 9781449305468.
- Blanco-Silva, F.J. Learning SciPy for Numerical and Scientific Computing. — Packt Publishing, Limited, 2013. — 150 p. — ISBN 9781782161639.
- Домашня сторінка [Архівовано 19 червня 2010 у Wayback Machine.]
- Курс для вивчення SciPy
- SciPy API reference [Архівовано 28 березня 2013 у Wayback Machine.]