Map between Stiefel manifold and the Grassmannian I'm working on problem 2-7 in Lee's introduction to Riemannian Manifolds and am having trouble on part (b):
Let $V_k(\mathbb{R}^n)$ be the Stiefel manifold and $G_k(\mathbb{R}^n)$ denote the Grassmannian. I want to show that the map
$$ \pi : V_k(\mathbb{R}^n) \rightarrow G_k(\mathbb{R}^n)$$
that sends a k-tuple to its span is a surjective smooth submersion.
I have already shown that $\pi$ is surjective and that both $V_k(\mathbb{R}^n)$ and $G_k(\mathbb{R}^n)$ are smooth manifolds. Hence if I can show that $\pi$ is a smooth map of constant rank, the result should follow. I appreciate any help.
 A: Here's a proof that $\pi$ has constant rank.
Given a point $p \in V_k(\mathbb{R}^n)$, I'll write it as $p = \{v_1,...,v_k\}$, with the $v_i \in \mathbb{R}^n$ orthornomal.
Set $G = O(n) = \{A\in M_n(\mathbb{R}): AA^t = I\}$ and note that there is a natural smooth action of $O(n)$ on $V_k(\mathbb{R}^n)$, defined by $A\ast p = \{Av_1, ..., Av_k\}$.  There is likewise an action of $G$ on $G_k(\mathbb{R}^n)$ defined by as follows.  Given $P\in G_k(\mathbb{R}^n)$, choose a basis for $P$, apply $A$ to each basis element, and then take the span.
Proposition:  The $G$-action on both $V_k(\mathbb{R}^n)$ and $G_k(\mathbb{R}^n)$ is transitive.  Morever, $\pi$ is $G$-equivariant: for $p\in V_k(\mathbb{R}^n)$, $\pi(A\ast p) = A\ast \pi(p)$.
Proof:  We first show that $G$-action on $V_k$ is transitive.  It is enough to show that this is true in the special case that $p = \{e_1,..., e_k\}$ with $e_i\in \mathbb{R}^n$ the standard orthonormal basis.
To that end, given $p = \{v_1,...,v_k\}$, extend this to an orthonormal basis $\{v_1,...,v_n\}$.  Define $A$ to the matrix in $O(n)$ whose $i$-th column if $v_i$.  The fact that $\{v_1,...,v_n\}$ is an orthonormal basis of $\mathbb{R}^n$ implies that $A$ really is an element of $O(n)$.  Then simply note that $Ae_i = v_i$, so $A\{e_1,...,e_k\} = p$.
The fact that $\pi$ is $G$-equivariant is easy:  $$\pi(A\ast \{v_1,...,v_k\}) = \operatorname{span}\{ Av_1,...,A v_k\} = A\ast \operatorname{span}\{v_1,...,v_k\} = A\ast \pi(\{v_1,...,v_k\}).$$
From these two facts, and surjectivity of $\pi$, it follows that the $G$-action on $G_k(\mathbb{R}^n)$ is transitive.  Indeed, given planes $P,Q\in G_k(\mathbb{R}^n)$, pick preimages $p,q\in V_k(\mathbb{R}^n)$.  Picking $A\in G$ with $Ap= q$, it follow that $$A\ast P = A\ast \pi(p) = \pi(A\ast p) = \pi(q) = Q.$$  This completes the proof.  $\square$
Proposition:  The map $\pi$ has constant rank.
Proof:  Given $p,q\in V_k(\mathbb{R}^n)$, we need to show that the rank of $d_p \pi$ is equal to the rank of $d_q \pi$.
To that end, let $A\in O(n)$ with $A\ast p = q$.  Notice that the map $f_A:V_k(\mathbb{R}^n)\rightarrow V_k(\mathbb{R}^n)$ defined by $f_A(x) = Ax$ is a diffeomorphism with inverse $(f_A)^{-1} = f_{A^{-1}} = f_{A^t}$.  Likewise the induced map $g_A:G_k(\mathbb{R}^n)\rightarrow G_k(\mathbb{R}^n)$ is a diffeomorphism.
The previous proposition establishes that $\pi \circ f_A = g_A \circ \pi$.  Taking the differential of this equation at the point $p\in V_k(\mathbb{R}^n)$ via the chain rule, we find that $$d_{f_A(p)} \pi \circ d_p f_A = d_{\pi(p)} g_A \circ d_p \pi.$$  Since both $d_{f_A(p)}$ and $d_{\pi(p)} g_A$ are isomorphisms, this equation tells us that the rank of $d_{f_A(p)} \pi$ is equal to the rank of $d_p \pi$.  Since $f_A(p) = q$, this is exactly what we wanted to show.  $\square$.
