subspace
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(abs(A'*B))
.
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
Tips
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.
Extended Capabilities
Version History
Introduced before R2006a