What can we say about this eigenvalue problem? Consider the generalised eigenvalue problem
\begin{equation}
\lambda \begin{bmatrix} 
1 & 0 \\
0 & 0
\end{bmatrix}  v= \begin{bmatrix} 
1 & 2 \\
3 & 1
\end{bmatrix}v. \tag{1}
\end{equation}
Computing the eigenvalues in the usual way, i.e. by evaluating
\begin{equation}
\det \bigg( \begin{bmatrix} 
1-\lambda & 2 \\
3 & 1
\end{bmatrix} \bigg) = 1-\lambda-6=0, \tag{2}
\end{equation}
we find that the only eigenvalue is $\lambda =-5$; however, MATLAB provides $\lambda = -5$ and $\lambda = \infty$ when using $\texttt{eig}$. Is there something subtle I am missing here? Are eigenvalues of this problem even well-defined, since the inverse of the left-matrix does not exist?
 A: This seems to be a quirk of MATLAB and not universal. For example, Maple only returns $\lambda = -5$. It seems that MATLAB spits out $\lambda=\pm\infty$ whenever $rank(B)<dim(B)$. Let's look at the full output of eig() with your input:
$$
V = \begin{bmatrix}\frac 13 & 0 \\ -1 & 1\end{bmatrix},
D = \begin{bmatrix}-5 & 0 \\ 0 & \infty\end{bmatrix}.
$$
The first column of $V$ is an eigenvector for $\lambda=-5$, but for the  second column vector we find
$$
\begin{bmatrix}1&2\\3&1\end{bmatrix}v
= \begin{bmatrix}2 \\ 1\end{bmatrix}
, \\ \infty \begin{bmatrix}1 & 0 \\ 0 & 0\end{bmatrix}v
\overset?= \infty\begin{bmatrix}0 \\ 0\end{bmatrix}.
$$
In some sense, you could say $\begin{bmatrix}2 \\ 1\end{bmatrix} = \begin{bmatrix}\infty\cdot 0 \\ \infty\cdot 0\end{bmatrix}$ is possible given the the indeterminate nature of $\infty\cdot 0$, making $v$ an eigenvector with eigenvalue $\infty$. In fact, as you showed, no second finite eigenvalue would be possible, so it's a choice between the above semi-nonsense or nothing at all.
It might be seen as convenient that MATLAB guarantees the expected dimensionality of the output, at the expense of having any further variables littered with Inf's and NaN's. As for any deeper meanings, I don't know. The brief documentation here doesn't mention these cases. Further questions include: How exactly does MATLAB choose the eigenvalues to use for $\pm \infty$ cases? How does it choose between $\infty$ and $-\infty$?
