1. Пояснительная записка

Алгебра матриц

Алгебра матриц.

 

Основные операторы, используемые при решении типичных задач.

 

matrix( m,n,[list] ) - оператор задания матриц;

m  - количество строк матрицы;

n - количество столбцов матрицы;

[list] - список элементов матрицы;

 

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

> C:=matrix([[5,4],[6,3]]);

 

> matrix(2,2,0);

 

 

randmatrix( m,n ) - оператор случайного выбора матриц;

m  - количество строк матрицы;

n - количество столбцов матрицы;

 

> B:=randmatrix(3,3);

 

 

row(A,i), row(A,i..k) - представление строки (строк) матрицы в виде вектора (векторов);

col(A,i), col(A,i..k) - представление столбца (столбцов) матрицы в виде вектора (векторов);

A - матрица;

i..k – номера строк (столбцов);

 

> row(A,1..2);

> col(A,2);

 

 

matadd(A,B) - оператор матричного сложения;

A,B - матрицы;

 

> matadd(A,B);

 

 

multiply( A,B, ...) - оператор матричного умножения;

А, ... - матрицы;

 

> multiply(A,B);

> multiply(B,A);

> multiply(A,C);

 

 

 

 

scalarmul(A,expr) - умножение матрицы на число;

A - матрица;

expr - число;

 

> scalarmul(C,2);

 

 

mulrow(A,r,expr) - умножение строки матрицы на число;

mulcol(A,c,expr) - умножение столбца матрицы на число;

A - матрица;

r,c - индекс строки (столбца);

expr - число;

 

> mulrow(C,2,3);

 

> mulcol(C,1,1/3);

 

 

 

inverse(A) - оператор нахождения обратной матрицы;

A - квадратная матрица;

 

> inverse(A);

 

rowdim(A) - количество строк матрицы;

coldim(A)  - количество столбцов матрицы;

A - матрица;

 

> rowdim(A);

 

swaprow(A,r1,r2) - перемена местами двух строк матрицы;

swapcol(A,c1,c2)  - перемена местами двух столбцов матрицы;

A - матрица;

r1,c1,r2,c2 - индексы переставляемых строк (столбцов);

 

> swaprow(A,1,2);

 

transpose(A) - оператор транспонирования матрицы;

A - квадратная матрица;

 

delrows(A,r..s) - оператор удаления строк матрицы;

delcols(A,r..s) - оператор удаления столбцов матрицы;

A - матрица;

r..s – индексы удаляемых строк (столбцов) матрицы, r<s;

 

> delrows(A,1..2);

> delcols(A,2..3);

 

 

gaussjord(A) – приведение матрицы к треугольному виду при помощи алгоритма Гаусса-Жордана;

A – матрица.

 

 

Задания:

 

 

Выполните умножение матриц.

 

 

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

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

>  M:=multiply(M1,M2);

 

 

Найдите значение многочлена   f(x)=  от данной матрицы.

 

 

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

> evalm(2*M3^2-3*M3+4);

 

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

 

 

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

> inverse(M4);

 

 

Найдите ранг данной матрицы.

 

> L:=matrix(4,4,[1,-1,5,7,-1,-3,2,4,3,5,1,-1,7,9,7,1]);

> rank(L);

 

 

Решите матричное уравнение        * X=

 

Введем обозначения:

 

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

> B:=matrix(3,3,[19,7,6,7,3,1,11,3,4]);

 

 

 

Уравнение примет вид A*X=B. Его решением будет матрица X=A-1*B (если A-1 существует).

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

 

> C:=inverse(A);

> X:=multiply(C,B);

 

 

 

 

 

 

 

Найдите все матрицы, перестановочные с данной матрицей А=

 

 

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

> B:=matrix(2,2,[x1,x2,x3,x4]);

> multiply(B,A);

> multiply(A,B);

Равенство матриц означает равенство их элементов, занимающих одинаковые места.

Следовательно, получаем:

2x1+7x2=2x1+x3,

  x1 -  x2=2x2+x4,

2x3+7x4=7x1-x3,

  x3 -  x4=7x2-x4.

 

Эти равенства дают нам систему четырех уравнений с четырьмя неизвестными:

7x2 - x3 = 0,

  x1 - 3x2 - x4 = 0,

7x1 - 3x3 - 7x4 = 0,

7x2  -  x3 = 0.

Решим полученную систему линейных уравнений. 

> M:=matrix(4,4,[0,0,7,-1,1,-3,0,-1,7,0,-3,-7,0,7,-1,0]);

 

> B:=matrix(2,2,[ 52/49*x^4, 1/49*x^4, 1/7*x^4,x4]);gaussjord(M);

 

Общее решение с.л.у. имеет вид:  (   , , , x4), где x4 - любое действительное число.

Ответ:         , где x4 - любое действительное число.