stringtranslate.com

Максима (программное обеспечение)

Maxima ( / ˈ m æ k s ɪ m ə / ) — это система компьютерной алгебры (CAS), основанная на версии Macsyma 1982 года и все еще находящаяся в разработке. Он написан на 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 ), которые могут выполняться более эффективно.

Интерфейсы

Скриншот интерфейса wxMaxima для Maxima

Для Maxima доступны различные графические пользовательские интерфейсы (GUI):

Примеры кода Максимы

Основные операции

Арифметика произвольной точности

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 ), ratsimp ;      

Числовой интеграл

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 );

Смотрите также

Рекомендации

  1. ^ «Анонс 5.47.0» . 1 июня 2023 г. Проверено 2 июня 2023 г.
  2. ^ «GSOC 2019 успешно завершен »Бельгийская нейроинформатика» .
  3. ^ Барнс, Дэвид Дж. и Чу, Доминик (2010). «Глава 5». Введение в моделирование для биологических наук . Спрингер . ISBN 978-1-84996-325-1.
  4. ^ «wxMaxima, интерфейс на основе документов для системы компьютерной алгебры Maxima» . Проверено 29 ноября 2021 г.
  5. ^ "Максима-Юпитер". Гитхаб . 13 октября 2021 г.
  6. ^ "GMaxima :: Дом" . Архивировано из оригинала 28 июля 2018 г. Проверено 2 апреля 2014 г.
  7. ^ "Кантор". cantor.kde.org . Проверено 15 января 2020 г.
  8. ^ "Загрузка Каяли" . СоурсФордж . 19 апреля 2013 года . Проверено 31 мая 2015 г.
  9. ^ «Flathub — магазин приложений и сервис сборки для Linux». Flathub.org . Проверено 27 сентября 2019 г.
  10. ^ Мортенсон, Элиас (27 августа 2019 г.), GitHub - lokedhs/maxima-client: клиент Maxima. , получено 27 сентября 2019 г.

дальнейшее чтение

Внешние ссылки