III Элементы векторов и матриц и преобразование списков в векторы и матрицы
Министерство образования и науки Российской Федерации ФГБОУ ВО «Удмуртский Государственный Университет»
Институт математики, информационных технологий и физики
Кафедра алгебры и топологии
Курсовая работа по теме:
Пакет Mapleи его использование для решения задач линейной алгебры.
Выполнила студентка 2 курса
группы ОАБ-01.03.01-21,
ЛазянАрминеКареновна
Проверила: Банникова Татьяна Михайловна
Содержание:
IВведение
IIОсновные определения линейной алгебры
IIIЭлементы векторов и матриц и преобразование списков в векторы и матрицы
IVОперации с векторами
V Операции над матрицами с численными элементами и символьные операции с матрицами
VI Пакет линейной алгебры linaglсистемы
VII Решение систем линейных уравнений
VIIIЗаключение
Список литературы
I Введение
Maple- программный пакет, система компьютерной алгебры. Создана в компании WaterlooMapleInc., которая основана в 1984 году и выпускает и продвигает на рынке ряд программных продуктов, ориентированных на сложные математические вычисления, визуализацию данных и моделирование. Система Maple предназначена для символьных вычислений, хотя имеет ряд средств и для численного решения дифференциальных уравнений и нахождения интегралов. Обладает развитыми графическими средствами. Имеет собственный язык программирования.
|
|
Maple состоит из ядра - процедур, написанных на языке С и в высшей степени оптимизированных, библиотеки, написанной на Maple-языке, и интерфейса. Ядро выполняет большинство базисных операций. Библиотека содержит множество команд - процедур, выполняемых в режиме интерпретации. Программируя собственные процедуры, пользователь может пополнять ими стандартный набор и, таким образом, расширять возможности Maple.
Интерфейс Maple в настоящее время разнится в зависимости от используемой техники. Приводимые примеры были опробованы на IBM PC для DOS-версии и Windows-версии, сведения об интерфейсе Windows-версии даны в приложении. Этот интерфейс основан на концепции рабочего поля (worksheet) или документа, содержащего строки ввода, вывода и текст, а также графику.
Работа в Maple проходит в режиме сессии (session) - пользователь вводит предложения (команды, выражения, процедуры и др.), которые воспринимаются Maple. Если ввод предложения завершается разделителем ";", то в строке под предложением сразу будет отклик: результат исполнения команды или сообщение об ошибке. Разделитель ":" используется для "отложенного" ввода. Нажатие Enter запускает исполнение предложения. Если введено законченное предложение, то следует выполнение, иначе Maple ожидает завершения предложения. Обнаружив ошибку, Maple печатает на следующей строке сообщение о ней; при ошибке в написании имени команды символом "^" отмечается первая неузнанная литера.
|
|
По умолчанию результаты сеанса сохраняются в файле с расширением 'ms'. Если задан режим сохранения состояния сеанса (session), то в файле с расширением 'm' будут записаны текущие назначения.
Maplesoft продаёт как студенческую, так и профессиональные версии Maple, с существенной разницей в цене.
Недавние студенческие версии (начиная с шестой) не имели вычислительных ограничений, но поставлялись с меньшим объёмом печатной документации. Так же различаются студенческая и профессиональная версии пакета Mathematica.
Задача курсовой работы научится решать задачи линейной алгебры с помощью пакта Maple.
II Основные определения линейной алгебры
Прежде чем перейти к рассмотрению обширных возможностей пакетов Maple в решении задач линейной алгебры, рассмотрим краткие определения, относящиеся к ней.
Матрица (m×n) — прямоугольная двумерная таблица, содержащая m строк и n столбцов элементов, каждый из которых может быть представлен числом, константой, переменной, символьным или математическим выражением (расширительная трактовка матрицы).
|
|
Квадратная матрица — матрица, у которой число строк m равно числу столбцов n. Пример квадратной матрицы размера 3×3:
Определитель матрицы — это многочлен от элементов квадратной матрицы, каждый член которого является произведением n элементов, взятых по одному из каждой строки и каждого столбца со знаком произведения, заданным четностью перестановок.
Сингулярная (вырожденная) матрица — квадратная матрица, у которой детерминант (определитель) равен 0. Такая матрица обычно не упрощается при символьных вычислениях. Линейные уравнения с почти сингулярными матрицами могут давать большие погрешности при решении.
Единичная матрица — это квадратная матрица, у которой диагональные элементы равны 1, а остальные элементы равны 0. Ниже представлена единичная матрица размера 4×4:
Сингулярные значения матрицы А — квадратные корни из собственных значений матрицы transpose(A)∙А, где transpose(A) — транспонированная матрица А (см. ее определение ниже).
Транспонированная матрица — матрица, у которой столбцы и строки меняются местами, то есть элементы транспонированной матрицы удовлетворяют условию AT(i,j)=A(j,i). Приведем простой пример.
|
|
Исходная матрица:
Транспонированная матрица:
Обратная матрица — это матрица М-1, которая, будучи умноженной на исходную квадратную матрицу М, дает единичную матрицу Е.
Ступенчатая форма матрицы соответствует условиям, когда первый ненулевой элемент в каждой строке есть 1 и первый ненулевой элемент каждой строки появляется справа от первого ненулевого элемента в предыдущей строке, то есть все элементы ниже первого ненулевого в строке — нули.
Диагональ матрицы — расположенные диагонально элементы Аi,i матрицы А. В приведенной ниже матрице элементы диагонали представлены заглавными буквами:
Обычно указанную диагональ называют главной диагональю — для матрицы А, приведенной выше, это диагональ с элементами А, Е и L. Иногда вводят понятияподдиагоналей (элементы d и k) и наддиагоналей (элементы b и f). Матрица, все элементы которой, расположенные кроме как на диагонали, поддиагонали и наддиагонали, равны нулю, называется ленточной.
Ранг матрицы — наибольший из порядков отличных от нуля миноров квадратной матрицы.
Как известно, обычная система линейных уравнений имеет вид:
Здесь а1,1, а1,2, …, an,n — коэффициенты, образующие матрицу А и могущие иметь действительные или комплексные значения, х1, х2, …, хn — неизвестные, образующие вектор X и b1, b2, …, bn — свободные члены (действительные или комплексные), образующие вектор В. Эта система может быть представлена в матричном виде как АХ=В, где А — матрица коэффициентов уравнений, X — искомый вектор неизвестных и В — вектор свободных членов. Из такого представления системы линейных уравнений вытекают различные способы ее решения: X=В/А (с применением матричного деления), X=А-1В (с инвертированием матрицы А) и так далее.
III Элементы векторов и матриц и преобразование списков в векторы и матрицы
Элементы векторов и матриц в Maple являются индексированными переменными, то есть место каждого элемента вектора определяется его индексом, а у матрицы — двумя индексами. Обычно их обобщенно обозначают как i (номер строки матрицы или порядковый номер элемента вектора) и j (номер столбца матрицы). Допустимы операции вызова нужного элемента и присваивания ему нового значения:
V[i] — вызов i-го элемента вектора V;
M[i,j] — вызов элемента матрицы М, расположенного на i-й строке в j-м столбце.
V[i]:=x — присваивание нового значения х i-му элементу вектора V;
M[i,j]:=x — присваивание нового значения х элементу матрицы М.
Прежде всего, надо обратить внимание на то, что векторы и матрицы, хотя и похожи на списки, но не полностью отождествляются с ними. В этом можно убедиться с помощью следующих примеров (файл vmop), в которых функция type используется для контроля типов множественных объектов (векторов и матриц):
> М1:=[1,2,3,4];
M1 := [1, 2, 3, 4]
> type(M1,vector);
False
> V:=convert(M1,vector);
V := [1, 2, 3, 4]
> type(V,vector);
True
> М2:=[[1,2],[3,4]];
М2 := [[1,2], [3, 4]]
> type(М2,matrix);
False
> M:=convert(M2,matrix);
> type(M,matrix);
True
Таким образом, используя функцию преобразования данных convert, можно преобразовывать одномерные списки в векторы, а двумерные — в матрицы. Функция type используется в следующих формах:
type(V,vector) — тестирует аргумент V и возвращает true, если V — вектор, и false в ином случае;
type(M.matrix) — тестирует аргумент М и возвращает true, если М — матрица, и false в ином случае.
Здесь параметры vector и matrix используются для указания того, какой тип объекта проверяется. Обратите внимание на то, что матрицы отображаются иначе, чем двумерные списки — без двойных квадратных скобок. Отображение вектора подобно отображению одномерного списка, поэтому здесь особенно важен контроль типов данных.
IV Операции с векторами
Важное достоинство систем компьютерной алгебры, к которым относится и Maple, заключается в возможности выполнения аналитических (символьных) операций над векторами и матрицами. Перед проведением символьных операций с векторами и матрицами рекомендуется очистить память от предшествующих определений с помощью команды restart. Если какие-то элементы векторов или матриц были ранее определены, это может привести к очень сильным искажениям вида конечных результатов. Очистка памяти устраняет возможность ошибок такого рода.
Приведем примеры операций над векторами (файл vectop):
> V:=array(1..4,[1,2,3,4]);(Задает вектор)
V:= [1, 2, 3, 4]
> [V[1], V[2], V[4]];(Выбирает и выписывает координаты вектора)
[1, 2, 4]
> V[1]:=a: V[3]:=b; (Заменяет координаты вектора)
> evalm(V);
[a, 2, b, 4]
> evalm(V+2); (Прибавляем к заданным координатам константу)
[a + 2, 4, b + 2, 6]
> evalm(2*V); (Умножаем заданные координаты на константу)
[2 a, 4, 2 b, 8]
> evalm(V^V); (Возводим в степень)
[a, 2, b, 4]V
> evalm(a*V); (Умножаем вектор на константу)
[a², 2 a, a b, 4 a]
vectdim(V) — возвращает размер вектора V;
curl — вычисляет ротор вектора;
diverge — вычисляет дивергенцию векторной функции;
vectdim — определяет размерность вектора;
dotprod(a,b) -скалярное произведение двух векторов ;
crossprod(a,b) -векторное произведение двух векторов;
angle(a,b) -угол между двумя векторами a и b;
norm(а,2) - норму (длину) вектора .
Дата добавления: 2018-08-06; просмотров: 337; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!