Новые системы компьютерной алгебры Maxima и wxMaxima

№ 2’2014
PDF версия
Специалисты по компонентам и технологиям давно осознали важность математических методов расчета и проектирования различных изделий. Наряду с матричной системой MATLAB широко применяются системы компьютерной алгебры Maple и Mathematica, позволяющие успешно решать сложнейшие задачи в области аналитических (символьных) вычислений и их графической визуализации. В статье описаны открытые и бесплатные системы компьютерной математики Maxima и wxMaxima (с графическим интерфейсом), способные соперничать с этими коммерческими и дорогими программными продуктами.

История возникновения и развития Maxima

Предшественницей Maxima была одна из первых систем компьютерной алгебры Macsyma, появившаяся еще в 1960-х годах на больших ЭВМ. Работу над ней по заданию Министерства энергетики США (DOE) вел Массачусетский технологический институт (MIT). Система создавалась на языке искусственного интеллекта Lisp.

Университетская разработка, несмотря на ее фундаментальное значение, не смогла выдержать конкуренцию с коммерческими системами компьютерной алгебры для персональных компьютеров Maple и Mathematica, которые заняли первые места на рынке таких систем, развиваемых крупными коллективами ученых, математиков и программистов. И тогда один из главных разработчиков, профессор Техасского университета Уильям Шелтер (William Schelter) получил от DOE разрешение на открытую публикацию кода программы с лицензией GPL под именем Maxima. Он же долгое время разрабатывал как саму Maxima, так и один из диалектов языка Lisp — GCL (GNU Common Lisp), на котором и разрабатывалась эта система. После смерти Уильяма Шелтера в 2001 году развитие Maxima было продолжено его последователями во главе с Джеймсом Эмундсоном (James Amundson).

Как система компьютерной алгебры Maхima обладает следующими возможностями:

  • Операции с полиномами (манипуляция рациональными и степенными выражениями, вычисление корней и т. п.).
  • Вычисления с элементарными функциями.
  • Вычисления со специальными функциями, включая эллиптические функции и интегралы.
  • Вычисление пределов и производных.
  • Аналитическое вычисление определенных и неопределенных интегралов.
  • Решение интегральных уравнений.
  • Решение алгебраических уравнений и их систем.
  • Операции со степенными рядами и рядами Фурье.
  • Операции с матрицами и списками.
  • Решение большого числа задач линейной алгебры.
  • Решение задач интерполяции и приближения различных видов зависимости.
  • Статистические вычисления и реализация метода наименьших квадратов.
  • Операции с тензорами.
  • Функции теории чисел, теории групп и абстрактной алгебры.
  • 2D и 3D графическая визуализация.

Ныне Maxima с графическим интерфейсом пользователя wx открыто распространяется под лицензией GPL и доступна пользователям компьютеров с различными операционными системами (ОС): Linux, MAC и Windows. Новейшая реализация системы Maxima 5.28 появилась 26 августа 2012 г. [1] и сразу привлекла внимание специалистов благодаря своему усовершенствованию и современному графическому интерфейсу пользователя GUI, в том числе русскоязычному.

Предшествующие версии системы описаны в учебных пособиях [2, 3]. Причем вопреки названию учебник [3] содержит глубокое описание систем, полезное разработчикам компонентов и систем различного назначения.

Maxima 5.28 вполне может соперничать с нынешними лидерами среди программ компьютерной алгебры — коммерческими и дорогими системами Maple и Mathematica [4]. Для каждой ОС существуют две реализации системы — консольная Maxima и версия с GUI — wxMaxima.

 

Консольная версия Maxima 5.28

Консольная реализация отличается простой и повышенной эффективностью, так как не требует графического интерфейса и совершенствуется уже почти полвека. Но она нуждается в программе Terminal и воспроизводит математические выражения в упрощенном символьном виде. Окно терминала с системой Maxima 5.28 показано на рис. 1.

Вкладка входа в WEBENCH Filter Designer

Рис. 1. Вкладка входа в WEBENCH Filter Designer

Уже в начале работы видны некоторые особенности этой программы. Ввод чисел и буквенных символов обычный. Круглые скобки (открывающая и закрывающая) появляются сразу при открытии скобки «(». А вот завершение ввода точкой с запятой необычно — в данном случае это задает вывод результата вычислений. (У многих других систем точка с запятой, наоборот, запрещает вывод результата.) Интересно отметить возможность работы с очень большими числами — это считается важным достоинством систем компьютерной алгебры. В терминальной версии выводятся даже числа в ряд строк.

Строки ввода и вывода идентифицируются как (%iN) и (%oN), где i и o означают вход и выход, а N — порядковый номер (задается автоматически). Командные строки запоминаются специальным стеком, их можно вывести в текущую строку клавишами перемещения курсора ввода вверх и вниз.

Документация на систему и справочная информация англоязычные. Для пользователя при знакомстве с любой системой компьютерной математики особое значение имеет обширный набор простых и наглядных примеров применения. С первого взгляда ни таких примеров, ни обычной справки в терминальной версии Maxima нет. Но не стоит спешить с выводами. Достаточно набрать в командной строке команду example(), как появится внушительный список наборов примеров, которые пользователю следует изучить. Для получения справки можно использовать команду describe(имя) или ? имя, где имя — название объекта, по которому нужна справка.

Например:

(%i8) example(diff);
(%i9) kill(f,g,h,x,y)
(%o9) done
(%i10) diff(2*x^2+x^3+sin(x),x)
2
(%o10) cos(x) + 3 x + 4 x
(%i11) diff(sin(x)*cos(x),x)
2 2
(%o11) cos (x) – sin (x)
(%i12) diff(sin(x)*cos(x),x,2)
(%o12) – 4 cos(x) sin(x)
(%i13) derivabbrev:true …

Графический интерфейс пользователя в системе wxMaximaЗдесь приведено только несколько первых примеров на вычисление производных в аналитическом виде с помощью функции diff.

У каждой из этих двух программ есть свои сильные и слабые стороны. Удобный графический интерфейс GUI wxMaxima является ее несомненным достоинством, но в части функциональных возможностей обе программы идентичны. GUI wx является надстройкой над программой Maxima 5.28 и имеет свой номер реализации — 12.08.0. На рис. 2 показан экран компьютера MaсBook Pro при запуске wxMaxima. А на рис. 3 приведено окно wxMaxima в полноэкранном виде и с открытыми панелями General Math и Statistics (слева) и History (справа). Они открываются командой Paneles в позиции Maxima, которая входит в меню. Число панелей минимизировано, но они обеспечивают ввод большинства нужных команд и функций. Ввод командной строки завершается нажатием только клавиши Enter. В командном окне представлено несколько примеров применения wxMaxima, наглядно демонстрирующих возможности GUI — в части представления выражений в общепринятой математической форме установкой в начале строки апострофа.

Окно wxMaxima для компьютеров MAC в начале работы

Рис. 2. Окно wxMaxima для компьютеров MAC в начале работы

Начало работы с wxMaxima для компьютеров MAC

Рис. 3. Начало работы с wxMaxima для компьютеров MAC

Результат вычисления арифметических выражений Maxima выдает в дробно-рациональном виде, сохраняя константы и функции целочисленного и дробно-рационального аргумента (рис. 4). К предшествующим выражениям можно вернуться, используя символ % или обращения к номерам ячеек ввода и вывода. Опция numer или функция float позволяют получить результат в виде числа двойной точности с плавающей точкой.

Примеры работы с выражением

Рис. 4. Примеры работы с выражением

Окно справочной системы представлено на рис. 5. Справка достаточно полная и простая, но англоязычная. Она построена на применении гипертекстовых ссылок. Примеры в справке даны в формате для консольной версии Maxima.

Окно справки wxMaxima для компьютеров MAC

Рис. 5. Окно справки wxMaxima для компьютеров MAC

На рис. 6 показано окно wxMaxima под Windows: с выведенными панелями и примерами вычислений в командном окне. Интересно, что у Windows-версии wxMaxima для исполнения строки нужно вместе с Enter нажимать клавишу Ctrl.

Окно с примерами работы и панелями wxMaxima для компьютеров с операционной системой Windows

Рис. 6. Окно с примерами работы и панелями wxMaxima для компьютеров с операционной системой Windows

С первого взгляда GUI у версий для компьютеров MAC и PC совершенно одинаков (рис. 3 и 6). При более внимательном сравнении окон GUI становится ясно, что некоторые различия все же есть. Так, номер реализации GUI у версии под Windows немного более ранний, а в меню нет позиции wxMaxima: соответствующие команды перекочевали в позицию Help меню. Эти отличия не принципиальны, и в дальнейшем все примеры будут относиться в равной мере к обеим описываемым вариантам wxMaxima.

Первые четыре позиции меню вводят команды общего характера:

  • «Файл» — стандартные операции работы с файлами.
  • «Правка» — стандартные операции правки в командной строке.
  • Cell — работа с ячейками ввода и вывода (их ввод, исполнение, удаление, вставка и др.).
  • Maxima — некоторые операции при работе с окном командного режима и изменении его формата.

Работа со средствами, имеющимися в этих позициях меню, проста, поэтому мы ее описывать не будем. Отметим лишь несколько широко применяемых средств:

  • Кавычки — обозначают строковое выражение.
  • Двоеточие — присваивание переменным значений, например x:1,23; y:x+1 и т. д.
  • Точка с запятой — в конце строки означает вывод результата ее исполнения.
  • kill(a,b) — стирание переменных списка и обновление нумерации ячеек.
  • kill(all) — стирание всех переменных и обновление нумерации ячеек.
  • Круглые скобки — применяются при линейной записи и записи математических выражений.
  • Квадратные скобки — для введения в них листов.
  • f(x,y) — вызов функции.
  • ** или ^ — возведение в степень.

 

Математические возможности wxMaxima

Математические возможности wxMaxima весьма обширны, и в этой обзорной статье мы рассмотрим лишь некоторые из них. Начать нужно с типов данных. Это числа разного формата, строковые данные, константы, переменные, листы, массивы, векторы и матрицы и т. д.

Перед цифровыми константами ставится знак %, например %e, %pi, %i и %phi (константа золотого сечения). Тот же знак ставится при подстановке последнего выражения, например:

(%i1) [%e,%pi,%phi],numer;
(%o1) [%e,3.141592653589793,1.618033988749895]
(%i2) %e,numer;
(%o2) 2.718281828459045

Следующие, после описанных, четыре позиции меню открывают перед пользователем простые и наглядные средства задания вычислений. Например, позиция «Уравнения» задает выдачу простых панелей для решений уравнений и поиска корней выражений (рис. 7). Уравнения и выражения задаются списком в квадратных скобках. Если число уравнений (выражений) совпадает с числом переменных, то список последних можно не задавать.Есть и другие константы. Система wxMaxima имеет функционально полный набор встроенных элементарных и специальных математических функций. Кроме того, есть множество системных функций и функций из пакетов расширения системы. Последние перед использованием требуют загрузки пакетов функцией load. В справке системы имена пакетов начинаются с малой буквы.

Примеры на решение уравнений и панель для их ввода

Рис. 7. Примеры на решение уравнений и панель для их ввода

Примеры решения уравнения уже приводились (рис. 6). Дадим также примеры по поиску корней полиномов и выражений, а также на решение системы алгебраических уравнений:

(%i3) allroots(3*x^2+2*x–1);
(%o3) [x=0.33333333333333,x=–1.0]
(%i4 ) allroots(x^3+3*x^2+x+1);
(%o4) [x=.5897428050222056*%i–.1153538228806843,x=–.5897428050222056*%i–.1153538228806843, x=–2.769292354238631]
(%i5) bfallroots(x^2-x-1);
(%o5) [x=1/2,y=–(c–a)/(2*c–2*b),z=(b-a)/(2*c–2*b)]
(%i6) realroots(%);
(%o6) [[x=0.33333333333333,x=–1.0]=0]
(%i8) f1:x^2–y^2
(%i9) f2:–1–y+2*y^2-x+x^2
(%i10) algsys([f1,f2],[x,y])
(%o10) [[x=–1/sqrt(3),y=1/sqrt(3)],[x=1/sqrt(3),y=–1/sqrt(3)],
[x=–1/3,y=–1/3],[x=1,y=1]]

Важную роль, особенно при математическом моделировании динамических объектов и систем, играет решение дифференциальных уравнений. На рис. 8 показано аналитическое решение в wxMaxima дифференциальных уравнений второго порядка с помощью функции ode2. Еще ряд примеров можно найти в desolve. Пример численного решения нелинейного дифференциального уравнения второго порядка дан в конце статьи.Как уже отмечалось, Maxima по умолчанию использует вычисления с целыми и рациональными числами. Но в позиции меню «Численные расчеты» можно задать вычисления в формате чисел (в том числе больших) с плавающей точкой.

Демонстрационные примеры решения дифференциальных уравнений

Рис. 8. Демонстрационные примеры решения дифференциальных уравнений

В позиции меню «Алгебра» сосредоточены средства для решения типовых алгебраических задач. Операция Create Matrix выводит панель создания матрицы, показанную на рис. 9. Задаются лист элементов, число элементов в строке и столбце и имя матрицы.

Панель ввода матрицы

Рис. 9. Панель ввода матрицы

Матрица может быть задана и просто функцией matrix со списком листов строчных элементов разного типа:

M:matrix([a,b,c],[1,2,3],[1+2,3*4,5/6])

Примеры на простейшие операции с числовыми матрицами даны на рис. 10. Здесь показаны операция задания квадратной матрицы размером 3×3, ее транспонирования, вычисления детерминанта, обратной матрицы и характеристического полинома. Корни характеристического полинома являются собственными числами матрицы. Обширный набор матричных операторов и функций позволяет решать практически любые задачи линейной алгебры, как в аналитическом, так и в численном виде.Для вызова элемента матрицы используется команда M(m,n), где m — номер строки и n — номер столбца.

Задание числовой матрицы и вычисление ее параметров

Рис. 10. Задание числовой матрицы и вычисление ее параметров

Есть много других матричных функций и средств линейной алгебры. Приведем пример решения в аналитическом виде системы из трех линейных уравнений:

(%i29) z+x = y
(%i30) 2*a*x–y = 2*a^2
(%i31) y–2*z = 2
(%i32) ev(linsolve([%th(3),%th(2),%],[x,y,z]),globalsolve)
(%o32) [x=a+1,y=2*a,z=a–1]
(%o32) done

Завершают позицию «Алгебра» команды создания списка и приложения к элементам списка и матрицы заданных операций:

(%i1) makelist(k^2, k, 1, 5);
(%o1) [1,4,9,16,25]
(%i2) apply(“+“, [a,b,c,d]);
(%o2) d+c+b+a
(%i3) map(sin, [1,2,3]);
(%o3) [sin(1),sin(2),sin(3)]
(%i4) matrixmap(log, [[1,2.0],[3,4]]);
(%o4) [[0,0.69314718055995],[log(3),log(4)]]

В позиции меню «Анализ» сосредоточены средства математического анализа. Они начинаются с наиболее применяемых операций интегрирования, дифференцирования и разложения в ряд Тейлора. Функции интегрирования и дифференцирования уже демонстрировались в этой работе (рис. 3 и 6). Дополнительные примеры вычисления интегралов даны на рис. 11.

Дополнительные примеры вычисления интегралов

Рис. 11. Дополнительные примеры вычисления интегралов

Примеры на вычисление пределов представлены на рис. 12. На их основе можно сделать вывод, что wxMaxima «знает» о существовании пяти пределов и правильно их вычисляет.

Примеры на вычисление пределов

Рис. 12. Примеры на вычисление пределов

Ряд широко распространенных операций математического анализа представлен на рис. 13. Все они вводятся в соответствующих позициях меню «Анализ». Вообще работа с панелями делает ненужным знание сложного синтаксиса задания функций.

Поиск минимума, разложения в ряд Тейлора и вычисление суммы и произведений рядов

Рис. 13. Поиск минимума, разложения в ряд Тейлора и вычисление суммы и произведений рядов

 

Напомним, что для отображения математических выражений в естественной математической форме перед ними нужно ставить знак апострофа. Легко реализуются прямое и обратное преобразования Лапласа, имеющие особое значение при расчете линейных электро- и радиотехнических цепей и систем:

(%o8) laplace(exp(–t)*sin(t), t, s);a
(%o8) 1/(s^2+2*s+2)
(%o9) ilt(1/(s^2+2*s+2), s, t);
(%o9) %e^(–t)*sin(t)

В позиции меню «Упростить» сосредоточены функции упрощения различных алгебраических и тригонометрических выражений, их расширения, разложения на простые множители и др. Например:

(%i1) trigsimp(sin(x)^2+cos(x)^2);
(%o1) 1
(%i2) expand((a+b)*(a–b)*(a+c));
(%o2) –b^2*c+a^2*c–a*b^2+a^3
(%i3) factor(123456);
(%o3) 2^6*3*643

Функции этого класса (а в меню указаны лишь некоторые из них) подробно описаны в литературе по компьютерной алгебре [2–6]. Поэтому в рамках ограниченного объема статьи эти функции более детально мы описывать не будем, как и те функции, которые не вводят с помощью позиций меню.

 

Построение двумерных графиков

В позиции меню «Графики» предусмотрен вывод панелей задания 2D и 3D и их опций. Панель задания двумерного графика представлена на рис. 14, а пример построения графика дан на рис. 15.

Панель задания двумерного графика

Рис. 14. Панель задания двумерного графика

 
 
Пример построения двумерного графика

Рис. 15. Пример построения двумерного графика

Высокое качество графики демонстрирует рис. 16, на котором показана амплитудно-модулированная синусоида. Дискретность графики практически незаметна. Двумерная графика в сочетании с большим числом встроенных элементарных и специальных функций открывает большие возможности в визуализации сигналов и процессов. А большое число опций позволяет разнообразить графики с помощью изменения цвета и стиля линий, выбора типа координатных осей, нанесения на график различных надписей и т. д.

 
Построение графика амплитудно-модулированной синусоиды

Рис. 16. Построение графика амплитудно-модулированной синусоиды

В ранних версиях Maxima большие трудности вызывало построение графиков функций с особенностями — вплоть до полного зависания системы. В новых реализациях такой проблемы нет, что подтверждает рис. 17, на котором построены графики двух таких функций.

Построение двух графиков функций с особенностями

Рис. 17. Построение двух графиков функций с особенностями

 

Построение трехмерных графиков

Трехмерная графика является основой для представления сложных сигналов и визуализации построения пространственных фигур. Панель задания трехмерного графика представлена на рис. 18. В поле «Формат» можно установить следующие форматы графики: по умолчанию, встроенный, gnuplot и openmath. В обычно пустом поле «Опции» можно установить дополнительные опции графики.

Панель задания трехмерного графика

Рис. 18. Панель задания трехмерного графика

 

На рис. 19а дано построение простого графика объемной параболы. Как нетрудно заметить, wxMaxima при построении графика по умолчанию окрашивает построенную поверхность. Характер и стиль графиков можно менять с помощью опций. Это будет показано на примерах, описанных далее. Действие опций подробно описано в справке.

Построение графика

Рис. 19. Построение графика:
а) объемной параболы;
б) функции sin(xy)

 

Другой пример — построение поверхности, представленной синусом произведения х на y, — показан на рис. 19б. Здесь также по умолчанию применена эффективная окраска — светлыми тонами сверху и темными снизу.

Для расширения возможностей графики используется предварительно загружаемый пакет расширения draw. Его функции имеют множество опций, существенно повышающих возможности 3D-графики. Пример применения функции draw2d с рядом опций для построения двух раскрашенных треугольников показан на рис. 20.

Пример построения двух окрашенных треугольников функцией draw2d с опциями

Рис. 20. Пример построения двух окрашенных треугольников функцией draw2d с опциями

 

Сеточная модель объемной параболы, построенная с применением функции draw3d, представлена на рис. 21. Замечательным свойством графики, построенной этой функцией, является возможность масштабирования и поворота графика мышкой.

Построение сеточной модели параболы функцией draw3d

Рис. 21. Построение сеточной модели параболы функцией draw3d

 

Часто теоретические кривые строят линиями, а экспериментальные или узловые точки отображают кружками, ромбиками, знаками * или + и т. д. На рис. 22 дан пример построения такого двумерного графика.

 
Одновременное представление кривой графика и экспериментальных точек

Рис. 22. Одновременное представление кривой графика и экспериментальных точек

Большие возможности в построении трехмерных графиков открывает параметрическое задание функций. Это демонстрирует рис. 23.

График параметрически заданных кривых

Рис. 23. График параметрически заданных кривых

 

Функция plot3d, также благодаря опциям, обеспечивает построение очень большого числа различных графиков. На рис. 24а показан график смещенной объемной параболы. График сложной поверхности с тремя пиками и фрагмент программы для ее представления приведены на рис. 24б.

График: а) смещенной цветной объемной параболы; б) сложной поверхности с тремя пиками

Рис. 24. График:
а) смещенной цветной объемной параболы;
б) сложной поверхности с тремя пиками

 

Большие возможности открывает задание трехмерных фигур в параметрическом виде. Пример этого представления дан на рис. 25.

График сложной 3D-фигуры, параметрически заданный тремя уравнениями

Рис. 25. График сложной 3D-фигуры, параметрически заданный тремя уравнениями

 

При отображении поверхностей широко используются контурные графики, например в картографии. При этом высота точек поверхности задается их цветом. Пример такого построения дан на рис. 26.

 
Контурный график поверхности с высотой, представляемой цветом

Рис. 26. Контурный график поверхности с высотой, представляемой цветом

 

Решение уравнения автогенератора Ван-дер-Поля

Рассмотрим фундаментальную задачу о возникновении колебаний в LCR-контуре, подключенном к активному устройству, способному вносить в контур энергию. Таким устройством может быть электронная лампа, транзистор или микросхема. Ван-дер-Поль показал, что процессы в таком устройстве описываются нелинейным нормированным дифференциальным уравнением второго порядка:

Формула

В wxMaxima есть специальный пакет для анализа нелинейных динамических систем Dynamics. После его загрузки становится доступной функция rk решения дифференциальных уравнений методом Рунге-Кутта. Программа для такого решения и решение в виде фазового портрета колебаний при μ = 0,2 представлены на рис. 27. Фазовый портрет строится в виде параметрически заданного графика.

Программа построения фазового портрета колебаний при μ = 0,2 и фазовый портрет (внизу)

Рис. 27. Программа построения фазового портрета колебаний при μ = 0,2 и фазовый портрет (внизу)

 

Расчетная зависимость формы колебаний показана на рис. 28. Здесь используется загружаемый пакет расширения draw. Видно, что в начале фазовый портрет представляет собой раскручивающуюся спираль, а временные графики зависимости колебаний близки к синусоидальным с нарастающей амплитудой. Но в дальнейшем сказывается нелинейность активной части схемы; амплитуда колебаний перестает увеличиваться, а фазовый портрет стремится к предельной кривой, именуемой предельным циклом. При синусоидальных колебаниях предельный цикл является эллипсом.

Форма колебаний при μ = 0,2

Рис. 28. Форма колебаний при μ = 0,2

 
 

При увеличении μ нелинейность сказывается сильнее, форма колебаний заметно отличается от синусоидальной, а предельный цикл — от эллипса. На рис. 29 представлено построение фазового портрета при μ = 1, а на рис. 30 — форма колебаний для этого случая. При больших значениях μ колебания приобретают характер релаксационных и имеют быстро изменяющиеся участки. Характер и параметры колебаний у предельного цикла не зависят от начальных условий решения и целиком определяются параметрами анализируемого устройства или системы. Это специфика устройств и систем, описываемых данным уравнением.

Фазовый портрет колебаний при μ = 1

Рис. 29. Фазовый портрет колебаний при μ = 1

 
 
Форма колебаний при μ = 1

Рис. 30. Форма колебаний при μ = 1

При больших значениях μ система дифференциальных уравнений становится жесткой и возникают вычислительные трудности в решении. Время решения даже на современных компьютерах (например, MacBook Pro c 4-ядерным процессором Intel i7 с частотой 2,3 ГГц) может достигать десятка минут.

Приведенные примеры показывают, что wxMaxima справляется с подобными задачами, относящимися к классическим задачам динамики устройств и систем. В [3] можно найти примеры анализа поведения химических и биологических систем, аттрактора Лоренца и брюсселятора. Для систем компьютерной алгебры все эти задачи, решаемые численными методами, относятся к числу трудоемких. Рекомендуется перед пуском таких задач очистить память компьютера и провести перезапуск wxMaxima.

 

Вызов Maxima из программы Sage

Одной из самых мощных бесплатных и свободно распространяемых систем компьютерной математики является система Sage («Мудрец»). Эта программа задумана как оболочка, имеющая MATLAB-подобный интерпретирующий язык программирования и мощную графику, она включает в себя целый ряд ранее созданных программных систем компьютерной математики. Но Sage в основном ориентирована на численные расчеты. Поэтому видное место в ней занимает подсистема консольной версии системы компьютерной алгебры Maxima, вызываемая из консольной реализации Sage (рис. 31).

Вызов программы Maxima из меню программы Sage

Рис. 31. Вызов программы Maxima из меню программы Sage

 

Sage имеет свой GUI, реализуемый на основе текущего интернет-браузера. Из него также можно вызывать консольную версию Maxima (рис. 32) и использовать ее как систему компьютерной алгебры для проведения символьных (и других) вычислений. Они были описаны выше.

Консольная версия Maxima, вызванная из системы Sage

Рис. 32. Консольная версия Maxima, вызванная из системы Sage

 
 

Заключение

Новейшая реализация свободно распространяемой системы компьютерной алгебры wxMaxima способна почти на равных соперничать с возможностями лидеров рынка — системами Maple и Mathematica. В математическом смысле Maxima часто работает более строго, но проигрывает в скорости решения трудоемких задач численного математического моделирования. Система имеет современный графический интерфейс пользователя и превосходные функциональные и особенно графические возможности. Систему wxMaxima можно рекомендовать школам и университетам, а также научным работникам, проектировщикам и инженерам для выполнения массовых и повседневных научно-технических расчетов. Эту систему можно применять также для решения фундаментальных задач математического моделирования в различных областях науки и техники. Maxima включена как подсистема в состав мощной системы компьютерной математики Sage.

Литература
  1. www.maxima.sourceforge.net
  2. Стахин Н. А. Основы работы с системой аналитических (символьных) вычислений Maxima (ПО для решения задач аналитических (символьных) вычислений). М.: Федеральное агентство по образованию, 2008.
  3. Чичкарев Е. А. Компьютерная математика с Maxima. Руководство для школьников и студентов. М.: ALT Linux, 2012.
  4. Дьяконов В. П. Энциклопедия компьютерной алгебры. М.: ДМК-Пресс, 2009.
  5. Дьяконов В. П. Maple 10/11/12/13/14 в математических расчетах. М.: ДМК-Пресс, 2011.
  6. Дьяконов В. П. Mathematica 5.1/5.2/6 в математических и научно-технических расчетах. М.: Солон-Пресс, 2012.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *