Showing that $\mathcal{L}(n)\cong U(n)/O(n)$ I have been reading the book Introduction to Symplectic Topology, page $50$, and now we want to see that $\mathcal{L}(n)=\mathcal{L}(\mathbb{R}^{2n},\omega_0)\cong U(n)/O(n)$. To see this we have the following lemma :

i) If $\Lambda \in \mathcal{L}(n)$ and $\Psi\in Sp(2n)$ then $\Psi \Lambda\in \mathcal{L}(n)$

This was easy to prove .

ii) For any two lagrangian subspaces $\Lambda,\Lambda'\in \mathcal{L}(n)$ there exists $\Psi\in Sp(2n)\cap O(2n)$ such that $\Lambda'=\Psi\Lambda$.

To prove this the author fixes a lagrangian subspace $\Lambda\in \mathbb{R}^{2n}$ and chooses an unitary Lagrangian frame. My first doubt is why is this always possible ?
Then we have that $\Psi \Lambda_{hor}=\Lambda$, and they end the proof here. How does this give us what we want ? I don't see how we relate this to an arbritary $\Lambda'\in \mathcal{L}(n)$.

iii) There is a natural diffeomorphism $\mathcal{L}(n)\cong U(n)/O(n)$.

Here they just mention that an unitary matrix $U=X+iY$ determined by a lagrangian frame is uniquely determined by $\Lambda$ up to right multiplication by a matrix in $O(n)$. I don't see why this would be the case , but I guess it's related to the fact that we can associate to $\Lambda$ a Lagrangian Frame and I am not sure how this construction is done.
Any help is aprpreciated. Thanks in advance.
 A: 
To prove ii), it suffices to show that given $\Lambda\in\mathcal{L}(n)$, there exists $\Psi_\Lambda\in\operatorname{Sp}(2n)\cap O(2n)$ such that $\Psi_\Lambda\Lambda_{\textrm{hor}}=\Lambda$, where $\Lambda_{\textrm{hor}}=\{(x,y);y=0\}$ is the horizontal Lagrangian.

Given $\Lambda,\Lambda'\in\mathcal{L}(n)$, define $\Psi=\Psi_{\Lambda'}{\Psi_{\Lambda}}^{-1}\in\operatorname{Sp}(2n)\cap O(2n)$ (recall that $\operatorname{Sp}(2n)\cap O(2n)$ is a group), it satisfies $$\Psi\Lambda=\Psi_{\Lambda'}{\Psi_\Lambda}^{-1}\Lambda=\Psi_{\Lambda'}\Lambda_{\textrm{hor}}=\Lambda',$$
which is the required result.

Let $\Lambda\in\mathcal{L}(n)$, then $\Lambda$ admits a unitary frame.

Since $\Lambda$ is a vector subspace, using Gram-Schmidt orthonormalization, it admits an orthonormal basis $\mathcal{B}=(e_1,\ldots,e_n)$, letting $e_i=(x_i,y_i)$, $X=(x_1\vert\ldots\vert x_n)$, $Y=(y_1\vert\ldots\vert y_n)$ and $Z=\begin{pmatrix}X\\Y\end{pmatrix}$, it follows that
$$\Lambda=\operatorname{range}(Z),$$
and $U=X+iY$ is unitary, indeed a straighforward computation gives:
$$\begin{align*}UU^*&=(X+iY)({}^tX-i{}^tY),\\
&=X{}^tX+Y{}^tY+i(Y{}^tX-X{}^tY),\\
&=I,\end{align*}$$
since $X{}^tX+Y{}^tY=Z{}^tZ=I$ (recall that $Z$ is orthonormal, since $\mathcal{B}$ is orthonormal) and $Y{}^tX=X{}^tY$ (recall that $\Lambda$ is Lagrangian). Finally, $Z$ is a unitary Lagrangian subspace for $\Lambda$.

There is a diffeomorphism $\Lambda(n)=U(n)/O(n)$.

As explained above, a unitary Lagrangian frame for $\Lambda$ amounts to a choice of an orthonormal basis for it, whence the result.
