How to prove $\operatorname{rank}(XGY^T) = \operatorname{rank}(G)$?

I am having trouble proving the following statement.

Let $X$ and $Y$ be square two full column-rank matrices. Show that $\operatorname{rank}(XGY^T) = \operatorname{rank}(G).$

I have an idea, which is, to use SVD on $G$, which would decompose $XGY^T$ into $XUDV^TY^T$, where $U$ and $V$ are orthogonal matrices of size $m \times m$ and $n \times n$, respectively. $D$ would be an $r \times r$ matrix equivalent to $\operatorname{diag} (\sigma_1, \sigma_2, \ldots, \sigma_r)$ where $r$ is the rank of $G$. I am not sure how to proceed though, I don't understand why the idea of $X$ and $Y$ being full column-rank gets involved.

• By the way, I was misunderstanding the hypothesis full column-rank (which apparenlty means that the matrix is $m\times n$ with $\operatorname{rk}=n$, and thus $n\le m$). It was ok like that. – user228113 Nov 6 '17 at 0:07
• Maybe this can be used: Proposition: Suppose the rank of $X$ equals the number of columns of $X$. Then $X$ has a left inverse. Proof: First show that if the rank of $X$ is the number of columns of $X$, then $X^T X$ is an invertible square matrix. (Details omitted.) Then $(X^T X)^{-1} X^T$ is a left inverse of $X$. Similarly if the rank of $Y$ equals the number of columns of $Y,$ then $Y$ has a left inverse, and so $Y^T$ has a right inverse, which is the transpose of the left inverse of $Y. \qquad$ – Michael Hardy Nov 6 '17 at 0:09
• I think that would work -- I should add, I'm also interested in seeing if the SVD method would bare any fruit. – Bob Dole Nov 6 '17 at 0:11