Компьютерная математика с Maxima (рабочее название)

Аннотация
Данная книга посвящена открытым программным средствам, позволяющим провести весь цикл разработки какой-либо математической модели: от поиска и просмотра необходимой литратуры до непосредственного решения задачи (аналитического и/или численного) и подготовки отчета или статьи к печати. В ней предпринята попытка объяснить, что система аналитических вычислений Maxima и (если необходимо) вычислительная среда Octave — хороший выбор для проведения любой учебной задачи или серьезного исследовавия, где требуется математика — от курсовой работы до научной или инженерной разработки высокого класса. С помощью этих пакетов проще готовить и выполнять задания, устраивать демонстрации и гораздо быстрее решать исследовательские и инженерные задачи.

Аудитория: школьники, студенты, преподаватели, возможно — аспиранты, научные работники. При разумном использовании и определенных усилиях на освоение Maxima (при наличии wxMaxima или Texmacs, Emacs) пакет может позиционироваться как полная замена MathCad в Unix-среде. Эта замена не лишена недостатков, но достаточно работоспособна.

Диск
Специализированный LiveCD, включающий пакеты Maxima
Название
Компьютерная математика с Maxima (рабочее название)
Автор
Е. А. Чичкарёв
Серия

Библиотека ALT Linux

Статус
Готовятся
Дата выхода
2008/10

Страниц
~350 с.

Обоснование

В настоящее время компьютерные программы этого класса (проприетарные - Maple, Matbematсa, MATLAB, MathCad и др., - или с открытым кодом) находят самое широкое применение в научных исследованиях, становятся одним из обязательных компонентов компьютерных технологий, используемых в образовании.

Эти системы имеют дружественный интерфейс, реализуют множество стандартных и специальных математических операций, снабжены мощными графическими средствами и обладают собственными языками программирования. Все это предоставляет широкие возможности для эффективной работы специалистов разных профилей, о чем говорит активное применение математических пакетов о научных исследованиях и и преподавании. Для школьников СКМ являются незаменимым помощником в изучении математики, физики, информатики, освобождая их от рутинных расчетов и сосредотачивая их внимание на сущности метода решения той или иной задачи. Применение СКМ позволяет решать целый спектр новых трудоемких, но интересных задач: от упрощения громоздких алгебраических выражений, аналитического решения уравнений и систем с параметрами, графических построений, до анимации графиков и пошаговой визуализации самого процесса решения. Учащимся предоставляется возможность выполнять более содержательные задания и получать наглядные результаты. Это способствует закреплению знаний и умений, приобретенных ими при изучении других школьных дисциплин, помогает в полной мере проявлять свои творческие и исследовательские способности.

Для студентов СКМ — удобное средство решения всевозможных задач, связанных с символьными преобразованиями (математический анализ, высшая математика, линейная алгебра и аналитическая геометрия и т.п.), а также средство решения задач моделирования статических (описываемых алгебраическими уравнениями) и динамических (описываемых дифференциальными уравнениями) систем. Кроме того, добротная СКМ — средство создания графических иллюстраций и документов, содержащих математичекие формулы и выкладки. В настоящее время для проведения расчетов по всевозможным техническим дисциплинам студентами-нематематиками широко используется пакет MatCad, в основе кторого лежит ядро Maple. При некотором навыке и наличии документации связка Maxima+TexMacs или ядро Maxima+интерфейс wxMaxima — вполне разумная замена MatCad в Unix-среде. Кроме того, наличие универсального интерфейся в виде TexMacs или Emacs позволяет объединять в одном документе расчеты, выполненные в Maxima, Octave, Axiom и т.п.

Для научных работников и инженеров СКМ — незаменимое средство анализа постановки всевозможных задач моделирования. Под системами компьютерной математики (СКМ) понимают программное обеспечение, которое позволяет не только выполнять численные расчеты на компьютере, но и производить аналитические (символьные) преобразования различных математических и графических объектов. Все широко известные математические пакеты — Maple, Matlab, Matematica — позволяют проводить как символьные вычисления, так и использовать численные методы. В настоящее время такие системы являются одним из основных вычислительных инструментов компьютерного моделирования в реальном времени и находят применение в различных областях науки. Они открывают также новые возможности для преподавания многих учебных дисциплин, таких как алгебра и геометрия, физика и информатика, экономика и статистика, экология. Применение СКМ существенно повышает производительность труда научного работника, преподавателя вуза, учителя. Конечным продуктом исследования выступают публикации, подготовка, распространение н использование которых в настоящее зремя требует квалифицированного применения компьютера. Это касается редактирования текста, изготовления графических материалов, ведения библиографии, размещения электронных версий в Интернете, поиска статей и их просмотра. Де-факто сейчас стандартными системами подготовки научно-технических публикаций являются различные реализации пакета ТеХ и текстовый редактор Word. Кроме того, необходимы минимальные знания о стандартных форматах файлов, конверторах, программах и утилитах, используемых при подготовке публикаций.

План-проспект

Введение

Возникновение и развитие СКМ, их назначение и возможности. СКМ как эффективное средство повышения производительности при решении математических и вычислительных задач. Коммерческие и свободно распространяемые СКМ.

Основы Maxima

1. Начало работы

Пользовательский интерфейс Maxima (на примере wxMaxima). Работа с меню и клавиатуройсвоение. Числа и операции над ними. Вывод результатов. Действия с рациональными дробями. Наибольший общий делитель. Присваивание значений переменным. Ввод и редактирование выражений. Простейшие расчеты по формулам. Использование результатов предыдущих вычислений. Открытие и сохранение документа. Редактирование и печать документов. Справочная система Maxima.

2. Аналитические (символьные) преобразования и вычисления

Простейшие команды. Maxima в качестве калькулятора. Определение переменных. Типы данных. Метки. Операторы Maxima. Оператор присваивания. Вычисление выражений. Начальные сведения о команде ev и её аргументах.Упрощение алгебраических выражений. Раскрытие скобок и приведение подобных членов. Подстановки. Вычисления с большими числами. Разложение чисел на простые множители.

3. Функции и их графики

Графические возможности Maxima. Анализ возможностей программы gnuplot, основные опции, необходимые для вывода графиков на экран (декартовы, полярные коррдинаты). Примеры для начального уровня: Построение графиков элеменртарных функций. Совмещение нескольких графиков на одном рисунке. Квадратичный трехчлен, корни квадратного уравнения, разложение квадратного трехчлена на линейные множители. Решение задач с использованием уравнений. Графическая иллюстрация получаемых решений. Наибольшее и наименьшее значения функции. Решение экстремальных задач. Функции, определяемые пользователем.

4. Системы уравнений

Задание и решение систем уравнений. Функция solve. Решение систем, содержащих линейные уравнений и полиномы. Примеры для начального уровня: Уравнения прямой и окружности. Аналитическое решение системы двух линейных уравнений. Графическая иллюстрация решения. Решение системы двух (не обязательно линейных) уравнений. Решение задач с использованием систем уравнений. Графическая иллюстрация получаемых решений.

5. Тригонометрические и геометрические задачи

Координаты точки на плоскости. Изображение точек на графике по их координатам. Векторы. Треугольники и другие многоугольники. Использование графических возможностей СКМ для изображения отрезков и многоугольников. Тригонометрические функции в Maxima, упрощение тригонометрических выражений.

Задачи высшей математики с Maxima

1. Стандартные функции в составе Maxima. Перечень и особенности встроенных математических функций.

2. Символьное вычисление выражений. Подробный анализ команды ev. Флаги управления вычислением. Выбор части выражения. Анализ выражений. Выделение коэффициентов. Работа со списками. Специальные функции для работы с выражениями (mapping functions). Подстановки (substitution). Функции assume, at, atvalue и т.п. Флаги управления подстановкой. Упрощение, расширение (expand) и факторизация (factor) выражений. Упрощение различных типов выражений (рациональных, тригонометрических, логарифмических и экспоненциальных, содержащих факториал). Функции trigsimp, trigexpand, trigreduce, ratsimp, radcan. Преобразование полиномов, отыскание наибольшего общего делителя или кратного. Флаги управления преобразоби.ванием выражений.

3. Задачи линейной алгебры.

Создание массивов и операции с ними. Создание матриц. Базовые операции с массивами и матрицами. Специальные матрицы. Манипулирование матрицами (добавление/удаление строк, столбцов и т.п.). Обращение матриц, приведение к треугольной форме, транспонирование, вычисление характеристического полинома, определителя. Собственные числа и собственные векторы. Решение систем линейных уравнений в матричной форме. Факторизация матриц. Ранг матрицы.

4. Решение уравнений и их систем.

Решение алгебраического уравнения. Функции solve(exp, var) и FUNCSOLVE (eqn, g(t) ). Решение линейных систем. Функция LINSOLVE ([exp1, exp2, . . . ], [var1, var2, . . . ] ) Вычисление корней полиномов. Функция ALLROOTS (poly). Интерполяция и отыскание нулей функции. Функции INTERPOLATE (fun, var, a, b) и NEWTON (exp, var, X0, eps). Операции с рядами. Операция суммирования, флаги управления ею. Вычисление произведений (команда PRODUCT).

5. Основные операции математического анализа.

Предел и непрерывность функции. Вычисление пределов. Правило Лопиталя. Дифференцирование функций одной пиеременной. Функция diff. Дифференцирование функций, заданных параметрически. Графики функций. Уравнения касательной и нормали. Асимптоты. Исследование функции, отыскание нулей первой и второй производной. Дифференцирование функций нескольких переменных. Дифференциальные операторы. Интегрирование. Функции integrate(expr,x), integrate(expr,x,a,b). Неопределенный интеграл. Способы интегрирования, замена переменных. Определенный интеграл. Задачи, приводящие к определенному интегралу (геометрические, технические и т.п.). Числовые и степенные ряды. Ряды Тейлора и манипулирование ими. Аппроксимация Падэ. Бесконечные дроби. Классические ряды Фурье. Интграл и преобразование Фурье. Вычисление прямого и обрабного преобразования Лапласа. Примеры задач.

6. Решение дифференциальных уравнений в Maxima

Типы задач, связанных с ОДЕ. Задача Коши, граничная задача. Аналитические методы решения и типы ОДЕ. Задание ОДЕ в Maxima. Функции, используемые для решения ОДЕ (bc2, ic1, ic2, desolve, ode2). Решение линейных систем. Особенности решения различных типов уравнений.Решение интегральных уравнений. Функция IEQN (ieqn, unk, tech, n, guess).

Численные методы и программирование с Maxima

1. Программирование на языке уровня пользователя. Управляющие конструкции: IF, BLOCK , GO, CATCH/THROW, DO, FOR. Ввод/вывод (команды READ, DISPLAY, PRINT и др.). Управление вводом/выводом (флаги). Утилиты (clearscreen, getchar, pause, alarmclock). Загрузка файла (LOAD, LOADFILE, AUTOLOAD). Выполнение команд в пакетном режиме (BATCH). Вывод результатов и сохранение в файлы. Прочие команды работы с файлами. Взаимодействие с ОС и отладка командных файлов. Управление ошибками. Точки останова. Трассировка.

2. Встроенные численные методы. Преобразование чисел. Точность представления. флаг numer. Численные методы решения уравнений. Функции find_root, newton. Быстрое преобразование Фурье. Пакет fft и входящие в его состав функции. Ортогональные полиномы. Пакет «ortopoly». Ряды Фурье по ортогональным полиномам. Пакет l-bfgs. Численная минимизация. Пакет mnewton. Решение систем нелинейных алгебраических уравнений. Вычисление интеграла численно. Пакет «romberg». Пакет «quadpack». Статистический анализ с Maxima. Пакеты «descriptive» «distrib» «lsquares». Проверка гипотез. Пакет «stats».

3. Моделирование динамических систем. Пакет «plotdf».Фазовые портреты автономных систем. Построение траекторий и поля направлений для решения ОДУ.Пакет «dynamics». Интегрирование систем ОДУ.Динамические фракталы. Функции evolution, ifs,orbit и др. Встроенный интегратор Maxima (функция rk).

Обрамление Maxima

1. Графические иинтерфейсы Maxima (оболочка wxMaxima, оболочка xMaxima, редакторы TexMacs и Emacs).

2. Графика Maxima. Выполнение графических иллюстраций. Варианты вывода иллюстраций ( Gnuplot, mgnuplot, openmath, GeomView). Команды plot, graph, plot2, plot3. Форматы графических файлов. Особенности работы с русским языком.

3. Взаимодействие с другими программами. Макроязык gnuplot. Установка типа терминала, кодировки, шрифтов. Экспорт в формат tex.. Генерация кода на фортране. Совместное использование Maxima и Octave, Maxima и R, другие возможные варианты.

4. Низкоуровневое программирование с Maxima. Вставка кода на Lisp.

5. Настройка загрузки Maxima. Среда исполнения, опции настройки.

Моделирование с Maxima

1. Исследование и моделирование колебательных систем. Влияние демпфирования. Колебательный контур, RLC-цепи.

2. Моделирование динамических систем. Расчет траектрии тела, брошенного под углом к горизонту. Дижение частицы в магнитном поле. Разделение изотопов. Кинетика химических реакций. Моделирование систем массового обслуживания и марковских систем. Интегрирование уравнений Колмогорова.

3. Идентификация моделей. Использование размерностей.

Литература по аналогичным пакетам

1.Аладьев В. З. Системы компьютерной алгебры: Maple: искусство программирования / В. З. Аладьев. — М.: Лаборатория базовых знаний, 2006. — 792 с.

2.Васильев А. Н. Mathcad 13 на примерах / А. Н. Васильев. — СПб.: БХВ-Петербург, 2006. — 528 с.

3.Воробъев Е. М. Введение в систему символьных, графических и численных вычислений Mathematica 5 / Е. М. Воробъев. — М.: ДИАЛОГ-МИФИ, 2005. — 368 с.

4.Говорухин В. Н. Введение в Maple. Математический пакет для всех / В. Н. Говорухин, В. Г. Цибулин. — М.: Мир, 1997. — 208 с.

5.Гурский Д. А. Вычисления в MathCAD / Д. А. Гурский. — Мн.: Новое знание, 2003. — 814 с.

6.Гурский Д. Mathcad для студентов и школьников. Популярный самоучитель / Д. Гурский, Е. Турбина. — СПб.: Питер, 2005. — 400 с.

7.Дьяконов В. П. Maple 9 в математике, физике и образовании / В. П. Дьяконов. — М.: СОЛОН-Пресс, 2004. — 688 с.

8.Дьяконов В. П. Справочник по MATHCAD PLUS 7.0. PRO / В. П. Дьяконов. — М.: СК Пресс, 1998. — 352 с.

9.Очков В. Ф. Mathcad 12 для студентов и инженеров / В. Ф. Очков. — СПб.: БХВ-Петербург, 2005. — 464 с.

10.Плис А. И. MATHCAD 2000. Математический практикум для экономистов и инженеров / А. И. Плис, Н. А. Сливина. — М.: Финансы и статистика, 2000. — 656 с.

11.Половко А. М. Derive для студента / А. М. Половко. — СПб.: БХВ-Петербург, 2005. — 352 с.

12.Половко А. М. Mathcad для студента / А. М. Половко, И. В. Ганичев. — СПб.: БХВ-Петербург, 2006. — 336 с.

13.Сдвижков О. А. Математика на компьютере: Maple 8 / О. А. Сдвижков. — М.: СОЛОН-Пресс, 2003. — 176 с.

ALTLinuxHeap: Heap/Books/AltLibrary/MaximaBook (last edited 2008-07-22 15:01:43 by KirillMaslinsky)