# Prove that rank(A) = rank(A$^\dagger$)=rank(AA$^\dagger$)=rank(A$^\dagger$A) using the SVD decomposition

Prove that rank(A) = rank(A$$^\dagger$$)=rank(AA$$^\dagger$$)=rank(A$$^\dagger$$A) using the SVD decomposition.

$$A^\dagger$$ is a Moore-Penrose inverse of A.

I managed to prove the first equation, $$rank(A) = rank(A^\dagger)$$ easily using the decomposition.

What bothers me is how to finish the next one.

My attempt:

A= $$U\left[\begin{matrix} \Sigma_+ & 0 \\ 0 & 0 \end{matrix}\right]V^*$$ is a SVD, where $$\Sigma_+\in\mathbb{R}^{r\times r}$$ (for $$r=rank(A)$$, $$\Sigma_+ = diag(\sigma_1,\ldots,\sigma_r)$$

What I did is this:

$$AA^\dagger = U\left[\begin{matrix} \Sigma_+ & 0 \\ 0 & 0 \end{matrix}\right]V^*V\left[\begin{matrix} \Sigma_+^{-1} & 0 \\ 0 & 0 \end{matrix}\right]U^*=U\left[\begin{matrix}I & 0\\0 & 0\end{matrix}\right]U^* = U\left[\begin{matrix}I & 0\\0 & 0\end{matrix}\right]\left[\begin{matrix}I & 0\\0 & 0\end{matrix}\right]U^* = U_rU_r^*$$

where $$U_r$$ represents the first r columns of the matrix $$U$$.

I just can't finish this. I can't find the argument for $$rank(U_rU_r^*)=r$$.

Did I do something wrong? Or can you help me end the proof?

I'm aware that $$rank(U_rU_r^*)\leq r$$ (since it's a product of the two matrices whose $$rank=r$$), but I don't think that's the way this proof is meant to be.

If I manage to do this part of the task, I'll also do the last one since it sums up to $$V_rV_r^*$$

The Moore-Penrose pseudoinverse of $$A=UDV^*$$ is $$A^\dagger=VD^\dagger U^*$$ and it is plain how to compute the pseudoinverse of a diagonal matrix: just invert the nonzero entries in the diagonal.
• If we have $A^∗$ instead of $A^\dagger$ how then it will be shown? Dec 3, 2020 at 17:42
• @user726608 Yes: $A^*=VD^*U^*$, so $AA^*=UDD^*U^*$; the ranks of $D$ and $DD^*$ are obviously the same. Dec 3, 2020 at 17:52