There are two covariance matrices $U$ and $V$ such that $U= X^\top X$ and $V = XX^\top$ where $X$ is a $d\times N$ matrix. How can I prove that $U$ and $V$ have the same non-zero eigenvalues?
This should really be a comment- but I have too low reputation to make a comment. Hence I am writing it as an answer.
It's a very standard theorem in liner algebra that for two matrices A and B, AB and BA have the same non zero eigenvalues. Take A=$X^T$, and B= X to get your result.