Can someone tell, why the number of the nonzero eigenvalues (counted according to their algebraic multiplicities) of a matrix of type $A^{*}A$, where $A$ is an arbitrary real or complexvalued matrix, is equal to the rank of $A$ ? Here, in step 2, it seems to me that exactly this assertion is made, and I can't quite understand it.
I get, that if $$ \text{rank}\left(A^{*}A\right)=r $$
then $$ \ker\left(A^{*}A\right)=n-r, $$ if it happens that $A^{*}A$ is an $n\times n$ matrix. But how can I conclude from this, that the multiplicity of the $0$ eigenvalue is $n-r$, i.e. that there are $n-r$ that are mapped to $0$ (couldn't it by that only linear combination of $n-r$ eigenvectors are mapped to $0$, since the kernel doesn't have to necessarily be spanned by the eigenvectors themselves, as far as I know) ?
The matrix $A^*A$ is self-adjoint, hence every eigenvalue is real and the matrix is diagonalizable. That means that the algebraic and geometric multiplicities of every eigenvalue agree. In particular, the nullity of $A^*A$ equals the algebraic multiplicity of the eigenvalue $0$; since the sum of the algebraic multiplicities of all eigenvalues must equal $n$ (since the characteristic polynomial of $A^*A$ must split, as all eigenvalues are real) it follows that the rank of $A^*A$ equals the sum of the algebraic multiplicities of the nonzero eigenvalues.
Now, all that remains is to show that the rank of $A^*A$ equals the rank of $A$. Since the nullspace of $A$ is contained in the nullspace of $A^*A$, we have that $\mathrm{nullity}(A)\leq\mathrm{nullity}(A^*A)$. On the other hand, if $\mathbf{v}\notin \mathrm{nullspace}(A)$, then $$0\lt \langle A\mathbf{v},A\mathbf{v}\rangle = \langle A^*A\mathbf{v},\mathbf{v}\rangle$$ so $A^*A\mathbf{v}\neq\mathbf{0}$. Thus, $\mathrm{nullspace}(A^*A)=\mathrm{nullspace}(A)$, which gives $\mathrm{nullity}(A^*A)=\mathrm{nullity}(A)$.
Since $A$ and $A^*A$ have the same number of columns, it follows as well that $\mathrm{rank}(A^*A) = \mathrm{rank}(A)$.