HomeArticlesEigenvalues & Eigenvectors

Eigenvalues and Eigenvectors: The Directions a Matrix Does Not Rotate

How the characteristic polynomial, trace and determinant of a 2x2 matrix reveal the invariant directions behind every linear transformation.

mysimulator teamUpdated June 2026≈ 8 min read▶ Open the simulation

The directions a matrix does not rotate

A 2x2 matrix A takes every vector in the plane and maps it to a new vector — in general both the length and the direction change. But for almost every matrix there exist special directions that only get stretched or compressed, never rotated off their own line. Those directions are the eigenvectors, and the stretch factor along each one is the corresponding eigenvalue: Av = λv.

A v = λ v
(A - λI) v = 0        (nontrivial v exists only if this matrix is singular)
det(A - λI) = 0        -> the characteristic equation
live demo · eigenvector directions under A● LIVE

The characteristic polynomial

For a 2x2 matrix A = [[a, b], [c, d]], det(A − λI) expands to λ² − (a+d)λ + (ad−bc) = 0 — a quadratic whose coefficients are the trace (a+d) and the determinant (ad−bc) of A. Solving that quadratic gives the two eigenvalues directly: λ = (trace ± sqrt(trace² − 4·det)) / 2. Once you have an eigenvalue, plugging it back into (A − λI)v = 0 gives a homogeneous linear system whose solution direction is the eigenvector.

What the discriminant tells you

The sign of trace² − 4·det decides the character of the transformation. Positive: two distinct real eigenvalues, and dragging the matrix entries shows two separate invariant lines. Zero: a repeated real eigenvalue — the matrix is a pure scaling in a single direction, or a shear if it is not diagonalisable. Negative: a complex conjugate pair of eigenvalues, which corresponds to no real invariant direction at all — the transformation rotates every vector, exactly what a rotation matrix looks like when you compute its eigenvalues.

Determinant, trace and what they mean geometrically

The determinant equals the product of the eigenvalues and measures how much A scales area: a determinant of 2 doubles every area, a determinant of 0 collapses the plane onto a line, and a negative determinant means the transformation flips orientation. The trace equals the sum of the eigenvalues. Both quantities are basis-independent, which is why they show up directly in the characteristic polynomial without needing to diagonalise anything first.

Diagonalisation: why eigenvectors are the natural coordinates

If A has two linearly independent eigenvectors, writing them as columns of a matrix P gives A = P D P⁻¹, where D is diagonal with the eigenvalues on the diagonal. In the coordinate system defined by the eigenvectors, A acts as pure independent scaling along each axis. This is why Aⁿ = P Dⁿ P⁻¹ is cheap to compute, and it is the mathematical engine behind Markov chain steady states, principal component analysis, and stability analysis of dynamical systems near a fixed point.

Frequently asked questions

Why do some matrices have no real eigenvectors?

Because the characteristic equation is a quadratic, and when its discriminant (trace squared minus 4 times the determinant) is negative, the roots are a complex conjugate pair. That happens for transformations like pure rotations, where no real direction is left unrotated, so there is no invariant line to be an eigenvector.

What does a negative determinant mean for the eigenvectors?

The determinant is the product of the two eigenvalues, so a negative determinant means the eigenvalues have opposite signs (assuming both are real) — the transformation stretches along one eigenvector and flips-and-stretches along the other, reversing overall orientation.

How is this related to Markov chains and PCA?

Both rely on diagonalisation. A Markov transition matrix's long-run steady state is the eigenvector for eigenvalue 1; PCA finds the eigenvectors of a data covariance matrix because those are exactly the directions of maximum variance, with the eigenvalues giving the variance captured along each one.

Try it live

Everything above runs in your browser — open Eigenvalue Visualiser and change the parameters while it is running. Nothing is installed, nothing is uploaded, the whole model lives in one tab.

▶ Open Eigenvalue Visualiser simulation

What did you find?

Add reproduction steps (optional)