SciPy
Оригинальный автор(ы) | Трэвис Олифант , Пиру Петерсон, Эрик Джонс |
---|---|
Разработчик(и) | Проект общественной библиотеки |
Первоначальный выпуск | Около 2001 |
Стабильная версия | 1.11.1 / 28 июня 2023 г. |
Репозиторий | |
Написано в | Питон , Фортран , С , С++ [1] |
Операционная система | Кросс-платформенный |
Тип | Технические вычисления |
Лицензия | BSD-новая лицензия |
Веб-сайт | острый |
SciPy (произносится / ˈ s aɪ p aɪ / «вздох пирога» [2] ) — с открытым исходным кодом, бесплатная библиотека Python используемая для научных и технических вычислений. [3]
SciPy содержит модули для оптимизации , линейной алгебры , интегрирования , интерполяции , специальных функций , БПФ , обработки сигналов и изображений , решателей ОДУ и других задач, распространенных в науке и технике.
SciPy также представляет собой серию конференций для пользователей и разработчиков этих инструментов: SciPy (в США), EuroSciPy (в Европе) и SciPy.in (в Индии). [4] Компания En Thought организовала конференцию SciPy в США и продолжает спонсировать многие международные конференции, а также размещать веб-сайт SciPy.
Библиотека SciPy в настоящее время распространяется под лицензией BSD , а ее развитие спонсируется и поддерживается открытым сообществом разработчиков. Он также поддерживается NumFOCUS , общественным фондом поддержки воспроизводимой и доступной науки.
Компоненты
[ редактировать ]Пакет SciPy лежит в основе возможностей научных вычислений Python. Доступные дополнительные пакеты включают в себя:
- кластер : иерархическая кластеризация , векторное квантование , K-средние
- константы : физические константы и коэффициенты пересчета
- fft : дискретного преобразования Фурье алгоритмы
- fftpack : устаревший интерфейс для дискретных преобразований Фурье.
- интегрировать : численного интегрирования процедуры
- interpolate : инструменты интерполяции
- io : ввод и вывод данных
- linalg : процедуры линейной алгебры
- разное : разные утилиты (например, примеры изображений)
- ndimage многомерных изображений. : различные функции для обработки
- ODR: ортогональной дистанционной регрессии классы и алгоритмы
- оптимизировать : алгоритмы оптимизации, включая линейное программирование.
- сигнал : обработки сигналов инструменты
- разреженный : разреженные матрицы и связанные алгоритмы
- пространственный : алгоритмы для пространственных структур, таких как деревья kd , ближайшие соседи, выпуклые оболочки и т. д.
- специальный : специальные функции
- статистика : статистические функции
- weave : инструмент для написания кода C / C++ в виде многострочных строк Python (теперь устарел в пользу Cython [5] )
Структуры данных
[ редактировать ]Базовая структура данных, используемая SciPy, представляет собой многомерный массив , предоставляемый модулем NumPy . NumPy предоставляет некоторые функции для линейной алгебры, преобразования Фурье и генерации случайных чисел , но не обладает общностью эквивалентных функций в SciPy. NumPy также можно использовать как эффективный многомерный контейнер данных с произвольными типами данных . Это позволяет NumPy легко и быстро интегрироваться с самыми разными базами данных . В более старых версиях SciPy в качестве типа массива использовался Numeric, который теперь устарел в пользу нового кода массива NumPy. [6]
История
[ редактировать ]В 1990-х годах Python был расширен за счет включения типа массива для числовых вычислений под названием Numeric. (Этот пакет в конечном итоге был заменен NumPy , который был написан Трэвисом Олифантом в 2006 году как смесь Numeric и Numarray, а сам Numarray был запущен в 2001 году.) По состоянию на 2000 год наблюдался рост числа модулей расширения и возрастающий интерес к создание полноценной среды для научных и технических вычислений. В 2001 году Трэвис Олифант, Эрик Джонс и Пиру Петерсон объединили написанный ими код и назвали получившийся пакет SciPy. Недавно созданный пакет предоставил стандартный набор общих числовых операций поверх структуры данных числового массива. Вскоре после этого Фернандо Перес выпустил IPython , улучшенную интерактивную оболочку, широко используемую в сообществе технических вычислений, а Джон Хантер выпустил первую версию Matplotlib , библиотеки 2D-графики для технических вычислений. С тех пор среда SciPy продолжала расширяться благодаря появлению новых пакетов и инструментов для технические вычисления . [7] [8] [9]
Научный Python против ScientificPython
[ редактировать ]В научной литературе SciPy иногда называют «Научным Python (SciPy)». Это неверно: официальное название проекта — просто «SciPy».
Кроме того, расширение «SciPy» как «Научный Python» может привести к путанице с «ScientificPython», проектом под руководством Конрада Хинсена из Орлеанского университета, который действовал с 1995 года. [10] и 2014. [11]
См. также
[ редактировать ]- Сравнение программного обеспечения для численного анализа
- Список программного обеспечения для численного анализа
- Сравнение статистических пакетов
- SageMath
- Программа оптимизации HiGHS
Примечания
[ редактировать ]- ^ Команда SciPy. «Как SciPy может быть быстрым, если он написан на интерпретируемом языке, таком как Python?» . Проверено 11 апреля 2022 г.
- ^ https://scipy.org/ «SciPy (произносится как «Вздыхающий пирог»)»
- ^ Паули Виртанен; Ральф Гоммерс; Трэвис Э. Олифант ; и др. (3 февраля 2020 г.). «SciPy 1.0: фундаментальные алгоритмы научных вычислений на Python» (PDF) . Природные методы . 17 (3): 261–272. arXiv : 1907.10121 . дои : 10.1038/S41592-019-0686-2 . ISSN 1548-7091 . ПМК 7056644 . ПМИД 32015543 . Викиданные Q84573952 .
{{cite journal}}
:|author35=
имеет общее имя ( справка ) CS1 maint: числовые имена: список авторов ( ссылка ) (ошибка) - ^ «Предстоящие конференции SciPy 2023» . Конференции SciPy . Проверено 11 мая 2023 г.
- ^ «Примечания к выпуску SciPy 0.15.0 — Справочное руководство SciPy v1.6.2» . docs.scipy.org . Проверено 13 апреля 2021 г.
- ^ «Домашняя страница NumPy» .
- ^ «История SciPy» .
- ^ «Руководство по NumPy» (PDF) .
- ^ «Python для ученых и инженеров» .
- ^ «Научный Питон» . Проверено 21 февраля 2019 г.
- ^ «Источник: ScientificPython: Project Home» . sourceup.renater.fr . Проверено 21 февраля 2019 г.
Дальнейшее чтение
[ редактировать ]- Нуньес-Иглесиас, Хуан; ван дер Вальт, Стефан; Дашну, Харриет (2017). Элегантный SciPy: искусство научного Python . О'Рейли. ISBN 978-1-4919-2287-3 .
Внешние ссылки
[ редактировать ]- Кроссплатформенное программное обеспечение
- Бесплатное научное программное обеспечение
- Программное обеспечение для численного анализа для Linux
- Программное обеспечение для численного анализа для macOS
- Программное обеспечение для численного анализа для Windows
- Языки числового программирования
- Научные библиотеки Python (язык программирования)
- Программное обеспечение, использующее лицензию BSD