SciPy

27.01.2021

SciPy — библиотека для языка программирования Python с открытым исходным кодом, предназначенная для выполнения научных и инженерных расчётов.

Возможности

  • поиск минимумов и максимумов функций;
  • вычисление интегралов функций;
  • поддержка специальных функций;
  • обработка сигналов;
  • обработка изображений;
  • работа с генетическими алгоритмами;
  • решение обыкновенных дифференциальных уравнений;
  • и др.

Целевая аудитория — пользователи продуктов MATLAB и Scilab.

Для визуализации результатов расчётов часто применяется библиотека Matplotlib, являющаяся аналогом средств вывода графики MATLAB.

Библиотека SciPy распространяется по условиям лицензии BSD. Разработчиков финансирует фирма «Enthought».

Структуры данных

Основной структурой данных в SciPy является многомерный массив, реализованный модулем NumPy (более старые версии SciPy использовали модуль Numeric).

Модули

Обзор

Доступные субпакеты:

constants Физические константы и коэффициенты пересчёта (с версии 0.7.0). cluster Векторное квантование. fftpack Дискретные алгоритмы преобразования Фурье. integrate Инструменты для интегрирования. interpolate Инструменты для интерполяции. io Ввод-вывод данных. lib Работа со сторонними библиотеками. linalg Линейная алгебра. misc Разное. optimize Средства оптимизации. sandbox Экспериментальный код. signal Обработка сигналов. sparse Поддержка разреженных матриц. special Специальные функции. stats Статистические функции. weave Использование кода, написанного на языках C и C++.

Расширяемость

Функциональность библиотеки SciPy можно расширить с помощью других инструментов. Примеры:

Графика Для отрисовки двухмерной предназначено несколько библиотек: Matplotlib (рекомендуется), HippoDraw, Chaco, Biggles, Python Imaging Library, MayaVi (поддерживает трёхмерную графику). Оптимизация Библиотеки для оптимизации: optimize (модуль встроен в SciPy), OpenOpt (предоставляет больше пакетов и решателей). Анализ данных Модуль RPy позволяет выполнять анализ данных с помощью языка программирования R. База данных Библиотека SciPy может взаимодействовать с PyTables — иерархической базой данных, разработанной для управления большими объёмами данных; данные хранятся в файлах формата HDF5. Интерактивная оболочка IPython — это интерактивная среда для ввода и отладки кода, аналог оболочки MATLAB. Символьная математика Библиотеки для символьных вычислений: PyDSTool (недоступная ссылка), Symbolic и SymPy.