SymPy

Бесплатно
Открытый исходный код
Windows
macOS
Linux

Сайт: www.sympy.org/ru

SymPy — это свободная библиотека на языке Python для символьных вычислений, реализующая возможности компьютерной алгебры. Проект развивался как модульный набор инструментов для представления и преобразования математических выражений в символьной форме, включающий арифметику с общими выражениями, упрощение, подстановку, дифференцирование и интегрирование. SymPy ориентирован на читаемую реализацию и взаимодействие с интерактивными средами, предоставляя интерфейсы для работы с объектами, такими как символы, выражения, матрицы и уравнения.

Библиотека активно применяется в научных и образовательных задачах, где требуется аналитическая обработка выражений, алгебраическая манипуляция и анализ. Архитектура SymPy позволяет расширять систему за счёт модулей, реализующих отдельные области: алгебру, анализ, дискретную математику, комбинаторику и элементарные компоненты теоретической физики. Разработка ведётся сообществом, а исходный код доступен для чтения и модификации; использование языка Python делает библиотеку удобной для интеграции в скрипты и вычислительные пайплайны.

  • Символьное представление: поддержка символов, параметров и выражений с точным хранением структуры математических формул.
  • Алгебра: упрощение выражений, факторизация, разложение на множители, работа с полиномами и рациональными функциями.
  • Дифференцирование и интегрирование: правила символьного дифференцирования, операции по частям, методы для неопределённых и определённых интегралов.
  • Решение уравнений: аналитические и численные методы для алгебраических и трансцендентных уравнений, системы уравнений.
  • Матрицы и линейная алгебра: символьные матрицы, детерминанты, собственные значения, приведение и разложения.
  • Анализ: ряды Тейлора, предельные переходы, исследование сингулярностей и асимптотические разложения.
  • Дискретная математика и комбинаторика: работа с комбинаторными выражениями, последовательностями и рекуррентными соотношениями.
  • Специализированные функции: поддержка элементарных и специальных функций, таких как экспонента, логарифмы, разложение гипергеометрических и других функций.
  • Интеграция с численными библиотеками: возможности преобразования символьных выражений в формы, пригодные для численного анализа и генерации кода.
  • Расширяемость: модульная архитектура, позволяющая добавлять новые алгоритмы и области математики через плагины и пользовательские модули.
Подробнее