ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ
БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«МОРДОВСКИЙ ГОСУДАРСТВЕННЫЙ
ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ ИМЕНИ М. Е. ЕВСЕВЬЕВА»
Физико-математический
факультет
Кафедра информатики и
вычислительной техники
Дисциплина
«Системы компьютерной математики»
Реферат на
тему:
«Обзор
пакетов расширений системы Maxima»
Выполнила:
студентка группы МДМ-116
И. В. Кошелева
Проверил:
доцент
кафедры информатики и
вычислительной техники
Т. В. Кормилицына
Саранск 2020
Содержание
Введение. 3
1 О системе Maxima. 5
1.2 Исторические
сведения о системе Maxima. 6
2 Исследование
возможностей библиотеки пакетов системы Maxima. 8
2.1 Пакеты
расширения визуализации решений математических задач и алгоритмы решения задач. 8
2.2 Пакеты
расширения для решения задач математической статистики и алгоритмы решения
задач. 9
Заключение. 13
Список
используемой литературы.. 14
Современный
мир обусловлен активной компьютеризацией. Все области жизни человека становятся
технологизированы. Наука все более информатизирована. В частности математика,
как область науки, не остаётся в стороне от информационных технологий. Именно
поэтому исследования в области решения специальных задач путем применения
программы Maxima является особенно актуальным в наше время.
Maxima
– система для работы с символьными и численными выражениями, включающая
дифференцирование, интегрирование, разложение в ряд, преобразование Лапласа,
обыкновенные дифференциальные уравнения, системы линейных уравнений,
многочлены, множества, списки, векторы, матрицы и тензоры. Maxima производит
численные расчеты высокой точности, используя точные дроби, целые числа и числа
с плавающей точкой произвольной точности. Система позволяет строить графики
функций и статистических данных в двух и трех измерениях.
Исходный
код Maxima может компилироваться на многих системах, включая Windows, Linux и
MacOS X. На SourceForge доступны исходные коды и исполняемые файлы для Windows
и Linux.
Maxima
– потомок Macsyma, легендарной системы компьютерной алгебры, разработанной в
начале 60-х. Это единственная основанная на Macsyma система, все еще публично
доступная и имеющая активное сообщество пользователей благодаря своей
открытости. Macsyma произвела в свое время переворот в компьютерной алгебре и
оказала влияние на многие другие системы, в числе которых Maple и Mathematica.
Работу над Maxima вел
Уильям Шелтер с 1982 года и до своей смерти в 2001 году. В 1998 году он получил
разрешение на публикацию исходного кода под лицензией GPL. Выживание Maxima
стало возможным только благодаря его усилиям и способностям, мы очень
благодарны ему за уделенные проекту время и знания эксперта, которые поддерживали
код DOE Macsyma актуальным и качественным. После его смерти была сформирована
группа пользователей и разработчиков, ставящая своей целью донести Maxima до
широкой аудитории.
В
рамках проекта создания искусственного интеллекта в 1967 году в Массачусетском
технологическом институте была инициирована разработка первой системы
компьютерной алгебры Macsyma. Программа в течение многих лет использовалась и
развивалась в университетах Северной Америки, где появилось множество вариантов
системы. Maxima является одним из таких вариантов, созданным профессором
Вильямом Шелтером (William Schelter) в 1982 году. В 1998 году он получил
официальное разрешение Министерства энергетики США на выпуск Maxima под
лицензией GPL. А начиная с 2001 года Maxima развивается как свободный
международный проект, базирующийся на SourceForge [2].
В
настоящее время Maxima – это система компьютерной математики, которая
предназначена для выполнения математических расчетов (как в символьном, так и в
численном виде) таких как:
–
упрощение выражений;
–
графическая визуализация вычислений;
–
решение уравнений и их систем;
–
решение обыкновенных дифференциальных уравнений и их систем;
–
решение задач линейной алгебры;
–
решение задач дифференциального и интегрального исчисления;
–
решение задач теории чисел и комбинаторных уравнений и др.
В
системе имеется большое количество встроенных команд и функций, а также
возможность создавать новые функции пользователя. Система имеет свой
собственный язык. Она также имеет встроенный язык программирования высокого
уровня, что говорит о возможности решения новых задач и возможности создания
отдельных модулей и подключения их к системе для решения определенного круга
задач.
История
проекта, известного сейчас под именем Maxima, началась в конце 60-х в
Массачусетском технологическом институте, где в рамках проекта MAC была создана
программа символьных вычислений, получившая название Macsyma (MAC Symbolic
MAnipulation). Языком программирования был выбран Lisp. Как показало время, это
был полностью оправданный выбор, поскольку и сейчас этот язык не только
существует, но и продолжает развиваться.
Macsyma
была первой программой символьных вычислений, и много положений ее идеологии
были позже заимствованы известными сейчас коммерческими продуктами Maple и
Mathematica. Macsyma была закрытым коммерческим проектом, поскольку его
финансировали, в частности, и военные организации.
В
1982 г. профессор Уильям Шелтер на основе кода Macsyma начал создавать
собственную версию программы под названием Maxima. В 1998 г. Шелтеру удалось
получить от DOE & DOD права на публикацию кода по лицензии GPL. С этого
момента Maxima позиционируется как свободное программное обеспечение с открытым
кодом. Сам проект Macsyma прекратил свое существование в 1999 г., но У. Шелтер
продолжал заниматься разработкой Maxima вплоть до своей смерти в 2001 г. И
после его смерти программа продолжает активно развиваться.
Инсталляция
Maxima содержит два варианта: консольный (XMaxima) и с графическим интерфейсом
(wmMaxima). Система имеет много локализаций, в том числе и русскую. При этом во
время инсталляции автоматически выбирается та локализация, языковая раскладка
которой по умолчанию является основной. Вместе с тем следует заметить, что
русская локализация последних версий является достаточно несовершенной, в ней
отсутствует перевод очень многих команд и текста в окнах. Остается только надеяться,
что вопрос локализации – это вопрос только времени. Базовая функциональность
системы значительно расширяется специализированными пакетами, предназначенными
для работы с размерными величинами, дополнительными функциями для работы с
матрицами, работы с графами и т. п. Они есть в составе инсталляции системы и
для работы с ними пользователю необходимо во время работы просто загрузить
нужный пакет.
2.1 Пакеты расширения визуализации решений математических
задач и алгоритмы решения задач
Пакет
Draw.
Загружается пакет с помощью команды load(draw),
в который входят:
функция
draw2d
(опции, explicit
(имя_функции, независимая_переменная, min,
max),
опции) – функция, предназначенная для построения графиков на плоскости с
применением большого количества дополнительных опций:
–
xrange,
yrange
– установлены по умолчанию – определяют промежуток изменения значений
переменной по осям Ox и Oy.
В случае необходимости, можно изменять значений вручную. Например, xrange
= [-2, 3];
–
grid
– в случае, если grid=true,
на координатной плоскости выводятся линии сетки;
–
title
– позволяет выводить заголовок к графику функции. Например, title
= "Exponential function";
–
xlabel,
ylabel
– позволяют выводить подписи к осям. Например, ylabel
= "Population";
–
xtics,
ytics
– позволяют устанавливать цену деления по осям Ox
и Oy,
с которой будут наноситься метки на оси. Имеет значение по умолчанию, однако их
действием можно управлять вручную. Например, можно задать, чтобы метки по оси Ox
наносились на промежутке от -3 до 3 с шагом 0,2: xtics=
[ -3, 0.2, 3]. Также можно указать, в каком виде выводить подписи к осям:
–
xaxis, yaxis – в случае, если значения этих опций равны true, координатные оси
выводятся на экран;
–
xaxis_width, yaxis_width – ширина координатных осей (по умолчанию ширина равна
1). Для изменения толщины оси необходимо изменить значение по умолчанию
вручную, например, xaxis_width=3;
–
xaxis_type, yaxis_type – стиль линии осей Ox и Oy. Допустимые значения: solid и
dots;
–
xaxis_color, yaxis_color – цвет координатных осей (по умолчанию – черный). Для
изменения цвета оси необходимо изменить значение опции вручную, например,
xaxis_color = red;
–
color – позволяет изменять цвет графика. Например, color=»red» (задается до
слова explicit);
–
line_width – позволяет изменять толщину линии графика функции (значение по
умолчанию – 1);
–
line_type – позволяет изменять стиль линии графика функции. Допустимые
значения: solid и dots и др.
Заметим,
что опции draw могут быть глобальными (тогда в команде draw они стоят после
графического объекта) и локальными (тогда их нужно писать перед графическим
объектом, поскольку, если таковых несколько, у каждого могут быть свои опции).
Пакет
Maxima включает мощный модуль для линейного и нелинейного оценивания параметров
различных моделей с использованием метода наименьших квадратов –
пакет lsquares.
Основная функция пакета lsquares
– это функция lsquares_estimates.
Функция
предназначена для оценки параметров, лучше всего соответствующие уравнению e
в переменных x по набору данных D определяются методом методом
наименьших квадратов. Функция lsquares_estimates сначала пытается
отыскать ищет точное решение, и если это не удаётся, ищет приблизительное решение.
Возвращаемое значение – список вида [a = ..., b = ..., c =
...].
Элементы
списка обеспечивают минимум среднеквадратичной ошибки. Данные D должны быть
матрицей. Каждый ряд - одна запись или один случай, каждый столбец
соответствует значениям некоторой переменной. Список переменных x дает название
для каждого столбца D (даже для столбцов, которые не входят в анализ).
Список параметров содержит названия параметров, для которых отыскиваются
оценки. Уравнение e является выражением или уравнением в переменных x и a;
если e записано не в форме уравнения, его рассматривают как уравнение e
= 0. Если некоторое точное решение может быть найдено при помощи solve,
данные D могут содержать и нечисловые значения.
Дополнительные
аргументы lsquares_estimates определены как уравнения и передаются
дословно функции lbfgs, которая используется, чтобы найти оценки
численным методом, когда точный результат не найден. Однако, если никакое
точное решение не найдено, у каждого элемента D должно быть числовое значение,
в том числе константы (такие как %pi и %e) или числовые литералы (целые числа, rationals,
обычные плавания, и bigfloats). Численные расчеты выполнены с обычной
арифметикой с плавающей запятой, таким образом все другие виды чисел преобразованы
к значениям с плавающей точкой. Для работы с lsquares_estimates
необходимо загрузить эту функцию командой load(lsquares).
Для
расчёта невязок для уравнения при подстановке в него данных, содержащихся в
матрице, можно использовать функцию lsquares_residuals (D, x, e, a)
(смысл параметров тот же, что и для функции lsquares_estimates).
Система
Maxima
содержит ряд функций для выполнения статистических расчётов (описательной
статистики), объединённые в пакет descriptive.
Функции, входящие в состав descriptive,
позволяют выполнить расчёт дисперсии, среднеквадратичного отклонения, медианы,
моды и т.п.
Названия
функций и краткое описание выполняемых ими действий приведены в таблице.
Таблица 1
Функция
|
Выполняемые действия
|
Синтаксис вызова и
примечания
|
Mean
|
Вычисление среднего
|
mean (list) или
mean (matrix)
|
Geometric_mean
|
Вычисление среднего
геометрического
|
geometric_mean(list) или
geometric_mean(matrix)
|
Harmonic_mean
|
Вычисление
среднего
гармонического
|
harmonic_mean(list) или
harmonic_mean(matrix)
|
Cor
|
Вычисляет
корреляционную матрицу
|
cor
(matrix) или cor
(matrix,
logical_value);
logical_value
равна true
или
false
(false
- при расчёте по ковариационной матрице)
|
Cov, cov1
|
Вычисляет
ковариационную матрицу
|
cov1
(matrix), cov
(matrix)
|
Median
|
Вычисляет медиану
|
median (list), median
(matrix)
|
Std, std1
|
Вычисляет
среднеквадратичное отклонение (корень квадратный из var или var1)
|
аналогично var
|
Var,
var1
|
Вычисляет дисперсию
случайной величины
|
var1 (matrix), var
(matrix), var1 (list),
var (list)
|
Central_moment
|
Вычисляет центральный
момент порядка k
|
central_moment (list, k),
central_moment (matrix,
k)
|
Noncentral_moment
|
Вычисляет
момент порядка k
|
noncentral_moment (list, k), noncentral_moment
(matrix,
k)
|
Skewness
|
Вычисление асимметрии
|
Skewness (list), skewness
(matrix)
|
Kurtiosis
|
Вычисление эксцесса
|
kurtosis(list),
kurtosis(matrix)
|
Quantile
|
Вычисление p-квантиля
|
quantile (list, p),quantile
(matrix, p)
|
Maxi,
mini
|
Выбор наибольшего и наименьшего значения
в выборке соответственно
|
maxi(list), maxi(matrix),
mini(list), mini(matrix)
|
Mean_deviation,
Median_devation
|
Сумма абсолютных отклонений от среднего
или медианы соответственно
|
Аналогично mean,
median
|
Range
|
Размах вариации выборки
|
range (list), range
(matrix)
|
List_correlations
|
Возвращает список, включающий две
матрицы - матрицу, обратную ковариационной, и матрицу частных коэффициентов
корреляции
|
list_correlations (matrix),
list_correlations (matrix,
logical_value)logical_value равна
true или false (false
- при расчёте по ковари-
ационной матрице)
|
Subsample
|
Аналог функции
submatrix
|
|
Global_variances
|
возвращает список, содержащий различные
виды дисперсии
|
global_variances (matrix)
|
Maxima – система для работы с символьными и численными
выражениями, включающая дифференцирование, интегрирование, разложение в ряд,
преобразование Лапласа, обыкновенные дифференциальные уравнения, системы
линейных уравнений, многочлены, множества, списки, векторы, матрицы и тензоры.
Maxima производит численные расчеты высокой точности, используя точные дроби,
целые числа и числа с плавающей точкой произвольной точности. Система позволяет
строить графики функций и статистических данных в двух и трех измерениях.
Исходный
код Maxima может компилироваться на многих системах, включая Windows, Linux и
MacOS X. На SourceForge доступны исходные коды и исполняемые файлы для Windows
и Linux.
Maxima
– потомок Macsyma, легендарной системы компьютерной алгебры, разработанной в
начале 60-х в MIT. Это единственная основанная на Macsyma система, все еще
публично доступная и имеющая активное сообщество пользователей благодаря своей
открытости. Macsyma произвела в свое время переворот в компьютерной алгебре и
оказала влияние на многие другие системы, в числе которых Maple и Mathematica.
Работу
над Maxima вел Уильям Шелтер с 1982 года и до своей кончины в 2001 году. В 1998
году он получил разрешение на публикацию исходного кода под лицензией GPL.
Выживание Maxima стало возможным только благодаря его усилиям и способностям,
мы очень благодарны ему за уделенные проекту время и знания эксперта, которые
поддерживали код DOE Macsyma актуальным и качественным. После его кончины была
сформирована группа пользователей и разработчиков, ставящая своей целью донести
Maxima до широкой аудитории.
1. Губина, Т. Н. Решение дифференциальных
уравнений в системе компьютерной математики Maxima: учебное пособие /
Т. Н. Губина, Е. В. Андропова – Елец : ЕГУ им. И. А. Бунина,
2009. – 99 с.
2. Лабораторный практикум «Основы работы в
математическом пакете wxMaxima» [Электронный ресурс]. – Режим доступа:
http://pedgazeta.ru/pages/ 2012/05/11/end_1336725923.pdf
3. Математический практикум с применением
пакета Maxima [Электронный ресурс]. – Режим доступа:
http://www.pmtf.msiu.ru/chair31/ students/spichkov/maxima2.pdf.
4. Система компьютерной алгебры Maxima
[Электронный ресурс]. – Режим доступа: http://maxima.sourceforge.net/ru/.
5. Чичкарёв, Е. А. Компьютерная математика с Maxima / Е. А.
Чичкарев. – М.: ALT Linux, 2012. – 384 с.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.