подпространство

Угол между двумя подпространствами

Синтаксис

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

Расширенные возможности

Представлено до R2006a