Maxima — написанная на языке CL / Common Lisp (диалект языка программирования Лисп) система компьютерной алгебры, имеющая широкий набор средств для проведения аналитических и численных вычислений.
Система компьютерной алгебры (СКА / CAS / Computer Algebra System) — прикладное приложение для символьных вычислений, преобразования и работы с математическими равенствами и формулами как с последовательностью символов. Появились СКА в начале 1960-х годов и поэтапно развивались, в основном в двух направлениях (теоретическая физика и создание искусственного интеллекта).
Система компьютерной алгебры Maxima предназначена для работы с символьными и численными выражениями, включая дифференцирование, интегрирование, разложение в ряд, преобразование Лапласа, обыкновенные дифференциальные уравнения, системы линейных уравнений, многочлены, списки, векторы, матрицы и тензоры.
История проекта Maxima началась ещё в конце 1960-х годов, когда в рамках существовавшего в те годы большого проекта MAC началась работа над программой символьных вычислений, получившей название Macsyma (MAC Symbolic MAnipulation). Архитектура системы была разработана к июлю 1968 года, а непосредственно программирование началось в июле 1969 года. В качестве языка программирования был выбран Lisp, а история показала насколько это был правильный выбор, так как из существующих в то время языков программирования он единственный продолжает развиваться и сейчас.
Принципы положенные в основу проекта позднее были заимствованы наиболее активно развивающимися и сейчас коммерческими программами (Mathematica и Maple), таким образом Macsyma фактически стала родоначальником всего направления систем символьной математики. Так как Macsyma являлась закрытым коммерческим проектом, активность её развития и компании контролирующие направление развития неоднократно менялись.
В 1982 году профессор Уильям Шелтер (William Schelter) начал разрабатывать свою систему компьютерной математики, на основе того же кода под названием Maxima, в 1998 году профессору удалось получить права на публикацию кода под свободной лицензией. Проект Macsyma прекратил своё существование в 1999 году, а Уильям Шелтер продолжил заниматься Maxima до своей смерти (в 2001 году), но проект продолжил активно развиваться группой пользователь и разработчиков, а участие в нём является лучшей визитной карточкой для математиков и программистов всего мира.
Система компьютерной алгебры Maxima является консольным приложением и отрисовывает все математические формулы обычными текстовыми символами, поэтому она не требовательна к системным ресурсам и может использоваться как "ядро" для математических приложений с графическим интерфейсом. Утилита rmaxima является версией maxima с поддержкой автозаполнения команд.
Xmaxima — официальный C (си) / Tcl (Tk) графический интерфейс (GUI) для консольных утилит maxima и rmaxima, значительно упрощающий доступ к большинству возможностей системы компьютерной алгебры.
Принципы работы с Maxima не зависит от используемого интерфейса, лишь в редких случаях они ведут себя по разному. Вводимые имена функций и переменных чувствительны к регистру, хотя это и не в новинку тем кто уже имел дело с POSIX-совместимыми операционными системами. Это также удобно с точки зрения математика, для которого тоже привычно что заглавными и строчными буквами могут обозначаться разные объекты (например множества и их элементы, соответственно).
Особенности Maxima заключаются в том что её работа во многом похожа на традиционную "ручную" работу с математическими формулами, что практически сводит на нет психологический барьер в начале знакомства с приложением. Даже на начальном этапе пользователь фактически избавлен от наиболее рутинных действий, например отслеживания текущих значений символов, что позволяет полностью сосредоточится на поставленной задаче.
Maxima для редактирования научных текстов может использовать платформу для подготовки и редактирования документов GNU TeXmacs, которая позволяет экспортировать документы в ряд популярных форматов, включая TeX/LaTeX и HTML/MathML. Для построения графиков используется gnuplot, консольная утилита для создания 2D и 3D графиков.
Maxima очень гибкий и универсальный инструмент проведения математических вычислений, для приложения имеется очень подробная и постоянно обновляемая документация (в том числе на русском).
Лицензия: GNU General Public License version 2.0 (GPLv2)