SciPy — відкрита бібліотека високоякісних наукових інструментів для мови програмування Python. SciPy містить модулі для оптимізації, інтегрування, спеціальних функцій, обробки сигналів, обробки зображень, генетичних алгоритмів, розв'язування звичайних диференціальних рівнянь та інших задач, які розв'язуються в науці і при інженерній розробці. Бібліотека розробляється для тієї ж аудиторії, що і MATLAB та Scilab. Для візуалізації при використанні SciPy часто застосовують бібліотеку Matplotlib, яка є аналогом засобів виводу графіки MATLAB. В даний час SciPy поширюється під ліцензією BSD і його розробники спонсоруються Enthought[en].

SciPy
NumPyOptimizationSmall.png
Тип розширення мови Python
Розробник Проект спільноти
Стабільний випуск 0.17.1[1] (12 травня, 2016; 4 роки тому (2016-05-12))
Версії 1.6.1 (17 лютого 2021)[2]
Репозиторій github.com/scipy/scipy
Операційна система Крос-платформова
Мова програмування Python[3], C, Fortran, C++ і Cython
Ліцензія Ліцензія BSD
Вебсайт scipy.org

CMNS: SciPy у Вікісховищі

Структури данихРедагувати

Основною структурою даних в SciPy є багатовимірний масив, реалізований модулем NumPy (старіші версії SciPy використовували з цією метою Numeric).

МодуліРедагувати

ОглядРедагувати

Доступні підпакети

Додаткова функціональністьРедагувати

Основна функціональність SciPy розширюється за рахунок інших інструментів[5]. Наприклад:

  • Графіка. На даний момент рекомендованим пакетом для рисування двомірної графіки є Matplotlib, однак існує велика кількість інших, наприклад, HippoDraw[en], Chaco, і Biggles. Також популярними є Python Imaging Library і MayaVi[en] (для 3D візуалізації).
  • Оптимізація. Хоча SciPy має свій пакет для оптимізації, OpenOpt має доступ до більшої кількості оптимізаційних пакетів і розв'язувачів.
  • Розширений аналіз даних. За допомогою RPy, SciPy забезпечує інтерфейс до статистичному пакету R, призначеному для складного аналізу даних.
  • База даних. SciPy може взаємодіяти з [1] PyTables, ієрархічною базою даних, розробленою для ефективного керування великими об'ємами даних, що зберігаються у файлах формату HDF5[en].
  • Інтерактивна оболонка. IPython це інтерактивне середовище, яке забезпечує зневадження і створення коду в стилі, близькому до MATLAB.
  • Символьна математика. Існує декілька бібліотек для Python, таких як PyDSTool[недоступне посилання з лютого 2019], Symbolic і SymPy[en], які дозволяють працювати із символьною математикою.

IсторіяРедагувати

У 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 продовжує зростати завдяки збільшенню кількості пакетів та інструментів для технічних обчислень.[6][7][8]

Див. такожРедагувати

ПриміткиРедагувати

ЛітератураРедагувати

  • 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.

ПосиланняРедагувати