Опубликован: 12.03.2015 | Уровень: для всех | Доступ: платный | ВУЗ: Компания ALT Linux
Лекция 5:

Задачи линейной алгебры

5.5 Решение некоторых задач алгебры матриц

Напомним основные определения алгебры матриц. Если m _ n выражений расставлены в прямоугольной таблице из m строк и n столбцов, то говорят о матрице размера m \times n:

\begin{pmatrix}
							a_{11} & a_{12} & \dots & a_{1n}\cr
							a_{21} & a_{22} & \dots & a_{2n}\cr
							\dots  & \dots & \dots & \dots \cr
							a_{m1} & a_{m2} & \dots & a_{mn}
							\end{pmatrix} ( 5.1)

Выражения a ij называют элементами матрицы. Элементы a_{ii} (i = 1 . . . n), стоящие в таблице на линии, проходящей из левого верхнего угла в правый нижний угол квадрата n \times n, образуют главную диагональ матрицы.

\begin{pmatrix}
							a_{11} & a_{12} & \dots & \dots & \dots & a_{1n}\cr
							a_{21} & a_{22} & \dots & \dots & \dots & a_{2n}\cr
							\dots  & \dots & \dots & \dots & \dots & \dots \cr
							a_{i1} & a_{i2} & \dots & a_{ii} & \dots & a_{in}\cr
							\dots  & \dots & \dots & \dots &\dots & \dots \cr
							\dots  & \dots & \dots & \dots & \dots & \dots \cr
							a_{m1} & a_{m2} & \dots & \dots & \dots & a_{mn}
							\end{pmatrix} ( 5.2)

Матрица размером m \times n, (где m \not = n) называется прямоугольной (5.1). В случае если m = n, матрицу называют квадратной матрицей порядка n.

\begin{pmatrix}
							a_{11} & a_{12} & \dots & a_{1n}\cr
							a_{21} & a_{22} & \dots & a_{2n}\cr
							\dots  & \dots & \dots & \dots \cr
							a_{n1} & a_{n2} & \dots & a_{nn}
							\end{pmatrix} ( 5.3)

В частности, матрица типа 1\times n — это вектор–строка: (a_{11}\ a_{12}\ \dots{ }a_{1n}).

Матрица размером m \times 1 является вектором–столбцом: \begin{pmatrix}a_{11}\cra_{21}\cr\dots\cra_{m1}\end{pmatrix} am1

Число (скаляр) можно рассматривать как матрицу типа 1 \times 1 —a_{11}. Квадратная матрица A=\{a_{ij}\} размером n \times n называется:

  • нулевой, если все её элементы равны нулю: \begin{pmatrix}
								0 & 0 & \dots & 0\cr
								0 & 0 & \dots & 0\cr
								\dots  & \dots & \dots & \dots\cr
								0 & 0 & \dots & 0
								\end{pmatrix} _
  • верхней треугольной, если все элементы, расположенные ниже главной диагонали, равны нулю: \begin{pmatrix}
									a_{11} & a_{12} & \dots & a_{1n}\cr
									0 & a_{22} & \dots & a_{2n}\cr
									\dots  & \dots & \ddots & \dots \cr
									0 & 0 & \dots & a_{nn}
									\end{pmatrix} _
  • нижней треугольной, если все элементы, расположенные выше главной диагонали, равны нулю: \begin{pmatrix}
									a_{11} & 0 & \dots & 0\cr
									a_{21} & a_{22} & \dots & 0\cr
									\dots  & \dots & \ddots & \dots \cr
									a_{n1} & a_{n2} & \dots & a_{nn}
									\end{pmatrix} _
  • диагональной, если все элементы, кроме элементов главной диагонали, равны нулю: \begin{pmatrix}
									a_{11} & 0 & \dots & 0\cr
									0 & a_{22} & \dots & 0\cr
									\dots  & \dots & \ddots & \dots \cr
									0 & 0 & \dots & a_{nn}
									\end{pmatrix} _
  • единичной, если элементы главной диагонали равны единице, а все остальные нулю: \begin{pmatrix}
									1 & 0 & \dots & 0\cr
									0 & 1 & \dots & 0\cr
									\dots  & \dots & \ddots & \dots \cr
									0 & 0 & \dots & 1
									\end{pmatrix}

Определителем (детерминантом) матрицы A является число detA или Δ, вычисляемое по правилу: det A = \sum (-1)^{\tilde \lambda} a_{1i_1} a_{2i_2}\dots a_{ni_n}, где сумма распределена на всевозможные перестановки i_1,i_2, \dots,i_n элементов 1, 2, . . ., n и, следовательно, содержит n! слагаемых, причём \tilde \lambda=0, если перестановка чётная, и \tilde \lambda=1, если перестановка нечётная.

Квадратная матрица A называется невырожденной, если её определитель отличен от нуля detA \not = 0. В противном случае detA = 0 матрица называется вырожденной или сингулярной.

С матрицами можно проводить операции сравнения, сложения и умножения.

Две матрицы A=\{a_{ij}\} и B=\{b_{ij}\} считаются равными, если они одного типа, то есть имеют одинаковое число строк и столбцов, и соответствующие элементы их равны \{a_{ij}\}=\{b_{ij}\}.

Суммой двух матриц A=\{a_{ij}\} и B=\{b_{ij}\} одинакового типа называется матрица C=\{c_{ij}\} того же типа, элементы которой равны сумме соответствующих элементов матриц A=\{a_{ij}\} и B=\{b_{ij}\}:\{c_{ij}\}=\{a_{ij}\}+\{b_{ij}\}.

Разность матриц A=\{a_{ij}\} и B=\{b_{ij}\} определяется аналогично: \{c_{ij}\}=\{a_{ij}\}+\{b_{ij}\}.

Произведением числа \hbar и матрицы A=\{a_{ij}\} (или умножением матрицы на число) называется матрица, элементы которой получены умножением всех элементов матрицы A=\{a_{ij}\}A=\{a_{ij}\} на число \hbar: \hbar\cdot A=\{\hbar\cdot a_{ij}\}.

Произведением матриц A=\{a_{ij}\} размерностью m \times n и B=\{b_{ij}\} размерностью n \times s является матрица C=\{c_{ij}\} размерностью m \times s, каждый элемент которой можно представить формулой \{c_{ij}\}=\{a_{i1}b_{1j}+a_{i2}b_{2j}+\dots+a_{in}b_{nj}\}, где i = 1 . . . m, j = 1 . . . s.

Таким образом, произведение матриц A=\{a_{ij}\} и B=\{b_{ij}\} имеет смысл тогда и только тогда, когда количество строк матрицы A=\{a_{ij}\} совпадает с количеством столбцов матрицы B=\{b_{ij}\}. Кроме того, произведение двух матриц не обладает переместительным законом, то есть A\cdot B\ne B\cdot A. В тех случаях, когда A\cdot B = B\cdot A, матрицы A=\{a_{ij}\} и B=\{b_{ij}\} называются перестановочными.

Если в матрице A=\{a_{ij}\} размерностью m \times n заменить строки соответствующими столбцами, то получится транспонированная матрица: A^T=\{a_{ji}\}.

В частности, для вектора–строки a=\{a_1{ }a_2{ }\dots a_{n}\} транспонированной матрицей является вектор–столбец:

a^T=
							\begin{pmatrix}
							a_{11}\cr
							a_{21}\cr
							\dots\cr
							a_{m1}
							\end{pmatrix}

Обратной матрицей по отношению к данной матрице A=\{a_{ij}\} размерностью n \times n, называется матрица A^{-1}=\{a_{ij}\} того же типа, которая, будучи умноженной как справа, так и слева на данную матрицу, в результате даёт единичную матрицу E=\{\delta_{ij}\}, где \delta_{ii}=1, \delta_{ij}=0, при i\ne j:A\cdot A^{-1}= A^{-1}\cdot A = E.

Нахождение обратной матрицы для данной называется обращением данной матрицы. Всякая неособенная матрица имеет обратную матрицу.

Перейдём к конкретным примерам.

Пример 5.2. Для матриц A, B и C проверить выполнение следующих тождеств:

(A\cdot B)\cdot C&=A\cdot (B\cdot C) ( 5.4)
(A^T + B)\cdot C&=A^T\cdot C + B\cdot C ( 5.5)

Из листинга 5.4 видно, что матрицы, получившиеся в результате вычисления левой и правой частей тождества (5.4), равны, следовательно, первое тождество истинно. Для исследования тождества (5.5) из левой части равенства вычитаем правую и получаем нулевую матрицу, что так же приводит к выводу об истинности тождества.

	
>>> A=[1 -2 0; -3 0 4 ]; B=[3 1; 2 0; -1 1 ]; C=[1 2; -1 0 ];
>>> (A*B) *C % Исследование тождества (5.4)
ans =
-2  -2
-14 -26
>>> A* (B*C)
ans =
-2  -2
-14 -26
>>> (A’+B) *C-(A’ * C+B*C) % Исследование тождества (5.5)
ans =
	0 0
	0 0
	0 0
Листинг 5.4. Проверка матричных тождеств (пример 5.2).

Пример 5.3. Проверить является ли матрица симметрической. Квадратная матрица называется симметрической, если A^T= A.

В листинге 5.5 видно, что в результате вычитания из матрицы A транспонированной матрицы A^T получена нулевая матрица, то есть тождество выполнено, и заданная матрица — симметрическая.

	
>>> A=[1 -0.5 1.5; - 0.50 2.5; 1.5 2.5 -2]; A - A’
ans =
0 0 0
0 0 0
0 0 0
Листинг 5.5. Проверка симметрической матрицы (пример 5.3).

Пример 5.4. Проверить, является ли матрица кососимметрической. Квадратная матрица называется кососимметрической, если A^T= -A. Проверив равенство для заданной матрицы (листинг 5.6), убеждаемся в его истинности.

	
>>> A=[0 -0.25 0.75; 0.25 0 -1.25; -0.75 1.25 0]; A’+A
ans =
	0 0 0
	0 0 0
	0 0 0
Листинг 5.6. Проверка кососимметрической матрицы (пример 5.4).

Пример 5.5. Проверить, является ли матрица ортогональной. Квадратная матрица называется ортогональной, если |A|=det A \ne 0$ и $A^T=A^{-1} и A^T= A^{-1} .

Для решения поставленной задачи необходимо вычислить определитель заданной матрицы и убедиться в том, что он не равен нулю. Затем следует транспонировать исходную матрицу и найти матрицу, обратную к ней. Если визуально сложно убедиться в том, что транспонированная матрица равна обратной, можно вычислить их разность. В результате должна получиться нулевая матрица (листинг 5.7).

	
>>> A= [ 0.5  0.7071  0.5; 0.7071  0 -0.7071; 0.5 -0.7071  0.5 ]
A =
	0.50000  0.70710   0.50000
	0.70710  0.00000  -0.70710
	0.50000 -0.70710   0.50000
>>> det (A) % Определитель матрицы A отличен от нуля
ans = -0.99998
>>> A’-inv (A) % При вычитании из транспонированной матрицы A обратной
% к ней матрицы получаем нулевую матрицу, значит A — ортогональная.
ans =
	0.0000e+00   -1.3562e-05  0.0000e+00
	-1.3562e-05  0.0000e+00   1.3562e-05
	0.0000e+00   1.3562e-05   0.0000e+00
Листинг 5.7. Проверка ортогональности матрицы (пример 5.5).

Пример 5.6. Задана матрица A. Показать, что матрица B = 2A-E, где E — единичная матрица — инволютивна. Квадратная матрица называется инволютивной, если B^2= E, где E — единичная матрица.

Решение задачи:

	
>>> A=[6 -15;2 -5]; B=2*A -eye ( 2 ); B^2
ans =
	1 0
	0 1

Пример 5.7. Решить матричные уравнения A \cdot X = B и X \cdot A = B, выполнить проверку.

Матричное уравнение это уравнение вида A \cdot X = B или X \cdot A = B, где X это неизвестная матрица. Если умножить матричное уравнение на матрицу обратную к A, то оно примет вид: A^{-1}\cdot A\cdot X=B\cdot A^{-1} или X\cdot A\cdot A^{-1}=B\cdot A^{-1}. Так как A^{-1}\cdot A=A\cdot A^{-1}=E, а E\cdot X=X\cdot E=X, то неизвестную матрицу X можно вычислить так:X=A^{-1}\cdot B или X=B\cdot A^{-1}. Понятно, что матричное уравнение имеет единственное решение, если A и B — квадратные матрицы n-го порядка, и определитель матрицы A не равен нулю. Как решить матричное уравнение в Octave, показано в листинге 5.8.

	
>>> A=[ 2 3; -2 6 ]; B=[2 5; 2 / 3 5 / 3 ];
% Решение уравнения A · X = B
>>> X=A\B % Первый способ
X =
	0.55556   1.38889
	0.29630   0.74074
>>> X=inv (A) *B % Второй способ
X =
	0.55556 1.38889
	0.29630 0.74074
>>> A*X - B % Проверка A · X - B = 0
ans =
	0.0000e+00   0.0000e+00
	-3.3307e-16  -6.6613e-16
% Решение уравнения X · A = B
>>> X=B/A % Первый способ
X =
	1.222222    0.222222
	0.407407    0.074074
>>> X=B* inv (A) % Второй способ
X =
	1.222222 0.222222
	0.407407 0.074074
>>> X*A - B % Проверка X · A _ B = 0
ans =
	0.0000e+00  0.0000e+00
	1.1102e-16  0.0000e+00
Листинг 5.8. Решение матричного уравнения (пример 5.7).
Алексей Игнатьев
Алексей Игнатьев

Возможна ли разработка приложения на Octave с GUI?

Евгений Ветчанин
Евгений Ветчанин

Добрый день. Я самостоятельно изучил курс "Введение в Octave" и хочу получить сертификат. Что нужно сднлать для этого? Нужно ли записаться на персональное обучение с тьютором или достаточно перевести деньги?

Владимир Мельников
Владимир Мельников
Россия, г. Омск
анна тихонова
анна тихонова
Россия