In SVD we have
$$M=U\Sigma V^T$$
where the columns of $U$ are the eigenvectors of $MM^T$.
If $M$ is $m \times n$, is it necessary that $U$ be $m \times m$ or can it be $m \times r$? In other words, is there a case where we do not have a full set of eigenvectors for $M M^T$, because they are linearly dependent or because the eigenvalues are $0$, or for any other reason?
Let $r$ be the rank of $m\times n$ matrix $M$.
Then a typical SVD makes the matrices of the form: $$\begin{array}{|c|c|}\hline\\ \\ \quad \,M\,\quad\\ \\ \\ \hline\end{array}= \begin{array}{|c|c|}\hline \\ \\ \quad U_r\quad& \quad U_r^\perp\quad \\ \\ \\ \hline\end{array} \begin{array}{|c|c|}\hline \\ \quad\Sigma_r\quad&0 \\ \\ \hline \\ 0&0 \\\hline\end{array} \begin{array}{|cc|}\hline\\ \quad\,V_n^{\perp*}\,\quad\\ \\ \hline \quad V_n^*\quad\\\hline\end{array}$$ In this form $U_r$ are orthogonal unit vectors that span the range of $M$, and $U_r^\perp$ forms the completion to an orthonormal basis. Similarly $V_n$ is a set of orthonormal vectors that spans the null space of $M$, and $V_n^\perp$ completes it to an orthonormal basis.
Note that $U$ is always an $m\times m$ unitary matrix here.
However, we can create a so called 'economic' SVD as well, which is not the official SVD: $$\begin{array}{|c|c|}\hline\\ \\ \quad\,M\,\quad\\ \\ \\ \hline\end{array}= \begin{array}{|c|c|}\hline \\ \\ \quad U_r\quad\\ \\ \\ \hline\end{array} \begin{array}{|c|c|}\hline \\ \quad\Sigma_r\quad \\ \\\hline\end{array} \begin{array}{|cc|}\hline\\ \quad\,V_n^{\perp*}\,\quad\\ \\ \hline \end{array}$$
Now $U_r$ is an $m\times r$ matrix. And we have: $$M=U\Sigma V^*=U_r\Sigma_r V_n^{\perp*}$$ where $U_r$, $\Sigma_r$, and $V_n^{\perp}$ are each of the same full rank $r$.