Перейти до вмісту

SymPy

Матеріал з Вікіпедії — вільної енциклопедії.
SymPy
ТипСистема комп'ютерної алгебри
РозробникиСпільнота відкритого програмного забезпечення
Перший випуск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.