Русская Википедия:SciPy
SciPy — библиотека для языка программирования Python с открытым исходным кодом, предназначенная для выполнения научных и инженерных расчётов[1].
История
В 1990-х годах Python был расширен типом массива для вычислений под названием Numeric (этот пакет в конечном итоге был заменен Трэвисом Олифантом, который написал NumPy[2][3] в 2006 году, соединив Numeric и Numarray.[4]
По состоянию на 2000 год число модулей росло и возрастал интерес к созданию полноценной среды для научных и технических вычислений. В 2001 году Трэвис Олифант, Эрик Джонс и Пиару Петерсон объединили написанный ими код и назвали получившийся пакет SciPy. Вскоре после этого Фернандо Перес выпустил IPython, расширенную интерактивную оболочку, широко используемую в сообществе технических вычислений, а Джон Хантер выпустил первую версию Matplotlib, библиотеки 2D-графиков для вычислений. С тех пор среда SciPy продолжала расти с появлением большего количества пакетов и инструментов для технических вычислений.[5]
Возможности
- поиск минимумов и максимумов функций;
- вычисление интегралов функций;
- поддержка специальных функций;
- обработка сигналов;
- обработка изображений;
- работа с генетическими алгоритмами;
- решение обыкновенных дифференциальных уравнений;
- и др.
Целевая аудитория — пользователи продуктов MATLAB и Scilab.
Для визуализации результатов расчётов часто применяется библиотека Matplotlib, являющаяся аналогом средств вывода графики MATLAB.
Библиотека SciPy распространяется по условиям лицензии BSD. Разработчиков финансирует фирма «Enthought».
Структуры данных
Основной структурой данных в SciPy является многомерный массив, реализованный модулем NumPy (более старые версии SciPy использовали модуль Numeric).
Модули
Обзор
Доступные субпакеты:
- constants
- Физические константы и коэффициенты пересчёта (с версии 0.7.0[6]).
- cluster
- Векторное квантование.
- fftpack
- Дискретные алгоритмы преобразования Фурье.
- integrate
- Инструменты для интегрирования.
- interpolate
- Инструменты для интерполяции.
- io
- Ввод-вывод данных.
- lib
- Работа со сторонними библиотеками.
- linalg
- Линейная алгебра.
- misc
- Разное.
- optimize
- Средства оптимизации.
- sandbox
- Экспериментальный код.
- signal
- Обработка сигналов.
- sparse
- Поддержка разреженных матриц.
- special
- Специальные функции.
- stats
- Статистические функции.
Расширяемость
Функциональность библиотеки SciPy можно расширить с помощью других инструментов[7]. Примеры:
- Графика
- Для отрисовки двухмерной предназначено несколько библиотек: Matplotlib (рекомендуется), HippoDraw, Chaco, Biggles, Python Imaging Library, MayaVi (поддерживает трёхмерную графику).
- Оптимизация
- Библиотеки для оптимизации: optimize (модуль встроен в SciPy), OpenOpt (предоставляет больше пакетов и решателей).
- Анализ данных
- Модуль RPy позволяет выполнять анализ данных с помощью языка программирования R.
- База данных
- Библиотека SciPy может взаимодействовать с PyTables[8] — иерархической базой данных, разработанной для управления большими объёмами данных; данные хранятся в файлах формата HDF5.
- Интерактивная оболочка
- IPython — это интерактивная среда для ввода и отладки кода, аналог оболочки MATLAB.
- Символьная математика
- Библиотеки для символьных вычислений: PyDSToolШаблон:Недоступная ссылка, Symbolic и SymPy.
См. также
Примечания
Литература
Ссылки
Шаблон:Python Шаблон:Научное программное обеспечение на Python
- Русская Википедия
- Библиотеки Python
- Научное программное обеспечение
- Программное обеспечение с лицензией BSD
- Свободные библиотеки программ
- Свободное кроссплатформенное программное обеспечение
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Википедия
- Статья из Википедии
- Статья из Русской Википедии