Computing derivative of function between matrices 
Let $M_{k,n}$ be the set of all $k\times n$ matrices, $S_k$ be the set of all symmetric $k\times k$ matrices, and $I_k$ the identity $k\times k$ matrix. Let $\phi:M_{k,n}\rightarrow S_k$ be the map $\phi(A)=AA^t$. Show that $D\phi(A)$ can be identified with the map $M_{k,n}\rightarrow S_k$ with $B\rightarrow BA^t+AB^t$.

I don't really understand how to compute the map $D\phi(A)$. Usually when there is a map $f:\mathbb{R}^s\rightarrow\mathbb{R}^t$, I compute the map $Df(x)$ by computing the partial derivatives $\partial f_i/\partial x_j$ for $i=1,\ldots,t$ and $j=1,\ldots,s$. 
But here we have a map from $M_{k,n}$ to $S_k$. How can we show that $D\phi(A)\cdot B=BA^t+AB^t$?

The derivative at $A$ is a linear map $D\phi(A)$ such that
$$
\frac{\|\phi(A+H)-\phi(A)-D\phi(A)H\|}{\|H\|}\to0\ \ \mbox{ as } H\to0.
$$
(the spirit of this is that $\phi(A+H)-\phi(A)\sim D\phi(A)H$, where one thinks of $H$ as the variable). 
In our case, we have
$$
\phi(A+H)-\phi(A)=(A+H)(A+H)^T-AA^T=AH^T+HA^T+HH^T.
$$
So $D\phi(A)H=AH^T+HA^T$ as the term $HH^T$ satisfies $\|HH^T\|=\|H\|^2$. 
