Angle between two subspaces
Syntax
theta = subspace(A,B)
Description
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(A'*B).
Remarks
If the angle between the two subspaces is small, the two spaces are nearly linearly dependent. In a physical experiment described by some observations A, and a second realization of the experiment described by B, subspace(A,B) gives a measure of the amount of new information afforded by the second experiment not associated with statistical errors of fluctuations.
Examples
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
[ Previous | Help Desk | Next ]