Maxima — свободная система компьютерной алгебры для символьных и численных вычислений, развивающаяся как свободный клон системы Macsyma. Программное обеспечение предназначено для выполнения операций с выражениями в символьной форме, включая упрощение, разложение на множители, дифференцирование и интегрирование, а также для численных вычислений с произвольной точностью. Maxima предоставляет язык командной строки и может быть использована как интерактивная среда для исследования математических выражений, подготовки расчётов и автоматизации алгоритмических задач.
Исторически Maxima развился из проекта Macsyma, разработанного в Массачусетском технологическом институте в 1960–1970-х годах; исходный код Macsyma был затем переработан и выпущен под свободной лицензией, что привело к появлению Maxima как отдельно поддерживаемого проекта. Maxima написана на языке программирования Common Lisp и распространяется с исходными текстами, что обеспечивает портируемость и возможность модификации. Сообщество поддерживает пакет дополнений и интерфейсы, позволяющие интегрировать систему с графическими оболочками и внешними инструментами.
- Символьная алгебра: упрощение выражений, факторизация, раскрытие скобок, работа с символами и параметрами.
- Дифференцирование: символьное и численное дифференцирование функций, вычисление частных производных и градиентов.
- Интегрирование: аналитическое интегрирование выражений, таблицы интегралов, приближённые численные методы.
- Решение уравнений: символьное и численное решение алгебраических и трансцендентных уравнений, систем уравнений.
- Дифференциальные уравнения: решение обыкновенных дифференциальных уравнений аналитическими и численными методами, поддержка начальных и краевых задач.
- Преобразования: преобразования Лапласа и обратные преобразования, преобразования Фурье в аналитическом и численном виде.
- Матрицы и линейная алгебра: операции над матрицами, вычисление собственных значений и векторов, разложение матриц.
- Численные вычисления: арифметика с произвольной точностью, численное интегрирование, оптимизация и работа с большими числами.
- Пользовательские пакеты и расширения: модульная архитектура для добавления специализированных пакетов, библиотек и интерфейсов.
- Интеграция и интерфейсы: взаимодействие с внешними программами и языками, текстовые и графические интерфейсы для удобства работы.