Угол между двумя подпространствами
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)
дает меру объема новой информации, предоставленной вторым экспериментом, не связанным со статистическими ошибками колебаний.