exponenta event banner

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

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

Синтаксис

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