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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!