Угол между двумя подпространствами
theta = subspace(A,B)
theta = subspace(A,B) находит угол между двумя подпространствами, заданный столбцами A и B. Если A и B Векторы-столбцы модуля длины, это то же самое, что и acos(abs(A'*B)).
Рассмотрим два подпространства матрицы Адамара, столбцы которой ортогональны.
H = hadamard(8); A = H(:,2:4); B = H(:,5:8);
Обратите внимание, что матрицы A и B разные размеры - A имеет три столбца и B четыре. Не обязательно, чтобы два подпространства были одинаковыми по размеру порядка чтобы найти угол между ними. Геометрически это угол между двумя гиперплосками, встроенными в более высокое размерное пространство.
theta = subspace(A,B)
theta =
1.5708Что A и B ортогональны, показано тем, что theta равно π/2.
theta - pi/2
ans =
0Если угол между двумя подпространствами мал, то два пространства почти линейно зависимы. В физическом эксперименте, описанном некоторыми наблюдениями Aи второе осуществление эксперимента, описанного в B, subspace(A,B) дает меру объема новой информации, предоставленной вторым экспериментом, не связанным со статистическими ошибками колебаний.