И другие программы этой серии
В строго треугольной матрице нули находят
ся и на главной диагонали. В линейной алгебре часто используется приведение мат
риц к той или иной треугольной форме. Оно реализуется следующими функциями:
• rref(A) возвращает приведенную к треугольной форме матрицу, исполь
зуя метод исключения Гаусса с частичным выбором ведущего элемента. По
умолчанию принимается значение порога допустимости для незначитель
ного элемента столбца матрицы, равное (max(size(A))*eps*norm
(A,inf));
• [R,jb] = rref(A) также возвращает вектор jb, так что:
– r = length(jb) может служить оценкой ранга матрицы A;
– x(jb) – связанные переменные в системе линейных уравнений вида
Ax=b;
– A(:,jb) – базис матрицы A;
– R(1:r,jb) – единичная матрица размера r?r;
• [R,jb] = rref(A,tol) осуществляет приведение матрицы к треугольной
форме, используя метод исключения Гаусса с частичным выбором ведуще
го элемента для заданного значения порога допустимости tol;
• rrefmovie(A) показывает пошаговое исполнение процедуры приведения
матрицы к треугольной.
Примеры:
>> s=magic(3)
s=
8
3
4
>> rref(s)
ans =
1
0
0
4.4.5. Определение ортонормированного
базиса матрицы
Вычисление ортонормированного базиса матрицы обеспечивают следующие
функции:
• B = orth(A) – возвращает ортонормированный базис матрицы A. Столбцы
B определяют то же пространство, что и столбцы матрицы A, но столбцы B
ортогональны, то есть B\'*B=eye(rank(A)). Количество столбцов матри
цы B равно рангу матрицы A. Пример:
>> A=[2 4 6;9 8 2;12 23 43]
A=
2
4
6
9
8
2
12
23
43
>> B=orth(A)
B=
0.1453
-0.0414
-0.9885
0.1522
-0.9863
0.0637
0.9776
0.1597
0.1371
• null(A) возвращает ортонормированный базис для нулевого (пустого)
пространства A. Пример:
>> null(hilb(11))
ans =
0.0000
-0.0000
0.0009
-0.0099
0.0593
-0.2101
0.4606
-0.6318
0.5276
-0.2453
0.0487
1
5
9
6
7
2
0
1
0
0
0
1
4.4.7. Определение угла
между двумя подпространствами
Угол между двумя подпространствами вычисляет функция theta = subspace(A,B).