Максима (программное обеспечение)
Разработчик(и) | Группа Macsyma в Project MAC и волонтеры |
---|---|
Первоначальный выпуск | 1982 год |
Стабильная версия | 5.47.0 [1]
/ 1 июня 2023 г |
Репозиторий | |
Написано в | Общий Лисп |
Операционная система | Кросс-платформенный |
Тип | Математическое программное обеспечение |
Лицензия | лицензия GPL |
Веб-сайт | максимумы |
Maxima ( / ˈ m æ k s ɪ m ə / ) — мощный пакет программного обеспечения для выполнения вычислений компьютерной алгебры в области математики и физических наук. Он написан на Common Lisp и работает на всех платформах POSIX , таких как macOS , Unix , BSD и Linux , а также под управлением Microsoft Windows и Android . Это бесплатное программное обеспечение , выпущенное на условиях GNU General Public License (GPL).
История
[ редактировать ]Maxima основана на версии Macsyma 1982 года , которая была разработана в Массачусетском технологическом институте при финансовой поддержке Министерства энергетики США и других правительственных учреждений. Версия Macsyma поддерживалась Биллом Шелтером с 1982 года до его смерти в 2001 году. В 1998 году Шелтер получил разрешение Министерства энергетики на выпуск своей версии под лицензией GPL. Эта версия, которая теперь называется Maxima, поддерживается независимой группой пользователей и разработчиков. Maxima не включает в себя ни одну из многих модификаций и улучшений, внесенных в коммерческую версию Macsyma в 1982–1999 годах. Хотя основные функциональные возможности остаются схожими, код, зависящий от этих улучшений, может не работать в Maxima, а ошибки, исправленные в Macsyma, могут все еще присутствовать в Maxima, и наоборот. Maxima приняла участие в Google Summer of Code в 2019 году в рамках Международного координационного центра нейроинформатики . [2]
Символические расчеты
[ редактировать ]Как и большинство систем компьютерной алгебры, Maxima поддерживает множество способов реорганизации символьных алгебраических выражений, таких как полиномиальная факторизация , полиномиальное вычисление наибольшего общего делителя , разложение, разделение на действительную и мнимую части, а также преобразование тригонометрических функций в экспоненциальные и наоборот. Он имеет множество методов упрощения алгебраических выражений, включающих тригонометрические функции, корни и показательные функции. Он может вычислять символические первообразные («неопределенные интегралы»), определенные интегралы и пределы . в замкнутой форме, Он может выводить разложения в ряды а также члены рядов Тейлора-Маклорена - Лорана . Он может выполнять матричные манипуляции с символьными записями.
Maxima — это система общего назначения, а вычисления для особых случаев, такие как факторизация больших чисел , манипулирование чрезвычайно большими полиномами и т. д., иногда лучше выполнять в специализированных системах.
Численные расчеты
[ редактировать ]Maxima специализируется на символьных операциях , но также предлагает числовые возможности. [3] такие как произвольной точности целые числа , рациональные числа и числа с плавающей запятой , ограниченные только ограничениями по пространству и времени.
Программирование
[ редактировать ]Maxima включает в себя полноценный язык программирования с синтаксисом, подобным ALGOL, но Lisp , подобной семантикой . Он написан на Common Lisp , к нему можно обращаться программно и расширять, поскольку базовый Lisp можно вызывать из Maxima. Для рисования используется gnuplot .
Для вычислений с интенсивным использованием чисел с плавающей запятой и массивов у Maxima есть трансляторы с языка Maxima на другие языки программирования (особенно Fortran ), которые могут выполняться более эффективно.
Интерфейсы
[ редактировать ]различные графические пользовательские интерфейсы Для Maxima доступны (GUI):
- wxMaxima [4] — это высококачественный графический интерфейс, использующий платформу wxWidgets . wxMaxima предоставляет структуру ячеек, аналогичную блокноту Mathematica, как показано на рисунке справа.
- Существует ядро для Project Jupyter — гибкого графического интерфейса в стиле блокнота , написанного на Python . [5]
- GMaxima — это интерфейс Maxima, использующий GTK+ . [6]
- Cantor , используя Qt , может взаимодействовать с Maxima (наряду с SageMath , R и KAlgebra ). [7]
- Программы математических редакторов GNU TeXmacs и LyX могут использоваться для предоставления интерактивного графического интерфейса для Maxima, как и SageMath. Другие варианты включают интерфейс Imaxima, а также режим взаимодействия Emacs и XEmacs , который активируется Imaxima.
- Каяли [8]
- Климаксима, [9] интерфейс на основе CLIM . [10]
Примеры кода Максимы
[ редактировать ]Основные операции
[ редактировать ]Арифметика произвольной точности
[ редактировать ]bfloat(sqrt(2)), fpprec=40;
Функция
[ редактировать ]f(x):=x^3$
f(4);
Расширять
[ редактировать ]expand((a-b)^3);
Фактор
[ редактировать ]factor(x^2-1);
Решение уравнений
[ редактировать ]
solve(x^2 + a*x + 1, x);
Численное решение уравнений
[ редактировать ]
find_root(cos(x) = x, x, 0, 1);
bf_find_root(cos(x) = x, x, 0, 1), fpprec = 50;
Неопределенный интеграл
[ редактировать ]
integrate(x^2 + cos(x), x);
Определенный интеграл
[ редактировать ]
integrate(1/(x^3 + 1), x, 0, 1), ratsimp;
Числовой интеграл
[ редактировать ]
quad_qags(sin(sin(x)), x, 0, 2)[1];
Производная
[ редактировать ]
diff(cos(x)^2, x, 3);
Лимит
[ редактировать ]
limit((1+sinh(x))/exp(x), x, inf);
Теория чисел
[ редактировать ]primes(10, 20);
fib(10);
Ряд
[ редактировать ]
sum(1/x^2, x, 1, inf), simpsum;
Расширение серии
[ редактировать ]taylor(sin(x), x, 0, 9);
niceindices(powerseries(cos(x), x, 0));
Специальные функции
[ редактировать ]bessel_j(0, 4.5);
airy_ai(1.5);
См. также
[ редактировать ]- Сравнение систем компьютерной алгебры
- SageMath , бесплатное математическое программное обеспечение, заимствовавшее множество библиотек у Maxima.
Ссылки
[ редактировать ]- ^ «Анонсируем 5.47.0» . 1 июня 2023 г. Проверено 2 июня 2023 г.
- ^ «GSOC 2019 завершился успешно » Бельгийская нейроинформатика» .
- ^ Барнс, Дэвид Дж. и Чу, Доминик (2010). «Глава 5». Введение в моделирование для биологических наук . Спрингер . ISBN 978-1-84996-325-1 .
- ^ «wxMaxima, документированный интерфейс для системы компьютерной алгебры Maxima» . Проверено 29 ноября 2021 г.
- ^ «Максима-Юпитер» . Гитхаб . 13 октября 2021 г.
- ^ "GMaxima::Домой" . Архивировано из оригинала 28 июля 2018 г. Проверено 2 апреля 2014 г.
- ^ «Кантор» . cantor.kde.org . Проверено 15 января 2020 г.
- ^ «Каяли скачать» . СоурсФордж . 19 апреля 2013 года . Проверено 31 мая 2015 г.
- ^ «Flathub — магазин приложений и сервис сборки для Linux» . Flathub.org . Проверено 27 сентября 2019 г.
- ^ Мортенсон, Элиас (27 августа 2019 г.), GitHub — lokedhs/maxima-client: клиент Maxima. , получено 27 сентября 2019 г.
Дальнейшее чтение
[ редактировать ]- Тимберлейк, Тодд Кин; Миксон-младший, Дж. Уилсон (2015). Классическая механика с максимумами . Спрингер. ISBN 978-1-4939-3206-1 .
Внешние ссылки
[ редактировать ]- Программное обеспечение Common Lisp (язык программирования)
- Программное обеспечение системы компьютерной алгебры для Linux
- Программное обеспечение системы компьютерной алгебры для macOS
- Программное обеспечение системы компьютерной алгебры для Windows
- Кроссплатформенное бесплатное программное обеспечение
- Бесплатные системы компьютерной алгебры
- Бесплатное образовательное программное обеспечение
- Бесплатное программное обеспечение, написанное на Лиспе.
- Программное обеспечение, использующее wxWidgets