Uploaded by Evgeniya Nikiforova

доклад СКМ Maxima

advertisement
Система компьютерной математики Maxima. Её возможности и
назначение .
В настоящее время получили большое распространение специальные программные средства,
позволяющие провести весь цикл разработки какой-либо математической модели: от поиска и просмотра
необходимой литературы до непосредственного решения задачи (аналитического и/или численного) и
подготовки отчёта или статьи к печати. К такому средству относится система аналитических
вычислений Maxima (и вычислительная среда Octave). Эта программная среда (пакет) — хороший выбор
для проведения любой учебной задачи или серьёзного исследования, где требуется математика — от
курсовой работы до научной или инженерной разработки высокого класса. С помощью этих пакетов
проще готовить и выполнять задания, устраивать демонстрации и гораздо быстрее решать
исследовательские и инженерные задачи.
В настоящее время компьютерные программы этого класса (проприетарные — Maple, Mathematica,
MATLAB, MathCad, Maxima и др., или с открытым кодом Maxima) находят самое широкое
применение в научных исследованиях, становятся одним из обязательных компонентов компьютерных
технологий, используемых в образовании.
Эти системы имеют дружественный интерфейс, реализуют множество стандартных и специальных
математических операций, снабжены мощными графическими средствами и обладают собственными
языками программирования. Всё это предоставляет широкие возможности для эффективной работы
специалистов разных профилей, о чём говорит активное применение математических пакетов в научных
исследованиях и преподавании.
Для школьников системы компьютерной математики (СКМ) являются незаменимым помощником в
изучении математики, физики, информатики, освобождая их от рутинных расчётов и сосредотачивая их
внимание на сущности метода решения той или иной задачи. Применение СКМ позволяет
решать целый спектр новых трудоёмких, но интересных задач: от упрощения громоздких алгебраических
выражений, аналитического решения уравнений и систем с параметрами, графических построений, до
анимации графиков и пошаговой визуализации самого процесса решения. Учащимся предоставляется
возможность выполнять более содержательные задания и получать наглядные результаты. Это
способствует закреплению знаний и умений, приобретённых ими при изучении других школьных
дисциплин, помогает в полной мере проявлять свои творческие и исследовательские способности.
История возникновения и развития 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 5.28 вполне может соперничать с нынешними лидерами среди программ компьютерной
алгебры — коммерческими и дорогими системами Maple и Mathematica [4]. Для каждой ОС существуют
две реализации системы — консольная Maxima и версия с GUI — wxMaxima.







Рис. 1. Окно терминальной версии Maxima 5.28
Уже в начале работы видны некоторые особенности этой программы. Ввод чисел и буквенных
символов обычный. Круглые скобки (открывающая и закрывающая) появляются сразу при открытии
скобки «(». А вот завершение ввода точкой с запятой необычно — в данном случае это задает вывод
результата вычислений. (У многих других систем точка с запятой, наоборот, запрещает вывод
результата.) Интересно отметить возможность работы с очень большими числами — это считается
важным достоинством систем компьютерной алгебры. В терминальной версии выводятся даже числа
в ряд строк.
Строки ввода и вывода идентифицируются как (%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)
22
(%o11) cos (x) – sin (x)
(%i12) diff(sin(x)*cos(x),x,2)
(%o12) – 4 cos(x) sin(x)
(%i13) derivabbrev:true …
Здесь приведено только несколько первых примеров на вычисление производных в аналитическом
виде с помощью функции diff.
Установка и запуск программы
Скачать последнюю версию программы можно с её сайта в сети Интернет:Русская локализация сайта:
http://maxima.sourceforge.net/ru/.
Ввод простейших команд Maxima
Все команды вводятся в поле ВВОД, разделителем команд является символ ; (точка с запятой). После
ввода команды необходимо нажать клавишу Enter для её обработки и вывода результата. В ранних
версиях Maxima и некоторых её оболочках (например, xMaxima) наличие точки с запятой после каждой
команды строго обязательно. Завершение ввода символом $ (вместо точки с запятой) позволяет
вычислить результат введённой команды, но не выводить его на экран. В случае, когда выражение надо
отобразить, а не вычислить, перед ним необходимо поставить знак ' (одинарная кавычка). Но этот
метод не работает, когда выражение имеет явное значение, например, выражение
заменяется на
значение равное нулю.
Две одинарных кавычки последовательно, применённые к выражению во входной строке, приводят
к замещению входной строки результатом вычисления вводимого выражения.
Использование СКМ позволяет эффективно усваивать и закреплять знания, получаемые школьниками
и студентами при изучении общих и специальных математических дисциплин, а также использовать
возможности компьютерной математики для выполнения самостоятельных научно–исследовательских
работ, подготовке курсовых и дипломных проектов по различным дисциплинам. Начинать лучше со
школы. Во-первых, школьника проще заинтересовать решением и проверкой трудных для него задач, а
во-вторых, в будущем останутся навыки ориентирования в сложном мире математики.
Благодаря своей открытости, Maxima достаточно широко используется и активно развивается как в
плане расширения круга и сложности решаемых задач, так и в плане модернизации интерфейса
пользователя. В настоящее время у системы Maxima имеется мощный, эффективный и
«дружественный» кроссплатформенный графический интерфейс, типичный, для Windows – приложений,
который называется wxMaxima. Любую версию
Maxima можно скачать с официального
сайта http://maxima.sourceforge.net
Основными преимуществами программы Maxima являются:
возможность свободного использования. Более того, Maxima распространяется с исходным
кодом, написанном на языке Lisp, поэтому пользователь может открыть любой из библиотечных файлов
(они, как правило, текстовые) и изучить алгоритм, по которому работает та или иная функция, а в случае
необходимости создавать свои функции, используя, в том числе, исходный код функций, входящих в
комплект поставки системы,

простота инсталляции и небольшой размер программы (около 80 Мб),

возможность функционирования под управлением различных ОС (Linux[1], Unix, Windows,
Android и др.). В частности, она может быть легко установлена на планшете или смартфоне.

широкий класс решаемых задач; в этом можно убедиться, просматривая справочную подсистему,
широчайший набор средств для графического отображения информации,

Maxima совмещает в себе средство для решения математических задач и язык
программирования, который позволяет самостоятельно писать программы с разветвляющимися и
циклическими алгоритмами.
 широкий класс решаемых задач;
 интерфейс программы на русском языке; наличие справки и инструкций по работе с программой


К недостаткам программы, на наш взгляд, можно отнести:
отсутствие возможности прямого обмена данными с MS Excel,
отсутствие наглядного графического 2D ввода (как это реализовано в MathCAD и реализуется в
Maple), хотя, в отличие от Excel, реализован 2D вывод формул,

Maxima «не умеет» решать неравенства,

Maxima «не находит» общих решений тригонометрических уравнений


Download