Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

SciPy (произносится / ев р / «вздыхать пирог» [3] ) является свободным и открытым исходным кодом Python библиотека , используемая для научных вычислений и технических вычислений. [4]

SciPy содержит модули для оптимизации , линейной алгебры , интеграции , интерполяции , специальных функций , БПФ , обработки сигналов и изображений , решателей ODE и других задач, распространенных в науке и технике.

SciPy - это также семейство конференций для пользователей и разработчиков этих инструментов: SciPy (в США), EuroSciPy (в Европе) и SciPy.in (в Индии). [5] Enthought является инициатором конференции SciPy в США и продолжает спонсировать многие международные конференции, а также размещать веб-сайт SciPy.

Библиотека SciPy в настоящее время распространяется под лицензией BSD , а ее разработка спонсируется и поддерживается открытым сообществом разработчиков. Он также поддерживается NumFOCUS , общественным фондом поддержки воспроизводимой и доступной науки.

Компоненты [ править ]

Пакет SciPy, содержащий ключевые алгоритмы и функции, лежащие в основе научных вычислительных возможностей Python. Доступные подпакеты включают:

  • кластер : иерархическая кластеризация, векторное квантование, K-средних
  • константы : физические константы и коэффициенты преобразования
  • fft : алгоритмы дискретного преобразования Фурье
  • fftpack : устаревший интерфейс для дискретных преобразований Фурье
  • интегрировать : процедуры численного интегрирования
  • интерполировать : инструменты интерполяции
  • io : ввод и вывод данных
  • linalg : процедуры линейной алгебры
  • разное : разные утилиты (например, примеры изображений)
  • ndimage : различные функции для обработки многомерных изображений
  • ODR: классы и алгоритмы ортогональной дистанционной регрессии
  • optimize : алгоритмы оптимизации , включая линейное программирование
  • signal : инструменты обработки сигналов
  • sparse : разреженные матрицы и связанные алгоритмы
  • пространственные : алгоритмы для пространственных структур, таких как деревья kd , ближайшие соседи, выпуклые оболочки и т. д.
  • special : специальные функции
  • stats : статистические функции
  • weave : инструмент для написания кода C / C ++ в виде многострочных строк Python (теперь устарел в пользу Cython [6] )
Снимок, показывающий исходный код SciPy ndimage

Структуры данных [ править ]

Базовая структура данных, используемая SciPy, представляет собой многомерный массив, предоставляемый модулем NumPy . NumPy предоставляет некоторые функции для линейной алгебры, преобразования Фурье и генерации случайных чисел , но не с общностью эквивалентных функций в SciPy. NumPy также можно использовать как эффективный многомерный контейнер данных с произвольными типами данных. Это позволяет NumPy легко и быстро интегрироваться с широким спектром баз данных. В более старых версиях SciPy в качестве типа массива использовался Numeric, который теперь устарел в пользу нового кода массива NumPy. [7]

История [ править ]

В 1990-х годах Python был расширен за счет включения типа массива для числовых вычислений под названием Numeric (этот пакет в конечном итоге был заменен Трэвисом Олифантом, который написал NumPy в 2006 году как смесь Numeric и Numarray, которая была начата в 2001 году). По состоянию на 2000 год росло число модулей расширения и возрастал интерес к созданию полноценной среды для научных и технических вычислений. В 2001 году Трэвис Олифант, Эрик Джонс и Пиару Петерсон объединили написанный ими код и назвали получившийся пакет SciPy. Вновь созданный пакет предоставляет стандартный набор общих числовых операций поверх структуры данных числового массива. Вскоре после этого Фернандо Перес выпустил IPython., усовершенствованная интерактивная оболочка, широко используемая в сообществе технических вычислений, и Джон Хантер выпустил первую версию Matplotlib , библиотеки 2D-графиков для технических вычислений. С тех пор среда SciPy продолжала расти с появлением большего количества пакетов и инструментов для технических вычислений. [8] [9] [10]

См. Также [ править ]

  • Сравнение программ численного анализа
  • Список программного обеспечения для численного анализа
  • Сравнение статистических пакетов
  • SageMath

Заметки [ править ]

  1. ^ "Выпуск 1.6.3" . 25 апреля 2021 . Проверено 26 апреля 2021 года .
  2. ^ Команда SciPy. «Как может SciPy быть быстрым, если он написан на интерпретируемом языке, таком как Python?» . Проверено 23 декабря 2013 .
  3. ^ https://scipy.org/ "SciPy (произносится как" Вздох-пирог ")"
  4. ^ Паули Виртанен; Ральф Гоммерс; Трэвис Э. Олифант ; и другие. (3 февраля 2020 г.). «SciPy 1.0: фундаментальные алгоритмы для научных вычислений на Python» (PDF) . Методы природы . 17 (3): 261–272. DOI : 10.1038 / S41592-019-0686-2 . ISSN 1548-7091 . PMC 7056644 . PMID 32015543 . Викиданные Q84573952 .      (опечатка)
  5. ^ "Конференции SciPy" .
  6. ^ «Примечания к выпуску SciPy 0.15.0 - Справочное руководство SciPy v1.6.2» . docs.scipy.org . Проверено 13 апреля 2021 .
  7. ^ "Домашняя страница NumPy" .
  8. ^ "История SciPy" .
  9. ^ "Руководство по NumPy" (PDF) .
  10. ^ «Python для ученых и инженеров» .

Дальнейшее чтение [ править ]

  • Нуньес-Иглесиас, Хуан; ван дер Вальт, Стефан; Дашноу, Харриет (2017). Elegant SciPy: Искусство научного Python . О'Рейли. ISBN 978-1-4919-2287-3.

Внешние ссылки [ править ]

  • Официальный веб-сайт