Take the 2-minute tour ×

Let $E$ be a finite dimensional real inner product space. I want to define the angle between two subspaces $E_1$ and $E_2$. This has a fairly obvious meaning if $E_1$ is 1-diemsnional: Take the angle between any non-zero vector in $E_1$ and its orthogonal projection onto $E_2$.

There are a number of other cases that can be treated ad-hoc, if one is a hyperplane, or the dihedral angle between planes in $R^3$.

In general, it isn't quite clear what the right definition is. I see two possibilities:

  1. If $p=\dim E_1\le \dim E_2$, consider the two subspace $\lambda^p(E_1)$ and $\Lambda^p(E_2$ of $\Lambda^p(E)$ (which is also an inner product space, and proceed as above, since $\Lambda^p(E_1)$ is a line.

  2. $Hom(E,E)$ is itself an inner product space with the inner product $$ \langle A,B\rangle=trace A^\top B. $$ Let $A_i$ be the orthogonal projection onto $E_i$ and take the angle between $A_1$ and $A_2$.

Are either of these definitions standard? Are they equivalent (I think so)? Is there another definition, perhaps more immediate?

share|improve this question
Didn't you try Google? If you put "angle between subspaces" into Google you will find a ton of stuff there. –  Dick Palais Jul 13 '12 at 17:00
I did go to google. I found lots of things, along the lines of principal angles and the product of their cosines. I don't really understand what that measures; maybe it is one (or both) of the suggestions above. By the way, I have a third possibility: Take the infimum of the angles between pairs of unit vectors, one in $E_1$ and one in $E_2$, and both orthogonal to $$E_1\cap E_2$ (angle $0$ if this set is empy, i.e., if one subspace is a subspace of the other). –  John Hubbard Jul 13 '12 at 17:16
John, what are $\lambda^p$ and $\Lambda^p$? –  Vidit Nanda Jul 13 '12 at 19:16
I think the two definitions aren't equivalent. If one space is generated by the $p$ first vectors of an ON basis, and $B$ is the matrix of orthogonal proj. on a second same dimension subspace, with obvious 2x2 block partition, then the first angle has cosine $\det(B_{11})$ and the second has cosine $tr(B_{11})/p$. In general, I would say that the most general notion of "angle" is the orbit of the pair of subspaces under the orthogonal group. –  BS. Jul 14 '12 at 14:14
I am not sure it can be done in general if $E_1$ and $E_2$ are of different dimensionality. Ideally the angle (or rather its cosine) would be given by the scalar or inner product of $\Lambda_1$ and $\Lambda_2$ where each $\Lambda$ is the exterior product of all the elements in some basis of $E_1$ and $E_2$ respectively, normalised to unity. However the standard definition for the inner product does not apply if $\Lambda_1$ and $\Lambda_2$ are not of the same grade. –  AlexArvanitakis Jul 15 '12 at 1:18

2 Answers 2

There is a standard answer: Principal angles, see http://en.wikipedia.org/wiki/Principal_angles.

Let $p \ge q$ be the dimensions of the two subspaces $E_1$ and $E_2$. Then there is a unique non-increasing sequence $[c_1,c_2,...,c_q]$ with entries in $[0,1]$ (and a matching non-decreasing sequence $[s_1,s_2,...,s_q]$) such that one can have an orthonormal basis for $E$, call it $e_1,e_2,...$, in such a way that one subspace is generated by orthonormal vectors $$e_1,e_2,...,e_p$$ and the other subspace generated by orthonormal vectors $$c_1e_1+s_1e_{p+q},c_2e_2+s_2e_{p+q-1},...,c_qe_q+s_qe_{p+1}.$$ One can see this from the Singular Value Theorem. The principal angles are obviously those angles whose cosines match the $c_i$ values.

This concept captures all of the geometric invariant information relating the positioning of the two subspaces, so any well-defined definition you care to give must be a deterministic function of this sequence of principal angles.

share|improve this answer

Let me confuse you some more. There is a third possibility that is used frequently in functional analysis. Define

$$\delta(E_1,E_2)= \sup_{x\in E_1,\;|x|=1}{\rm dist}\; (x,E_2). $$

The number $\delta(E_1,E_2)$ is called the gap between $E_1$ and $E_2$. Clearly $\delta(E_1, E_2)\in [0,1]$ so that there exists $\theta\in [0,\frac{\pi}{2}]$ such that

$$\delta(E_1,E_2)=\sin \theta.$$

We define the above $\theta$ to be the angle between $E_1,E_2$. Note that if $\dim E_1=1$, than this definition agrees with your first definition. However

$$\delta(E_1, E_2)\neq \delta(E_2,E_1).$$


$$ \theta <\frac{\pi}{2} \Longleftrightarrow \delta(E_1,E_2)<1 \Longleftrightarrow E_1\cap E_2^\perp= 0. $$

Your first definition of angle has a similar property. Finally let me point out that

$$ \delta(E_1,E_2)= \Vert P_{E_2^\perp}P_{E_1}\Vert, $$

where $P_U$ denotes the orthogonal projection onto the subspace $U$, and for any linner operator $A$ we set

$$ \Vert A\Vert =\sup_{|x|=1} |Ax|. $$

share|improve this answer
If you take the Hausdorff distance between the intersections of $E_1$ and $E_2$ with the unit sphere, you get a very good metric on the space of all subspaces. It works even for closed subspaces of Banach spaces. This is similar to a symmetrized version of your $\delta$. It isn't quite the angle I am after, because it returns $\pi/2$ when $E_1\subset E_2$ and $E_1 \ne E_2$. I would want the angle between a line and a plane in $R^3$ to be $0$ when the line is in the plane. –  John Hubbard Jul 15 '12 at 16:02

Your Answer


