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^*$

Thanks in advance! Any hints would be helpful.


1 Answer 1


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.

Multiplying by an invertible matrix doesn't change the rank. The rank of a diagonal matrix is the number of nonzero entries in the diagonal.

  • $\begingroup$ If we have $A^∗$ instead of $A^\dagger$ how then it will be shown? $\endgroup$
    – user652838
    Dec 3, 2020 at 17:42
  • 1
    $\begingroup$ @user726608 You don't need SVD for that, just rank-nullity. $\endgroup$
    – egreg
    Dec 3, 2020 at 17:46
  • 1
    $\begingroup$ @user726608 Yes: $A^*=VD^*U^*$, so $AA^*=UDD^*U^*$; the ranks of $D$ and $DD^*$ are obviously the same. $\endgroup$
    – egreg
    Dec 3, 2020 at 17:52
  • $\begingroup$ @user726608 The rank of a diagonal matrix is the number of nonzero entries on the diagonal. $\endgroup$
    – egreg
    Dec 3, 2020 at 20:39

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .