Как перемножить матрицы в maple

GeekBrains

Решение задач линейной алгебры в системе MAPLE

Эру создания компьютерной символьной математики принято отсчитывать с начала 60-х годов. Именно тогда в вычислительной технике возникла новая ветвь компьютерной математики, не совсем точно, но зато броско названная компьютерной алгеброй. Речь шла о возможности создания компьютерных систем, способных осуществлять типовые алгебраические преобразования: подстановки в выражениях, упрощение выражений, операции со степенными многочленами (полиномами), решение линейных и нелинейных уравнений и их систем, вычисление их корней и т. д.

Содержание

ВВЕДЕНИЕ ………………………………………………………………………….3
Глава 1 Основные объекты и функции системы MAPLE ………………………..4
1.Основные объекты и системы…………………………………………………..4
2.Переменные, неизвестные и выражения……………………………………….5
3.Функции системы MAPLE …… ……………………………………………….7
Глава 2 Решение задач линейной алгебры с использованием MAPLE ………….9
2.1 Векторная алгебра……………………………………………………………….9
2.2 Действия с матрицами………………………………………………………….11
2.3 Спектральный анализ матрицы………………………………………………..16
2.4 Системы линейных уравнений и матричные уравнения…………………….19
2.5 Решение обыкновенных уравнений…………………………………………. 21
2.6 Решение неравенств……………………………………………………………22
ЗАКЛЮЧЕНИЕ …………………………………………………………………….24
ЛИТЕРАТУРА……………………………………………………………………. 25

Работа содержит 1 файл

курсовая.docx

Глава 2 Решение задач линейной алгебры с использованием MAPLE

2.1 Векторная алгебра

Основная часть команд для решения задач линейной алгебры содержится в библиотеке linalg. Поэтому перед решением задач с матрицами и векторами следует загрузить эту библиотеку командой with(linalg).

Способы задания векторов.

Для определения вектора в Maple используется команда vector([x1,x2,…,xn]), где в квадратных скобках через запятую указываются координаты вектора. Например:

> x:=vector([1,0,0]);

x:=[1, 0, 0]

Координату уже определенного вектора x можно получить в строке вывода, если ввести команду x[i] , где i — номер координаты. Например, первую координату заданного в предыдущем примере вектора можно вывести так:

Вектор можно преобразовать в список и, наоборот, с помощью команды convert(vector, list) или convert(list, vector).

Сложить два вектора a и b можно с помощью двух команд:

Команда add позволяет вычислять линейную комбинацию векторов a и b: , где — скалярные величины, если использовать формат: matadd(a,b,alpha,beta) .

Скалярное, векторное произведение векторов и угол между векторами.

Скалярное произведение двух векторов вычисляется командой dotprod(a,b).

Векторное произведение двух векторов вычисляется командой crossprod(a,b).

Угол между двумя векторами a и b вычисляется с помощью команды angle(a,b).

Норму (длину) вектора , которая равна , можно вычислить с помощью командыnorm(а,2).

Можно нормировать вектор а с помощью команды normalize(a), в результате выполнения которой будет получен вектор единичной длины .

Нахождение базиса системы векторов. Ортогонализация системы векторов по процедуре Грамма-Шмидта.

Если имеется система n векторо в , то с помощью команды basis([a1,a2,…,an]) мо жно найти базис этой системы.

При помощи команды GramSchmidt([a1,a2,…, an]) можно ортогонализовать систему линейно-независимых векторов .

Задание.

1. Даны два вектора: и . Найти и угол между a и b. Для решения этой задачи наберите:

2. Найти векторное произведение , а затем скалярное произведение , где , .

3. Найти норму вектора .

4. Из системы векторов: , , , , выделить базис и ортогонализовать его по процедуре Грамма-Шмидта:

2.2 Действия с матрицами

Для определения матрицы в Maple можно использовать команду matrix(n, m, [[a11,a12,…,a1n], [a21,a22,…,a2m],…, [an1,an2,…,anm]]), где n — число строк, m – число столбцов в матрице. Эти числа задавать необязательно, а достаточно перечислить элементы матрицы построчно в квадратных скобках через запятую. Например:

В Maple матрицы специального вида можно генерировать с помощью дополнительных команд. В частности диагональную матрицу можно получить командой diag. Например:

Генерировать матрицу можно с помощью функции f(i, j ) от переменных i, j – индексов матрицы: matrix(n, m, f), где где n- число строк, m – число столбцов. Например:

Число строк в матрице А можно определить с помощью команды rowdim(A), а число столбцов – с помощью командыcoldim(A).

Арифметические операции с матрицами.

Сложение двух матриц одинаковой размерности осуществляется теми же командами, что и сложение векторов:evalm(A+B) или matadd (A,B). Произведение двух матриц может быть найдено с помощью двух команд:

  1. evalm(A&*B);
  2. multiply(A,B).

В качестве второго аргумента в командах, вычисляющих произведение, можно указывать вектор, например:

Команда evalm позволяет также прибавлять к матрице число и умножать матрицу на число. Например:

Определители, миноры и алгебраические дополнения. Ранг и след матрицы.

Определитель матрицы А вычисля ется командой det(A). Команда minor(A,i,j) возвращае т матрицу, полученную из исходной матрицы А вычеркиванием i-ой строки и j-ого столбца. Минор Mij элемента aij матрицы А можно вычислить командой det(minor(A,i,j)). Ранг матрицы А вычисляется командой rank(A). След матрицы А, равный сумме ее диагональных элементов, вычисляется командой trace(A). 7

Обратная и транспонированная матрицы.

Обратную матрицу А- 1 , такую что А- 1 А=АА- 1 =Е, где Е — единичная матрица, можно вычислить двумя способами:

  1. evalm(1/A);
  2. inverse(A).

Транспонирование матрицы А – это изменение местами строк и столбцов. Полученная в результате этого матрица называется транспонированной и обозначается А'. Транспонированную матрицу А' можно вычислить командойtranspose(A).

Например, используя заданную в предыдущем пункте матрицу А, найдем ей обратную и транспонированную:

Выяснение типа матрицы.

Выяснить положительную или отрицательную определенность матрицы можно при помощи команды definite(A,param),где param может принимать значения: &#39;positive_def&#39; – положительно определена (A>0), &#39;positive_semidef&#39; – неотрицательно определенная , &#39;negative_def&#39; – отрицательно определенная (A<0), &#39;negative_semidef&#39; — неположительно определенная . Результатом действия будет константа true – подтверждение, false – отрицание сделанного предположения. Например:

Проверить ортогональность матрицы А можно командой orthog(A).

Функции от матриц.

Возведение матрицы А в степень n производится командой evalm(A^n). Вычислени е матричной экспоненты возможно с помощью команды exponential(A). Наприм ер:

  1. Даны матрицы: , , . Найти: (AB)C , detA, detB, detC, det[(AB)C]. Наберите:
  1. Дана матрица , найти: detA, , A’, det(M22). Наберите:
  1. Найти ранг матрицы .
  1. Вычислить , где .
  1. Дана матрица . Найти значение многочлена .

2.3 Спектральный анализ матрицы

Собственные числа и собственные векторы матрицы.

Из курса линейной алгебры известно, что если Ах=l х, то вектор х называется собственным вектором матрицы А, а число l– собственным числом, соответствующим данному собственному вектору. Совокупность всех собственных чисел матрицы называется спектром матрицы. Если в спектре матрицы одно и тоже собственное число встречается k раз, то говорят, что кратность этого собственного числа равна k.

Для нахождения собственных чисел матрицы А используется команда eigenvalues(A). Для нахождения собственных векторов матрицы А используется команда eigenvectors(A). В результате выполнения этой команды будут получены собственные числа, их кратность и соответствующие собственные векторы.

Чтобы понять, в каком виде получаются результаты выполнения команды eigenvectors, внимател ьно разберитесь со следующим примером: матрица имеет 3 собственных вектора: , отвечающий собственному числу кратности 1, , отвечающий собственному числу кратности 1, , отвечающий собственному числу кратности 1. Найдем их в Maple:

В строке вывода перечислены в квадратных скобках собственное число, его кратность и соответствующий собственный вектор в фигурных скобках , затем следующие наборы таких же данных.

Характеристический и минимальный многочлены матрицы.

Для вычисления характеристического многочлена матрицы A используется командаcharpoly(A,lambda).

Минимальный многочлен (делитель) матрицы А можно найти с помощью команды minpoly(A,lambda).

Как перемножить большие матрицы

Матрицы: как создать пустую матрицу, как перемножить матрицы?
Здравствуйте! У меня 2 тупых вопроса, тем не менее, на первый гугл не отвечает, на второй что-то.

Как правильно перемножить матрицы?
помогите, пожалуйста, дописать программу. Не могу разобраться, как перемножить матрицы #include.

Как перемножить две матрицы
в чем ошибка ? #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;iostream.h&gt;.

Как перемножить две матрицы разной размерности
Всем доброго дня! Столкнулся с проблемой, что не могу перемножить матрицы в C#. Может вы.

Лабораторная работа в Maple

> Задача 4. Решить задачу линейного программирования с помощью пакета simplex.

> Задача 5. Решить задачу линейного программирования с помощью пакета simplex.

Задачи на исследование функций

> Задача 1. Для функции y=f(x)

1) Найти её экстремумы, построить график.

> Задача 2. Для функции z=f(x,y)

1)построить её график.

GeekBrains

> Задача 3. Для функции z=f(x,y)

1) Найти её экстремумы, построить график.

Записать матрицу А и её транспонированную АТ.

Запись матрицы А.

> AT := transpose ( A );

Транспонированная матрица А.

Задача 2. Сложить матрицы А и В.

Задание матрицы В.

Сложение матриц А и В.

> BT := transpose ( B );

Транспонированная матрица В.

Задача 3. Умножить матрицу А на:

1) матрицу ВТ справа.

2) матрицу Вт слева.

3) вектор-столбец а1.

4) вектор-строку а2.

Умножение матрицы А на транспонированную матрицу В справа.

Умножение матрицы А на транспонированную матрицу В справа.

Задание вектор-столбца а1.

> a 2:= matrix (1,3,[1,5,2]);

Задание вектор-строки а2.

Умножение матрица А на вектор-столбец.

Умножение вектор-строки на матрицу А.

Задача 4. Для квадратной матрицы А:

1) проверить её симметричность.

2) вычислить её определитель.

3) умножить её на число d=-3.

1) Квадратная матрица называется симметричной матрицей,если ее элементы, симметричные относительно главной диагонали, равны между собой, т.е. ai,j=aj,i для всех i, j. В наешм случае матрица не симметричная.

Задание матрицы А.

2) Вычисление определителя матрицы.

Умножение на число.

Задача 5. Для квадратной матрицы А:

Найти обратную матрицу

Проверка равенства А*А1=Е, А1*А=Е.

Применили алгоритм гауссова исключения или гауссово преобразование.

Алгоритм гауссова исключения без деления. Для работы с символьными матрицами последняя команда предпочтительнее, поскольку исключает деление на ноль.

Задача 6. Решить систему линейных уравнений Ax=b.

1) с помощью правила Крамера.

2) с помощью обратной матрицы.

3) с помощью команды linsolve.

3) Команда linsolve ( A , B ) находит вектор (матрицу) X который удовлетворяет уравнению A X = B .

2) Решение с помощью обратной матрицы

1) С помощью правила Крамера:

Задача 7. Для системы АХ=0:

1) Найти ранг матрицы А.

2) Найти решение системы:

x := linsolve ( A , b );

3) Найти базис в пространстве решений системы, ортогонализовать его, ортонормировать.

Задача 8. Для системы АХ=В

1) Найти ранг матрицы А.

2) Найти ранг расширенной матрицы А.

3) Найти решение системы.

Задача 9. Для системы АХ=В:

1) Найти ранг матрицы А.

2) Найти ранг расширенной матрицы

rank ( concat ( A , b ));

3) Найти число обусловленности матрицы А.

Error, (in maximize) invalid input: minimize/continuous expects its 2nd argument, yFP, to be of type , but received _t[1][1] = -infinity

Error, (in minimize/cell/function/multidependence/univariate) invalid input: minimize/continuous expects its 2nd argument, yFP, to be of type , but received _t[1][1] = -infinity

GeekBrains

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *