I have a problem of making a slight change on a singular matrix to make that matrix become full rank.
My thought is to add some numbers to the diagonal to recover some 0 eigenvalues, so that the transformation will not loss dimensions. However, this is more of a thought, and I want to know if there is a formula to do this.
I got a hint that there is a way to do this using pseudo inverse and svd, but I don't know how to prove that the svd result is actually invertible.
I'll take $A$ to be our singular (presumably square) matrix.
First of all, it should be noted that adding a random matrix $M$ will (with "very high probability") give us a non-singular $A + M$; I'm not sure how to prove this in an elementary way, but this is easy to verify experimentally.
Second, here's the idea that they probably had in mind. Suppose that $A = U \Sigma V^T$ is a singular-value decomposition, and we have $$ \Sigma = \pmatrix{S & 0\\0 & 0} $$ where $S$ is a diagonal $r \times r$ matrix whose diagonal contains the non-zero singular values of $A$. For any small number $\epsilon > 0$, we can define $$ \Delta A = \epsilon \cdot U\pmatrix{0&0\\0&I}V^T. $$ I will leave it to you to verify that $A + \Delta A$ has full rank.