Eigenvalues of a Matrix
What eigenvalues actually mean, how to compute them by hand, and worked 2×2 and 3×3 examples.
What an eigenvalue actually is
A square matrix acts on vectors — it rotates, stretches, or skews them. For almost every vector, applying changes its direction. But for a special set of vectors, only stretches or shrinks them — it doesn’t rotate them at all. Those are eigenvectors, and the stretch factor is the corresponding eigenvalue:
Here is a nonzero vector (the eigenvector) and (lambda) is a scalar (the eigenvalue). In words: multiplying by the matrix does the same thing as just multiplying it by the number .
This matters because eigenvalues tell you how a system behaves under repeated transformation — growth/decay rates in dynamical systems, principal axes in PCA, natural frequencies in vibration analysis, stability of Markov chains, and so on. The examples below are deliberately simple, but the method is exactly what’s used underneath all of that.
Turning it into something solvable
Rearrange the definition:
where is the identity matrix (same size as ). This says: some nonzero vector gets sent to the zero vector by the matrix . That’s only possible if is singular (non-invertible) — and a matrix is singular exactly when its determinant is zero:
This is the characteristic equation. Expanding the determinant gives a polynomial in (the characteristic polynomial); its roots are the eigenvalues of .
The recipe
- Form — subtract from each entry on the main diagonal.
- Compute — you get a polynomial in .
- Solve that polynomial — the roots are the eigenvalues.
- (Not covered here) Plug each eigenvalue back into to solve for its eigenvector.
Example 1 — a plain 2×2 matrix
Step 1 — form :
Step 2 — determinant. For a 2×2 matrix , the determinant is :
Step 3 — solve:
Example 2 — a repeated eigenvalue
Here is a root of multiplicity 2 — it’s “used twice.” This particular matrix only has one independent eigenvector for that eigenvalue (it’s called a defective matrix) — a good example of why eigenvalues alone don’t always tell the full story; you sometimes also need to check how many independent eigenvectors each one actually has.
Example 3 — a 3×3 matrix
The first row has only one nonzero entry, so expanding the determinant along that row keeps things manageable:
Checking your work
Two identities catch arithmetic mistakes without redoing the whole computation:
- Sum of eigenvalues = trace of (sum of the diagonal entries)
- Product of eigenvalues =
For Example 3: trace , and ✓. Determinant: , and ✓. Always worth running this check — it’s much faster than re-deriving the characteristic polynomial from scratch.
Where hand-calculation stops being practical
For an matrix, the characteristic polynomial has degree .
Beyond or so, factoring it by hand becomes impractical — there’s
no general formula for roots of degree-5-and-up polynomials (Abel–Ruffini
theorem), so real software doesn’t solve the characteristic equation
directly at all. Instead it uses iterative numerical methods (the
QR algorithm is the standard one) that converge to the eigenvalues
without ever forming the polynomial. In practice, that’s numpy.linalg.eig,
MATLAB’s eig, etc. — the method above is exactly what’s happening
conceptually, just computed differently at scale.