Введение

Компьютерная алгебра Maxima ('/m//æ//k//s//ɪ//m//ə/) — мощный программный пакет для выполнения вычислений в области математики и физики. Он написан на Common Lisp и работает на всех POSIX-совместимых платформах, таких как macOS, Unix, BSD и Linux, а также под Microsoft Windows и Android. Это свободное программное обеспечение, распространяемое по лицензии GNU General Public License (GPL).

История

Maxima основана на версии Macsyma 1982 года, разработанной в MIT при финансировании Министерства энергетики США и других государственных учреждений. Билл Шелтер поддерживал версию Macsyma с 1982 года до своей смерти в 2001 году. В 1998 году Шелтер получил разрешение от Министерства энергетики опубликовать свою версию под лицензией GPL. Эта версия, ныне известная как Maxima, поддерживается независимым сообществом пользователей и разработчиков. Maxima не включает в себя многочисленные модификации и улучшения, внесённые в коммерческую версию Macsyma в период с 1982 по 1999 год. Несмотря на то, что основная функциональность остаётся схожей, код, зависящий от этих улучшений, может не работать в Maxima, а ошибки, исправленные в Macsyma, могут сохраняться в Maxima, и наоборот. В 2019 году Maxima участвовала в программе Google Summer of Code под эгидой Международного координационного центра нейроинформатики.

Символические расчеты

Как и большинство систем компьютерной алгебры, Maxima поддерживает различные способы преобразования символьных алгебраических выражений, такие как разложение многочленов на множители, вычисление наибольшего общего делителя многочленов, раскрытие скобок, разделение на действительную и мнимую части, а также преобразование тригонометрических функций в экспоненциальные и обратно. В Maxima реализованы различные методы упрощения алгебраических выражений, содержащих тригонометрические функции, корни и экспоненциальные функции. Она может вычислять символьные первообразные ("неопределенные интегралы"), определенные интегралы и пределы. Maxima способна получать разложения в ряды в замкнутой форме, а также члены рядов Тейлора, Маклорена и Лорана. Она позволяет выполнять матричные операции с символьными элементами. Maxima – это система общего назначения, и некоторые специализированные вычисления, такие как факторизация больших чисел или работа с очень большими многочленами, иногда лучше выполнять в специализированных системах.

Числовые вычисления

Максима специализируется на символьных операциях, но также предоставляет численные возможности, включая целые, рациональные числа и числа с плавающей точкой произвольной точности, ограниченные лишь объемом памяти и временем вычислений.

Программирование

Maxima включает в себя полноценный язык программирования с синтаксисом, напоминающим ALGOL, но семантикой, подобной Lisp. Он написан на Common Lisp и может быть использован программно и расширен, так как базовый Lisp может быть вызван из Maxima. Для построения графиков используется gnuplot. Для вычислений, интенсивно использующих числа с плавающей точкой и массивы, Maxima имеет трансляторы с языка Maxima на другие языки программирования (в частности, Fortran), которые могут выполняться более эффективно.

Специальные функции

Бессель J(0, 4.5); Эйри Ai(1.5);