SymPy

SymPy
Логотип программы SymPy
Тип Система компьютерной алгебры
Разработчики Aaron Meurer[вд], Ondřej Čertík[вд] и Christopher P. Smith[вд]
Написана на Python[2]
Операционная система Unix-подобная операционная система
Дата выпуска 2007; 19 лет назад (2007)
Последняя версия
Репозиторий github.com/sympy/sympy
Лицензия модифицированная лицензия BSD
Сайт sympy.org (англ.)
Логотип Викисклада Медиафайлы на Викискладе

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

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

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

Функции

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

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

Основные возможности

Полиномы

Исчисление

Решение уравнений

Дискретная математика

Матрицы

Геометрия

Графика

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

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

Физика

Статистика

Комбинаторика

Печать

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

Зависимости

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

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

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

Примечания

  1. Release 1.14.0 — 2025.
  2. The sympy Open Source Project on Open Hub: Languages Page — 2006.
  3. 1 2 3 SymPy homepage. Дата обращения: 13 октября 2014. Архивировано 20 ноября 2019 года.
  4. 1 2 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.
  5. Meurer, Aaron (2 января 2017). SymPy: symbolic computing in Python (PDF). PeerJ Computer Science (англ.). 3: e103. doi:10.7717/peerj-cs.103. ISSN 2376-5992. Архивировано (PDF) 30 апреля 2019. Дата обращения: 3 июля 2021.{{cite journal}}: Википедия:Обслуживание CS1 (не помеченный открытым DOI) (ссылка)
  6. https://github.com/sympy/sympy/wiki/SymPy-vs. Дата обращения: 3 июля 2021. Архивировано 17 сентября 2021 года.
  7. Sympy project statistics on Open HUB. Дата обращения: 13 октября 2014. Архивировано 17 октября 2014 года.
  8. Constrained multibody dynamics with Python: From symbolic equation generation to publication. Архивировано 3 июня 2018. Дата обращения: 3 июля 2021. Источник. Дата обращения: 3 июля 2021. Архивировано 3 июня 2018 года.
  9. Rocklin, Matthew (2012). Symbolic Statistics with SymPy. Computing in Science & Engineering. 14 (3): 88—93. doi:10.1109/MCSE.2012.56.
  10. 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.
  11. Assumptions Module — SymPy 1.4 documentation. docs.sympy.org. Дата обращения: 5 июля 2019. Архивировано 5 июля 2019 года.
  12. Continuum Mechanics — SymPy 1.4 documentation. docs.sympy.org. Дата обращения: 5 июля 2019. Архивировано 5 июля 2019 года.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.