# Why would one eigenvalue correspond to multiple eigenvectors?

Given matrix $A = \begin{bmatrix} 0 & 1 \\ -1 & -2 \end{bmatrix}$

This guy has eigenvalues $\lambda = -1$ with algebraic multiplicity 2.

Why is it that the eigenvector corresponding to this eigenvalue (as returned by computing software such as matlab) is $[-1, 1]$, and $[1, -1]$ instead one just one eigenvector?

Is this by convention? It is for efficiency? Is there some mathematical inaccuracy if we just use one eigenvector?

• As another example, the identity matrix of dimension $n$ has a single eigenvalue $1$, and every vector is a $1$-eigenvector. – angryavian Dec 15 '15 at 22:26
• Simply because the eigenspace has dimension one. Just one vector is given, but the eigenspace is its whole span. – Lonidard Dec 15 '15 at 22:32
• For the record, the matrix you wrote: $\begin{bmatrix}0&1\\-1&2\end{bmatrix}$ has eigenvalue $\lambda = \color{blue}{1}$ and corresponding eigenspace $\color{blue}{span\left\{\begin{bmatrix}1\\1\end{bmatrix}\right\}}$. – JMoravitz Dec 15 '15 at 22:46
• Nondiagonalizable matrices make programs using inexact arithmetic rather sad, because nondiagonizability is an unstable property--small perturbations of nondiagonalizable matrices are typically diagonalizable matrices. You would get no weirdness if you used the function "jordan" instead of "eig"--but jordan only runs in a reasonable timeframe when the entries are rational numbers with small denominators. – Ian Dec 15 '15 at 22:49
• @janmarqz No, it is just failing to find a proper diagonalization because there isn't one. You have to explicitly use the jordan function to try to get a Jordan form (because it is much slower and completely fails in many situations). – Ian Dec 16 '15 at 0:20

Note: Those aren't the eigenvectors, nor is that the eigenvalue. The correct eigenvalue is $1$, the correct eigenvector (here there really should only be one) is $\begin{bmatrix}1\\1\end{bmatrix}$.

Matrices can have more than one eigenvector sharing the same eigenvalue. The converse statement, that an eigenvector can have more than one eigenvalue, is not true, which you can see from the definition of an eigenvector.

However, there's nothing in the definition that stops us having multiple eigenvectors with the same eigenvalue. For example, the matrix $\begin{bmatrix}1&0\\0&1\end{bmatrix}$ has two distinct eigenvectors, $[1, 0]$ and $[0, 1]$, each with an eigenvalue of $1$. (In fact, every possible vector is an eigenvector, with eigenvalue $1$.)

Normally, if there is only one eigenvector corresponding to an eigenvalue of multiplicity greater than one, mathematically we would just say there is only one eigenvector. However, it seems like your checking program has some quirks which make it want to say there are two, so it just gave you a scalar multiple of the first vector.

• Sorry messed up a sign somewhere – Carlos - the Mongoose - Danger Dec 15 '15 at 22:59
• The two vectors returned by MATLAB (when the input matrix has negative signs on the second row) are still linear multiples of a single eigenvector: $[-1, 1]^T = -1 [1, -1]^T$. – David K Dec 15 '15 at 23:25
• @DavidK Can you double check? I have these: v1 = -0.7071 0.7071; v2 = 0.7071 -0.7071 – Carlos - the Mongoose - Danger Dec 16 '15 at 0:47
• @WhiteHouseFenceJumper Those look like two other scalar multiples of $[1, -1]^T$, since $[-0.7071, 0.7071]^T \approx -\sqrt2 [1, -1]^T$ and $[0.7071, -0.7071]^T \approx \sqrt2 [1, -1]^T$. – David K Dec 16 '15 at 3:09

Mathematica does not behave this way, but apparently Matlab does. Because algebraic multiplicity is 2, it wants to output two eigenvectors; but there's only one linearly independent one, so it puts a scalar multiple as the second. What does it give you if you try the matrix $$\begin{bmatrix} 0&4&-1\\-1&4&-1\\-2&5&-1\end{bmatrix}?$$

• It depends on if the eigenvalue problem is solved numerically or symbolically (Mathematica's default). [V,D]=eig(sym([0 4 -1;-1 4 -1;-2 5 -1])) returns a single eigenvector in Matlab. – horchler Dec 16 '15 at 20:01

I assume that you numerically evaluating the eigenvalues/vectors in Matlab?:

A = [0 1;-1 -2];
[V,D] = eig(A)


If you evaluate symbolically (with sym/eig), as you did by hand, then you'll get the single (unnormalized) eigenvector you expected:

A = [0 1;-1 -2];
[V,D] = eig(sym(A))


returns

V =

1
1

D =

[ 1, 0]
[ 0, 1]


Your matrix is defective. It is not diagonalizable. The numeric eig function's behavior is explained here in the documentation. Essentially, a result is returned such that A*V - V*D is as close to zero as possible.