SymPy

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

SymPy
Тип Система компьютерной алгебры
Разработчик SymPy Development Team
Написана на Python
Операционная система Cross-platform
Первый выпуск 2007 (2007)
Последняя версия 1.6.2[1] (9 августа 2020 (2020-08-09))
Лицензия BSD License
Сайт sympy.org (англ.)

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. Releases - sympy/sympy. Дата обращения: 10 августа 2020.
  2. SymPy homepage. Дата обращения: 13 октября 2014.
  3. Joyner, David (2012). “Open source computer algebra systems: SymPy”. ACM Communications in Computer Algebra. 45 (3/4): 225—234. DOI:10.1145/2110170.2110185.
  4. Meurer, Aaron (2017-01-02). “SymPy: symbolic computing in Python” (PDF). PeerJ Computer Science [англ.]. 3: e103. DOI:10.7717/peerj-cs.103. ISSN 2376-5992.
  5. https://github.com/sympy/sympy/wiki/SymPy-vs.
  6. Sympy project statistics on Open HUB. Дата обращения: 13 октября 2014.
  7. «Constrained multibody dynamics with Python: From symbolic equation generation to publication»..
  8. Rocklin, Matthew (2012). “Symbolic Statistics with SymPy”. Computing in Science & Engineering. 14 (3): 88—93. DOI:10.1109/MCSE.2012.56.
  9. Asif, Mushtaq (2014). “Automatic code generator for higher order integrators”. Computer Physics Communications. 185 (5): 1461—1472. arXiv:1310.2111. Bibcode:2014CoPhC.185.1461M. DOI:10.1016/j.cpc.2014.01.012.
  10. Assumptions Module — SymPy 1.4 documentation. docs.sympy.org. Дата обращения: 5 июля 2019.
  11. Continuum Mechanics — SymPy 1.4 documentation. docs.sympy.org. Дата обращения: 5 июля 2019.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.