Перейти к содержанию

SymPy

Материал из Мегавики — свободной энциклопедии
SymPy
Sympy logo.
Тип Система компьютерной алгебры
Разработчик SymPy Development Team
Написана на Python
Операционная система кросс-платформенное ПО
Дата выпуска 2007; 19 лет назад (2007)
Последняя версия 1.10.1[1] (20 марта 2022; 4 года назад (2022-03-20))
Репозиторий github.com/sympy/sympy
Лицензия BSD License
Сайт sympy.org (англ.)
Логотип Викисклада Медиафайлы на Викискладе

SymPy — это библиотека Python с открытым исходным кодом, используемая для символьных вычислений. Она предоставляет возможности компьютерной алгебры в виде отдельного приложения, как библиотека для других приложений или в Интернете как SymPy Live или SymPy Gamma. SymPy, аналогично другим библиотекам имеет стандартную установку и проверку, поскольку он полностью написан на Python с небольшими подпрограммами на других языках[2][3][4]. Такая унификация доступа в сочетании с простой и расширяемой кодовой базой на широко распространённом языке делает SymPy системой компьютерной алгебры с относительно низким барьером для входа.

SymPy включает в себя функции базовой символьной арифметики, математический анализ, алгебру и дискретную математику, элементы квантовой физики. Она может форматировать результат вычислений в виде кода LaTeX[2][3].

SymPy — это бесплатное программное обеспечение, работающее под новой лицензией BSD. Ведущие разработчики — Ондржей Чертик и Аарон Мерер. Её код начал писать в 2005 году Ондржей Чертик[5].

Функции[править]

Библиотека SymPy разделена на ядро с множеством дополнительных модулей.

В настоящее время ядро SymPy содержит около 260 000 строк кода[6] (также включает исчерпывающий набор самотестирования: более 100 000 строк в 350 файлах с версии 0.7.5), а его возможности включают[2][3][7][8][9]:

Основные возможности[править]

Полиномы[править]

Исчисление[править]

Решение уравнений[править]

Дискретная математика[править]

Матрицы[править]

Геометрия[править]

Графика[править]

Обратите внимание: для построения графика требуется внешний модуль matplotlib или Pyglet.

  • Координатные модели
  • Построение геометрических объектов
  • 2D и 3D
  • Интерактивный интерфейс
  • Цвета
  • Анимации

Физика[править]

Статистика[править]

Комбинаторика[править]

Печать[править]

  • Структурная распечатка: красивая печать в ASCII / Unicode, LaTeX
  • Генерация кода: C, Fortran, Python

Зависимости[править]

Начиная с версии 1.0, SymPy имеет пакет mpmath в качестве необходимого.

Есть несколько дополнительных зависимостей, которые могут расширить его возможности:

  • gmpy: Если установлен gmpy, полиномиальный модуль SymPy будет автоматически использовать его для более быстрых вычислений. Это может повысить производительность некоторых операций в несколько раз.
  • matplotlib: если установлен matplotlib, SymPy может использовать его для построения графиков.
  • Pyglet: альтернативный пакет для построения графиков.

Примечания[править]

  1. ↑ SymPy 1.10.1.
  2. ↑ 2,0 2,1 2,2 SymPy homepage. Дата обращения: 13 октября 2014. Архивировано 20 ноября 2019 года.
  3. ↑ 3,0 3,1 3,2 Joyner (2012). «Open source computer algebra systems: SymPy». ACM Communications in Computer Algebra 45 (3/4): 225–234. doi:10.1145/2110170.2110185.
  4. ↑ Meurer (2017-01-02). «SymPy: symbolic computing in Python» (en). PeerJ Computer Science 3: e103. doi:10.7717/peerj-cs.103. ISSN 2376-5992.
  5. ↑ https://github.com/sympy/sympy/wiki/SymPy-vs. Дата обращения: 3 июля 2021. Архивировано 17 сентября 2021 года.
  6. ↑ Sympy project statistics on Open HUB. Дата обращения: 13 октября 2014. Архивировано 17 октября 2014 года.
  7. ↑ Constrained multibody dynamics with Python: From symbolic equation generation to publication // [1]. Архивная копия от 3 июня 2018 на Wayback Machine
  8. ↑ Rocklin (2012). «Symbolic Statistics with SymPy». Computing in Science & Engineering 14 (3): 88–93. doi:10.1109/MCSE.2012.56.
  9. ↑ Asif (2014). «Automatic code generator for higher order integrators». Computer Physics Communications 185 (5): 1461–1472. arXiv:1310.2111. doi:10.1016/j.cpc.2014.01.012. Bibcode:2014CoPhC.185.1461M.
  10. ↑ Assumptions Module — SymPy 1.4 documentation. docs.sympy.org. Дата обращения: 5 июля 2019. Архивировано 5 июля 2019 года.
  11. ↑ Continuum Mechanics — SymPy 1.4 documentation. docs.sympy.org. Дата обращения: 5 июля 2019. Архивировано 5 июля 2019 года.

Источник — https://megawiki.ru/wiki/SymPy