Eigenvalues & eigenvectors

characteristic polynomial

How do you actually hunt down a matrix's eigenvalues? You build a single polynomial out of the matrix: det(A - lambda*I). This is the characteristic polynomial, and its magic is that its roots are exactly the eigenvalues. Wherever this polynomial equals zero, you have found a stretch factor lambda for which a genuine eigenvector exists.

The reasoning is simple. A*v = lambda*v can be rearranged to (A - lambda*I)*v = 0. For a nonzero v to satisfy that, the matrix A - lambda*I must be non-invertible, which happens precisely when its determinant is zero. So setting det(A - lambda*I) = 0 turns the search for eigenvalues into solving one equation.

For an n-by-n matrix the polynomial has degree n, so there are always n eigenvalues counting multiplicity, though some may repeat or be complex. Example: for A = [[2,1],[0,3]], det(A - lambda*I) = (2 - lambda)*(3 - lambda), giving lambda = 2 and lambda = 3.

A = [[2,1],[0,3]] ; det(A - lambda*I) = (2 - lambda)*(3 - lambda) = 0

The roots lambda = 2 and lambda = 3 are the eigenvalues of A.

Because the polynomial may have complex or repeated roots, a real matrix can have complex eigenvalues (a pure rotation is the classic case with no real ones).

Also called
characteristic equation特征方程本征多项式特徵方程本徵多項式