Interested Article - SciPy
- 2020-02-08
- 1
SciPy — библиотека для языка программирования Python с открытым исходным кодом , предназначенная для выполнения научных и инженерных расчётов .
История
В 1990-х годах Python был расширен типом массива для вычислений под названием Numeric (этот пакет в конечном итоге был заменен Трэвисом Олифантом, который написал NumPy в 2006 году, соединив Numeric и Numarray.
По состоянию на 2000 год число модулей росло и возрастал интерес к созданию полноценной среды для научных и технических вычислений. В 2001 году Трэвис Олифант, Эрик Джонс и Пиару Петерсон объединили написанный ими код и назвали получившийся пакет SciPy. Вскоре после этого Фернандо Перес выпустил IPython , расширенную интерактивную оболочку, широко используемую в сообществе технических вычислений, а Джон Хантер выпустил первую версию Matplotlib, библиотеки 2D-графиков для вычислений. С тех пор среда SciPy продолжала расти с появлением большего количества пакетов и инструментов для технических вычислений.
Возможности
- поиск минимумов и максимумов функций ;
- вычисление интегралов функций;
- поддержка специальных функций ;
- обработка сигналов ;
- обработка изображений ;
- работа с генетическими алгоритмами ;
- решение обыкновенных дифференциальных уравнений ;
- и др.
Целевая аудитория — пользователи продуктов MATLAB и Scilab .
Для визуализации результатов расчётов часто применяется библиотека Matplotlib , являющаяся аналогом средств вывода графики MATLAB .
Библиотека SciPy распространяется по условиям лицензии BSD . Разработчиков финансирует фирма « ».
Структуры данных
Основной структурой данных в SciPy является многомерный массив , реализованный модулем NumPy (более старые версии SciPy использовали модуль Numeric).
Модули
Обзор
Доступные субпакеты:
- constants
- Физические константы и коэффициенты пересчёта (с версии 0.7.0 ).
- cluster
- Векторное квантование .
- fftpack
- Дискретные алгоритмы преобразования Фурье .
- integrate
- Инструменты для интегрирования .
- interpolate
- Инструменты для интерполяции .
- io
- Ввод-вывод данных.
- lib
- Работа со сторонними библиотеками.
- linalg
- Линейная алгебра .
- misc
- Разное.
- optimize
- Средства оптимизации .
- sandbox
- Экспериментальный код.
- signal
- Обработка сигналов .
- sparse
- Поддержка разреженных матриц .
- special
- Специальные функции .
- stats
- Статистические функции.
Расширяемость
Функциональность библиотеки SciPy можно расширить с помощью других инструментов . Примеры:
- Графика
- Для отрисовки двухмерной предназначено несколько библиотек: Matplotlib (рекомендуется), , , Biggles, Python Imaging Library , (поддерживает трёхмерную графику).
- Оптимизация
- Библиотеки для оптимизации: optimize (модуль встроен в SciPy), (предоставляет больше пакетов и решателей).
- Анализ данных
- Модуль RPy позволяет выполнять анализ данных с помощью языка программирования R .
- База данных
- Библиотека SciPy может взаимодействовать с — иерархической базой данных, разработанной для управления большими объёмами данных; данные хранятся в файлах формата HDF5 .
- Интерактивная оболочка
- IPython — это интерактивная среда для ввода и отладки кода, аналог оболочки MATLAB .
- Символьная математика
- Библиотеки для символьных вычислений : (недоступная ссылка) , Symbolic и SymPy .
См. также
Примечания
- — 2024.
- — 2006.
- Pauli Virtanen, Ralf Gommers, Travis E. Oliphant, Matt Haberland, Tyler Reddy. (англ.) // Nature Methods. — 2020. — March ( vol. 17 , iss. 3 ). — P. 261–272 . — ISSN . — doi : . — . 3 февраля 2021 года.
- . Дата обращения: 21 сентября 2021. 9 июля 2015 года.
- . Дата обращения: 21 сентября 2021. 19 октября 2013 года.
- Andreas C. Müller, Sarah Guido. . — O'Reilly Media, 2016. — ISBN 9781449369415 . от 6 сентября 2021 на Wayback Machine . Дата обращения: 21 сентября 2021. Архивировано из 6 сентября 2021 года.
- . Дата обращения: 21 сентября 2021. 19 февраля 2019 года.
- от 8 ноября 2012 на Wayback Machine .
- . Дата обращения: 26 сентября 2015. 16 января 2013 года.
- от 14 августа 2015 на Wayback Machine // SourceForge.net .
Литература
- Нуньес-Иглесиас Х., Уолт Ш., Дэшноу Х. Элегантный SciPy = Elegant SciPy. — , 2018. — 266 с. — ISBN 978-5-97060-6001 .
- 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 .
Ссылки
- 2020-02-08
- 1