stringtranslate.com

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

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 ), которые могут выполняться более эффективно.

Интерфейсы

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

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

Примеры кода Maxima

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

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

bfloat ( sqrt ( 2 )), fpprec = 40 ; 

Функция

f ( х ) := х ^ 3 $ж ( 4 );

Расширять

развернуть (( а - б ) ^ 3 );

Фактор

фактор ( x ^ 2 - 1 );

Решение уравнений

решить ( x ^ 2 + a * x + 1 , x );     

Решение уравнений численным методом

найти_корень ( cos ( x ) = x , x , 0 , 1 );     

bf_find_root ( cos ( x ) = x , x , 0 , 1 ), fpprec = 50 ;        

Неопределенный интеграл

интегрировать ( x ^ 2 + cos ( x ), x );   

Определенный интеграл

интегрировать ( 1 / ( x ^ 3 + 1 ), x , 0 , 1 ), ratsimp ;      

Численный интеграл

quad_qags ( sin ( sin ( x )), x , 0 , 2 )[ 1 ];   

Производный

дифф ( cos ( x ) ^ 2 , x , 3 );  

Предел

предел (( 1 + sinh ( x )) / exp ( x ), x , inf );  

Теория чисел

простые числа ( 10 , 20 ); 

фиба ( 10 );

Ряд

сумма ( 1 / x ^ 2 , x , 1 , inf ), симпсум ;    

Расширение серии

Тейлор ( sin ( x ), x , 0 , 9 );   

niceindices ( powerseries ( 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. ^ Barnes, David J. & Chu, Dominique (2010). "Глава 5". Введение в моделирование для биологических наук . Springer . ISBN 978-1-84996-325-1.
  4. ^ "wxMaxima, интерфейс на основе документов для системы компьютерной алгебры Maxima" . Получено 29.11.2021 .
  5. ^ "Maxima-Jupyter". GitHub . 13 октября 2021 г.
  6. ^ "GMaxima :: Home". Архивировано из оригинала 2018-07-28 . Получено 2014-04-02 .
  7. ^ "Кантор". cantor.kde.org . Получено 2020-01-15 .
  8. ^ "Kayali download". SourceForge . 19 апреля 2013 г. Получено 31 мая 2015 г.
  9. ^ "Flathub — магазин приложений и сервис сборки для Linux". flathub.org . Получено 27.09.2019 .
  10. ^ Мортенсон, Элиас (27 августа 2019 г.), GitHub - lokedhs/maxima-client: клиент Maxima. , получено 27 сентября 2019 г.

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

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