И другие программы этой серии
Она возвращает угол между двумя подпространствами, натянутыми на столбцы
матриц A и B. Если A и B – векторы столбцы единичной длины, то угол вычисляет
ся по формуле acos(A\'*B). Если некоторый физический эксперимент описыва
220
Операции с векторами и матрицами
Матричные операции линейной алгебры
>> c=chol(pascal(4))
c=
1
1
0
1
0
0
0
0
221
ется массивом A, а вторая реализация этого эксперимента – массивом B, то
subspace(A,B) измеряет количество новой информации, полученной из вто
рого эксперимента и не связанной со случайными ошибками и флуктуациями.
Пример:
>> H = hadamard(20);A = H(:,2:4);B = H(:,5:8);
>> subspace(A,B)
ans = 1.5708
1
2
1
0
1
3
3
1
4.4.10. Обращение матриц – функции inv, pinv
Обращение матриц – одна из наиболее распространенных операций матричного
анализа. Обратной называют матрицу, получаемую в результате деления единич
ной матрицы E на исходную матрицу X. Таким образом, X–1=E/X. Следующие
функции обеспечивают реализацию данной операции:
• inv(X) возвращает матрицу, обратную квадратной матрице X. Предупреж
дающее сообщение выдается, если X плохо масштабирована или близка
к вырожденной. Пример:
>> inv(rand(4,4))
ans =
2.2631
-0.7620
-2.0408
1.3075
4.4.8. Вычисление следа матрицы
След матрицы A – это сумма ее диагональных элементов. Он вычисляется функ
цией trace(A). Пример:
>> a=[2,3,4;5,6,7;8,9,1]
a=
2
3
5
6
8
9
>> trace(a)
ans = 9
4
7
1
4.4.9. Разложение Холецкого
Разложение Холецкого – известный прием матричных вычислений. Функция
chol находит это разложение для действительных симметричных и комплексных
эрмитовых матриц.
• R = chol(X) для квадратной матрицы1 X возвращает верхнюю треугольную
матрицу R, так что R\'*R=Xnew. Если симметрическая матрица Xnew, задан
ная верхней треугольной частью и диагональю матрицы X, не является
положительно определенной матрицей, выдается сообщение об ошибке.
Разложение Холецкого возможно для действительных и комплексных эр
митовых матриц2;
• [R,p] = chol(X) с двумя выходными аргументами никогда не генерирует
сообщение об ошибке в ходе выполнения разложения Холецкого квадрат
ной матрицы X.