MATLAB Function Reference
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(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 .

• ```theta - pi/2
ans =
0
```

 subsindex subsref