Matrix expression with pseudo-inverse If $M$ is symmetric and non-singular, and $G$ is non-symmetric and singular, is there any simple expression for:
$$G^{T}\left(GMG^{T}\right)^{\dagger}G$$
where the $\dagger$ denotes the pseudo-inverse?  In general, the $G$'s do not cancel.
I don't need an explicit expression for the pseudo-inverse by itself, just the product above.
 A: In general, as $G$ has no special structure and it is unrelated to $M$, I don't think you can make the expression very much simpler.
Edit. In some cases some slight simplifications are possible. For instances,


*

*if $G$ is also an orthogonal projection, the expression is equal to $(GMG^T)^\dagger$;

*if $(G^\dagger G) M (G^\dagger G)$ has the same rank as $G$ (e.g. when $M$ is positive/negative definite), you may slightly simplify the expression to $\left((G^\dagger G)M(G^\dagger G)\right)^\dagger$.


Proof of the second case. Let $G=USV^T$ be a SVD and $D=SS^\dagger$. So, if $G$ has rank $k$ and $S=\operatorname{diag}(\sigma_1,\ldots,\sigma_k,0,\ldots,0)$, then $D=\operatorname{diag}(1,\ldots,1,0,\ldots,0)$. Thus
\begin{align}
G^T(GMG^T)^\dagger G
&= VSU^T(USV^TMVSU^T)^\dagger USV^T\\
&= VS(SV^TMVS)^\dagger SV^T\tag{1}\\
&= VS(S(DV^TMVD)S)^\dagger SV^T,\tag{2}
\end{align}
where line $(1)$ holds because in general, $(QX)^\dagger \equiv X^\dagger Q^\dagger$ whenever $Q$ is unitary. Now, by assumption, $G$ and $(G^\dagger G) M (G^\dagger G) $ have the same ranks, i.e. $S$ and $DV^TMVD$ have the same ranks. Since each of $S$ and $DV^TMVD$ is a direct sum of a $k\times k$ invertible matrix and a zero block, in calculating $S(S(DV^TMVD)S)^\dagger S$, the pseudo inverse is just a usual matrix inverse in the leading $k\times k$ subblock. Thus $(2)$ gives
\begin{align}
G^T(GMG^T)^\dagger G
&= V(DV^TMVD)^\dagger V^T\\
&= \left(VDV^TMVDV^T\right)^\dagger\tag{3}\\
&= \left((G^\dagger G)M(G^\dagger G)\right)^\dagger,
\end{align}
where $(3)$ again is due to the property that $(QX)^\dagger \equiv X^\dagger Q^\dagger$ whenever $Q$ is unitary.
