Максима (программное обеспечение)
![]() | |
![]() Снимок экрана Maxima: построение двумерного графика функции с помощью пакета gnuplot-x11, работающего в Ubuntu Linux. | |
Разработчики) | Группа Macsyma в Project MAC и волонтеры |
---|---|
Начальная версия | 1982 год |
Стабильная версия | 5.47.0 [1] ![]() |
Репозиторий | |
Написано в | Общий Лисп |
Операционная система | Кросс-платформенный |
Тип | Математическое программное обеспечение |
Лицензия | лицензия 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 ), которые могут выполняться более эффективно.
Интерфейсы [ править ]
![](http://upload.wikimedia.org/wikipedia/commons/thumb/f/f7/WxMaxima_0.7.1_screenshot.png/220px-WxMaxima_0.7.1_screenshot.png)
различные графические пользовательские интерфейсы Для 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]
Примеры кода Maxima [ править ]
Основные операции [ править ]
произвольной точности Арифметика
bfloat ( sqrt ( 2 )), fpprec = 40 ;
Функция [ править ]
е ( Икс ) : = х ^ 3 $
е ( 4 );
Развернуть [ править ]
развернуть (( a - b ) ^ 3 );
Фактор [ править ]
коэффициент ( х ^ 2 - 1 );
Решение уравнений [ править ]
решить ( x ^ 2 + a * x + 1 , x );
Численное решение уравнений [ править ]
find_root ( потому что ( x ) = x , x , 0 , 1 );
bf_find_root ( cos ( x ) = x , x , 0 , 1 ), fpprec = 50 ;
Неопределенный интеграл [ править ]
интегрировать ( x ^ 2 + потому что ( x ), x );
Определенный интеграл [ править ]
проинтегрировать ( 1 / ( x ^ 3 + 1 ), x , 0 , 1 ), отрицательный ;
Числовой интеграл [ править ]
quad_qags ( sin ( sin ( x )), x , 0 , 2 )[ 1 ];
Производная [ править ]
разница ( потому что ( х ) ^ 2 , х , 3 );
Ограничить [ править ]
предел (( 1 + sinh ( x )) / exp ( x ), x , inf );
Теория чисел [ править ]
простые числа ( 10 , 20 );
Фибо ( 10 );
Серия [ править ]
сумма ( 1 / x ^ 2 , x , 1 , инф ), симпсум ;
Расширение серии [ править ]
Тейлор ( грех ( x ), x , 0 , 9 );
niceindices ( powereries ( 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 .
Внешние ссылки [ править ]
![](http://upload.wikimedia.org/wikipedia/commons/thumb/d/df/Wikibooks-logo-en-noslogan.svg/40px-Wikibooks-logo-en-noslogan.svg.png)
![](http://upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/30px-Commons-logo.svg.png)
- Программное обеспечение Common Lisp (язык программирования)
- Программное обеспечение системы компьютерной алгебры для Linux
- Программное обеспечение системы компьютерной алгебры для macOS
- Программное обеспечение системы компьютерной алгебры для Windows
- Кроссплатформенное бесплатное программное обеспечение
- Бесплатные системы компьютерной алгебры
- Бесплатное образовательное программное обеспечение
- Бесплатное программное обеспечение, написанное на Лиспе.
- Программное обеспечение, использующее wxWidgets