SciPy

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

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

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

Структури даних[ред. | ред. код]

Основною структурою даних в 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.

Посилання[ред. | ред. код]