Просмотр содержимого документа
«Образ пакетов расширений системы MAXIMA Реферат»
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«МОРДОВСКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ ИМЕНИ М. Е. ЕВСЕВЬЕВА»
Физико-математический факультет
Кафедра информатики и вычислительной техники
Дисциплина «Системы компьютерной математики»
Реферат на тему:
«Обзор пакетов расширений системы Maxima»
Выполнила:
студентка группы МДМ-117
Бегмырадова Д
Проверяла:
доцент кафедры информатики и
вычислительной техники
Т. В. Кормилицына
Саранск 2020
Содержание
Введение
1 О системе Maxima
1.2 Исторические сведения о системе Maxima
2 Исследование возможностей библиотеки пакетов системы Maxima
2.1 Пакеты расширения визуализации решений математических задач и алгоритмы решения задач
2.2 Пакеты расширения для решения задач математической статистики и алгоритмы решения задач
Заключение
Список используемой литературы
Введение
Современный мир обусловлен активной компьютеризацией. Все области жизни человека становятся технологизированы. Наука все более информатизирована. В частности математика, как область науки, не остаётся в стороне от информационных технологий. Именно поэтому исследования в области решения специальных задач путем применения программы 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 до широкой аудитории.
1 О системе Maxima
В рамках проекта создания искусственного интеллекта в 1967 году в Массачусетском технологическом институте была инициирована разработка первой системы компьютерной алгебры Macsyma. Программа в течение многих лет использовалась и развивалась в университетах Северной Америки, где появилось множество вариантов системы. Maxima является одним из таких вариантов, созданным профессором Вильямом Шелтером (William Schelter) в 1982 году. В 1998 году он получил официальное разрешение Министерства энергетики США на выпуск Maxima под лицензией GPL. А начиная с 2001 года Maxima развивается как свободный международный проект, базирующийся на SourceForge [2].
В настоящее время Maxima – это система компьютерной математики, которая предназначена для выполнения математических расчетов (как в символьном, так и в численном виде) таких как:
– упрощение выражений;
– графическая визуализация вычислений;
– решение уравнений и их систем;
– решение обыкновенных дифференциальных уравнений и их систем;
– решение задач линейной алгебры;
– решение задач дифференциального и интегрального исчисления;
– решение задач теории чисел и комбинаторных уравнений и др.
В системе имеется большое количество встроенных команд и функций, а также возможность создавать новые функции пользователя. Система имеет свой собственный язык. Она также имеет встроенный язык программирования высокого уровня, что говорит о возможности решения новых задач и возможности создания отдельных модулей и подключения их к системе для решения определенного круга задач.
1.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 Исследование возможностей библиотеки пакетов системы Maxima
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 они стоят после графического объекта) и локальными (тогда их нужно писать перед графическим объектом, поскольку, если таковых несколько, у каждого могут быть свои опции).
2.2 Пакеты расширения для решения задач математической статистики и алгоритмы решения задач
Пакет 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).
Функция
Выполняемые действия
Синтаксис вызова и примечания
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
Для расчёта невязок для уравнения при подстановке в него данных, содержащихся в матрице, можно использовать функцию lsquares_residuals (D, x, e, a) (смысл параметров тот же, что и для функции lsquares_estimates).
Система Maxima содержит ряд функций для выполнения статистических расчётов (описательной статистики), объединённые в пакет descriptive. Функции, входящие в состав descriptive, позволяют выполнить расчёт дисперсии, среднеквадратичного отклонения, медианы, моды и т.п.
Названия функций и краткое описание выполняемых ими действий приведены в таблице.
Таблица 1
Заключение
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 с.