PL EN DE FR ES IT PT RU JA ZH NL UK TR KO CS SV AR VI FA ID HU RO NO FI

SymPy

SymPy
Knownlyx encyclopedia image
ТипСистема комп'ютерної алгебри
РозробникиСпільнота відкритого програмного забезпечення
Перший випуск2005
Операційна системаКросплатформна
Мова програмуванняPython
ЛіцензіяBSD License
Онлайн-документаціяdocs.sympy.org/latest/index.html Редагувати інформацію у Вікіданих
Репозиторійgithub.com/sympy/sympy
Вебсайтwww.sympy.org

SymPy — це бібліотека з відкритим кодом мовою Python для символьних обчислень. Вона є системою комп'ютерної алгебри (CAS), призначеною для аналітичної роботи з математичними виразами, рівняннями та формулами.

Бібліотека написана повністю на Python і має мінімальні залежності, що робить її простою для встановлення, використання та розширення. SymPy широко застосовується в математиці, фізиці, інженерії, освіті та наукових дослідженнях. Доступна як окремий додаток, як бібліотека для інших додатків або в режимі реального часу в Інтернеті як SymPy Live[1].

Історія

Проєкт SymPy було започатковано у 2005 році Ондржеєм Чертіком (Ondřej Čertík). Згодом до розробки активно долучився Аарон Мойрер (Aaron Meurer) та інші учасники спільноти відкритого програмного забезпечення.

Метою створення SymPy було розроблення повністю відкритої системи комп’ютерної алгебри, реалізованої виключно мовою Python, без використання зовнішніх CAS-ядр.

Можливості

Бібліотека SymPy поділена на ядро з багатьма необов’язковими модулями.

Наразі ядро SymPy має близько 260 000 рядків коду[2] (воно також включає комплексний набір самотестів: понад 100 000 рядків у 350 файлах станом на версію 0.7.5), а його можливості включають:[3]

Основні можливості

Многочлени

Математичний аналіз

Розв’язування рівнянь

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

Матриці

Геометрія

Побудова графіків

Зауваження: побудова графіків потребує зовнішнього модуля Matplotlib або Pyglet.

  • Координатні моделі
  • Побудова графіків геометричних об’єктів
  • 2D та 3D
  • Інтерактивний інтерфейс
  • Кольори
  • Анімації

Фізика

Статистика

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

Виведення

Архітектура

SymPy має модульну архітектуру. Основні компоненти включають:

  • core — базові символьні об’єкти;
  • polys — робота з многочленами;
  • calculus — диференціювання та інтегрування;
  • matrices — лінійна алгебра;
  • physics — фізичні модулі.

Для чисельних обчислень довільної точності використовується бібліотека mpmath.

Приклади використання

Нижче наведено приклад символьних обчислень у SymPy:

from sympy import symbols, diff, integrate

x = symbols('x')
expr = x**2 + 2*x + 1

# Похідна
d = diff(expr, x)

# Інтеграл
i = integrate(x**2, x)

Результати можуть бути подані у вигляді математичних формул, зокрема у форматі LaTeX.

Інтеграція

SymPy інтегрується з різними науковими інструментами, зокрема:

На відміну від багатьох комерційних CAS, SymPy є повністю відкритим програмним забезпеченням і написана мовою Python.

Див. також

Посилання

Примітки

  1. SymPy Live. live.sympy.org. Процитовано 25 серпня 2021.
  2. Sympy project statistics on Open HUB. Процитовано 13 жовтня 2014.
  3. Asif, Mushtaq; Olaussen, Kåre (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. S2CID 42041635.
  4. Assumptions Module — SymPy 1.4 documentation. docs.sympy.org. Процитовано 5 липня 2019.
  5. Continuum Mechanics — SymPy 1.4 documentation. docs.sympy.org. Процитовано 5 липня 2019.