Note: This page has been translated by MathWorks. Please click here

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

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

Was this topic helpful?