$Sp(2n)$ is embedded in $GL(2n)$ and has dimension $2n^2+n$ 
Let $Sp(2n):=\{A\in\mathbb{R}^{2n\times 2n}\mid A^tA_0A=A_0\}$ be the group of symplectomorphisms from $(\mathbb{R}^{2n},\omega_0)$ to itself, where:
\begin{gather}
A_0
:=
\begin{bmatrix}{}
0 & I\\
-I & 0\\
\end{bmatrix}\in\mathbb{R}^{2n\times 2n}
\end{gather}
represents the standard symplectic form $\omega_0$ with respect to the canonical basis of $\mathbb{R}^{2n}$. Prove that $Sp(2n)$ is an embedded submanifold of $GL(2n)$ and has dimension $2n^2+n$.

I know the essential idea is to look at the map:
\begin{align*}
f:GL(2n)&\to \text{Sympl}(2n)\\
A & \mapsto A^tA_0A
\end{align*}
where $\text{Sympl}(2n):=\{A\in\mathbb{R}^{2n\times 2n}\mid A=-A^t\text{ and }\det A\neq 0\}$, which is the submanifold of symplectic forms and has dimension $\frac{(2n)^2-2n}{2}$. 
Considering that $f$ is a submersion, we have $Sp(2n)=f^{-1}(A_0)$ is an embedded submanifold with dimension $\dim (GL(n))-\dim (\text{Sympl}(2n))=(2n)^2-\left(\frac{(2n)^2-2n}{2}\right)=2n^2+n$ by the Regular Value Theorem.
My question is really basic: how do I prove $f$ is a submersion? I've tried to calculate $df_A(M)$ by taking the curve $\alpha(t)=A+tM$, so that:
\begin{align*}
df_A(M)&=(f\circ \alpha)'(0)\\
&=(A^tA_0A+tA^tA_0M+tM^tA_0A+t^2M^tA_0M)'(0)\\
&=A^tA_0M+M^tA_0A
\end{align*}
but I don't know how to prove this is surjective, and it seems complicated. Is there some trick to it? Or is there a better way?
 A: First I have to say that my answer is really similar to the one already cited in the comments, I just want to focus a little more one the surjectivity part that was explicitly asked for in your question. So, we would like to prove that 
$$df_A\colon M\mapsto A^tA_0M+M^tA_0A$$ 
is surjective onto the space of skew-symmetric $2n\times 2n$ matrices. In order to use the regular value theorem, it is enough to do so for any $A$ such that $f(A)=A_0$, i.e. $A^tA_0A=A_0$. For any such $A$, we have 
$f(A)=f(I)$, where $I$ is the unit matrix. For any $A'\in\mathrm{GL}(2n)$, let $\varphi_{A'}\colon \mathrm{GL}(2n)\rightarrow \mathrm{GL}(2n)$ denote multiplication with $A'$. Then 
$$f(A)=f(I)=f\circ \varphi_{A^{-1}}(A),$$
i.e. 
$$df_A=df_I\circ d(\varphi_{A^{-1}})_A.$$
As $d(\varphi_{A^{-1}})_A$ clearly is bijective, we only need to prove $df_I$ surjective. (this is still all as in the answer cited above/in the comments.) From here, let us do the explicit calculations: $d(\varphi_{A^{-1}})_A\colon T_A\mathrm{GL}(2n)\rightarrow T_I\mathrm{GL}(2n)$ is given by $M\mapsto A^{-1}M$, so we would like to solve 
$$df_I(M')=A_0M'+M^tA_0'=A_0M'-(A_0M')^t=B$$
for a given (skew-symmetric) $B$, where $M'=A^{-1}M$ with $M$ satisfying $df_A(M)=B$. We might simplify this by setting $M'':=A_0M'$, to get 
$$M''-(M'')^t=B.$$
Here, maybe a little trick is involved, as one needs to recall that $B$ was taken from skew-symmetric matrices, so $B^t=-B$, in particular, $B-B^t=2B$, which gives the solution $M''=\frac{1}{2}B$, i.e.
$$M=AM'=-AA_0M''=-\frac{1}{2}AA_0B$$
has the desired property $df_A(M)=B$.
