SymPy — это библиотека Python с открытым исходным кодом, используемая для символьных вычислений. Она предоставляет возможности компьютерной алгебры в виде отдельного приложения, как библиотека для других приложений или в Интернете как SymPy Live или SymPy Gamma. SymPy, аналогично другим библиотекам имеет стандартную установку и проверку, поскольку он полностью написан на Python с небольшими подпрограммами на других языках. Такая унификация доступа в сочетании с простой и расширяемой кодовой базой на широко распространённом языке делает SymPy системой компьютерной алгебры с относительно низким барьером для входа.
SymPy включает в себя функции базовой символьной арифметики, математический анализ, алгебру и дискретную математику, элементы квантовой физики. Она может форматировать результат вычислений в виде кода LaTeX.
SymPy — это бесплатное программное обеспечение, работающее под новой лицензией BSD. Ведущие разработчики — Ондржей Чертик и Аарон Мерер. Её код начал писать в 2005 году Ондржей Чертик.
Функции Библиотека SymPy разделена на ядро с множеством дополнительных модулей.
В настоящее время ядро SymPy содержит около 260 000 строк кода (также включает исчерпывающий набор самотестирования: более 100 000 строк в 350 файлах с версии 0.7.5), а его возможности включают :
Основные возможности Базовая арифметика: *, /, +, -, ** Упрощение Расширение Функции: тригонометрические, гиперболические, экспоненциальные, корни, логарифмы, модуль, сферические гармоники, факториалы и гамма-функции, дзета-функции, многочлены, гипергеометрические, специальные функции,. . . Замена Целые числа произвольной точности, рациональные числа и числа с плавающей запятой Некоммутативные символы Сопоставление с образцом
Полиномы Основы арифметики: деление, НОД,. . . Факторизация Факторизация без квадратов Базы Грёбнера Разложение на частичную дробь Результант
Исчисление Пределы Дифференциация Интегрирование: реализована эвристика Риша — Нормана. Ряды Тейлора (ряды Лорана)
Решение уравнений Системы линейных уравнений Системы алгебраических уравнений, разрешимые в радикалах Дифференциальные уравнения Разностные уравнения
Дискретная математика Биномиальные коэффициенты Итоги Произведения Теория чисел: генерация простых чисел, проверка простоты, целочисленная факторизация,. . . Логические выражения
Матрицы Основы арифметики Собственные значения и их собственные векторы, когда характеристический многочлен разрешим в радикалах Детерминанты Инверсия Решение
Геометрия Точки, линии, лучи, отрезки, эллипсы, круги, многоугольники,. . . Пересечения Касательные прямые подобие
Графика Обратите внимание: для построения графика требуется внешний модуль matplotlib или Pyglet.
Координатные модели Построение геометрических объектов 2D и 3D Интерактивный интерфейс Цвета Анимации
Физика Единицы измерения Классическая механика Механика сплошной среды Квантовая механика Гауссова оптика Алгебра Паули
Статистика Нормальные распределения Равномерное распределение Вероятность
Комбинаторика Перестановки Комбинации Перегородки Подмножества Группа перестановок: Полиэдральная, Рубиковая, Симметричная,. . . Последовательность Прюфера и коды Грея
Печать Структурная распечатка: красивая печать в ASCII / Unicode, LaTeX Генерация кода: C, Fortran, Python
Зависимости Начиная с версии 1.0, SymPy имеет пакет mpmath в качестве необходимого.
Есть несколько дополнительных зависимостей, которые могут расширить его возможности:
gmpy: Если установлен gmpy, полиномиальный модуль SymPy будет автоматически использовать его для более быстрых вычислений. Это может повысить производительность некоторых операций в несколько раз. matplotlib: если установлен matplotlib, SymPy может использовать его для построения графиков. Pyglet: альтернативный пакет для построения графиков.
Примечания
Категория:Свободное программное обеспечение, написанное на Python Категория:Свободное математическое программное обеспечение Категория:Статьи с примерами кода Python