Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MAPLE.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

2. Дії з матрицями

Визначення матриці

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

> A:=matrix([[1,2,3],[-3,-2,-1]]);

В Maple матриці спеціального виду можна генерувати за допомогою додаткових команд. Зокрема діагональну матрицю можна одержати командою diag. Наприклад:

> J:=diag(1,2,3);

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

> f:=(i, j)->x^i*y^j;

> A:=matrix(2,3,f);

Число рядків у матриці А можна визначити за допомогою команди rowdim(A), а число стовпців – за допомогою команди coldim(A).

Арифметичні операції з матрицями

Додавання двох матриць однакової розмірності здійснюється тими ж командами, що й додавання векторів: evalm(A+B) або matadd(A,B). Добуток двох матриць може бути знайдений за допомогою команди evalm(A&*B).

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

> A:=matrix([[1,0],[0,-1]]);

> B:=matrix([[-5,1], [7,4]]);

> v:=vector([2,4]);

> evalm(A&*v);

> evalm(A&*B);

> matadd(A,B);

Команда evalm дозволяє також додавати до матриці число й множити матрицю на число. Наприклад:

> С:=matrix([[1,1],[2,3]]):

> evalm(2+3*С);

Визначники, мінори й алгебраїчні доповнення. Ранг і слід матриці

Визначник матриці А обчислюється командою det(A). Команда minor(A,i,j) повертає матрицю, отриману з вихідної матриці А викреслюванням i-ого рядка й j-ого стовпця. Ранг матриці А обчислюється командою rank(A). Слід матриці А, дорівнює сумі її діагональних елементів, обчислюється командою trace(A). 7

> A:=matrix([[4,0,5],[0,1,-6],[3,0,4]]);

> minor(А,3,2);

> trace(A);

9

Обернена й транспонована матриці

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

  1. evalm(1/A);

  2. inverse(A).

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

Наприклад, використовуючи задану в попередньому пункті матрицю А, знайдемо їй зворотну й транспоновану:

> inverse(A);

> multiply(A,%);

> transpose(A);

Функції від матриць

Піднсення матриці А до ступеня n здійснюється командою evalm(A^n). Обчислення матричної експоненти можливо за допомогою команди exponential(A). Наприклад:

> Т:=matrix([[5*a,2*b],[-2*b,5*a]]);

> exponential(Т);

> evalm(Т^2);

Приклад 2.

  1. Дано матриці: , , . Знайти: (AB)C . Наберіть:

> with(linalg):restart;

> A:=matrix([[4,3],[7,5]]):

> B:=matrix([[-28,93],[38,-126]]):

> C:=matrix([[7,3],[2,1]]):

> F:=evalm(A&*B&*C);

  1. Дано матрицю , знайти: , A’. Наберіть:

> A:=matrix([[2,5,7],[6,3,4],[5,-2,-3]]);

> transpose(A);

> inverse(A);

  1. Знайти ранг матриці .

> A:=matrix([[8,-4,5,5,9], [1,-3,-5,0,-7], [7,-5,1,4,1], [3,-1,3,2,5]]):

> r(A)=rank(A);

r(A)=3

  1. Обчислити , де .

> exponential([[3,-1],[1,1]]);

  1. Дано матрицю . Знайти значення багаточлена .

> A:=matrix([[5,1,4],[3,3,2],[6,2,10]]):

> P(A)=evalm(A^3-18*A^2+64*A);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]