Documentation |
Angle between two subspaces
theta = subspace(A,B)
theta = subspace(A,B) finds the angle between two subspaces specified by the columns of A and B. If A and B are column vectors of unit length, this is the same as acos(abs(A'*B)).
Consider two subspaces of a Hadamard matrix, whose columns are orthogonal.
H = hadamard(8); A = H(:,2:4); B = H(:,5:8);
Note that matrices A and B are different sizes — A has three columns and B four. It is not necessary that two subspaces be the same size in order to find the angle between them. Geometrically, this is the angle between two hyperplanes embedded in a higher dimensional space.
theta = subspace(A,B) theta = 1.5708
That A and B are orthogonal is shown by the fact that theta is equal to π/2.
theta - pi/2 ans = 0