Linear Algebra

Jordan Canonical Form

Every matrix over ℂ is similar to a block-diagonal matrix of Jordan blocks J(λ, k) with λ on diagonal and 1s above

The Jordan canonical form (JCF) is the unique (up to block ordering) representation of any square matrix A over an algebraically closed field as a similar block-diagonal matrix of "Jordan blocks." A Jordan block J(λ, k) is a k×k matrix with eigenvalue λ on the diagonal and 1s on the superdiagonal. JCF generalizes diagonalization — diagonalizable matrices have all 1×1 Jordan blocks. The number and sizes of Jordan blocks are determined by the algebraic and geometric multiplicities of each eigenvalue. Camille Jordan introduced this in 1870. Applications: solving systems of ODEs (matrix exponential e^At reduces to simple form on each Jordan block), control theory, and proving the Cayley-Hamilton theorem.

  • AuthorCamille Jordan 1870
  • BlockJ(λ,k) k×k, λ on diag, 1s above
  • Diagonalizableall 1×1 blocks
  • Algebraic multtotal λ on diag
  • Geometric mult# blocks for λ
  • Algebraically closed

Watch the 60-second explainer

A condensed visual walkthrough — narrated, captioned, under a minute.

Why Jordan canonical form matters

  • ODE systems. The solution of x' = Ax is x(t) = e^(At) x(0). For non-diagonalizable A, e^(At) has terms of the form t^j e^(λt) — JCF makes these explicit, with j ranging up to (block size − 1). Without JCF you can't write closed-form solutions for defective matrices.
  • Control theory. The structural decomposition of A reveals reachable, observable, and stabilizable subspaces. Jordan blocks at the imaginary axis indicate marginally stable modes; sizes >1 in such blocks indicate polynomial blow-up — the difference between bounded and unbounded oscillation.
  • Classification of operators. Two matrices are similar iff they have the same JCF (up to block ordering). JCF is thus the complete invariant for similarity over ℂ — every other invariant (trace, determinant, characteristic polynomial, minimal polynomial, etc.) is derivable from it.
  • Theoretical foundation. Cayley-Hamilton theorem follows immediately from JCF: each Jordan block J(λ,k) satisfies (J − λI)^k = 0, so the product over all blocks equals zero — and that product is the characteristic polynomial evaluated at the matrix.
  • Differential geometry. Linearization of dynamical systems at fixed points uses JCF of the Jacobian to classify stability — hyperbolic fixed points (no eigenvalues on imaginary axis) are topologically conjugate to their linearization (Hartman-Grobman theorem).
  • Markov chain theory. Powers Aⁿ for stochastic A are studied via JCF of A. Eigenvalues of modulus 1 give persistent components; eigenvalues with |λ|<1 decay polynomially in n if their Jordan blocks are larger than 1×1.
  • Algorithm design. Many matrix functions f(A) — sin, cos, log, square root — are well-defined when f is analytic in a neighborhood of the spectrum. The JCF gives a clean closed form: f(A) = P · diag(f applied to each block) · P⁻¹, with f on a Jordan block computed via Taylor series of f at λ.

Common misconceptions

  • Every matrix is diagonalizable. No — diagonalizable iff every eigenvalue's algebraic multiplicity equals its geometric multiplicity. The simplest non-diagonalizable matrix is [[0,1],[0,0]]: eigenvalue 0 with algebraic mult 2, geometric mult 1. JCF is exactly the framework for handling these "defective" matrices.
  • JCF is unique. Unique up to ordering of blocks. The set of pairs (eigenvalue, block size) is uniquely determined; how you arrange them on the diagonal is a free choice. Convention is usually to group blocks by eigenvalue, then by decreasing size within each group.
  • Only over ℂ. Half-true — JCF as commonly stated needs an algebraically closed field. Over ℝ, use real Jordan form (with 2×2 real blocks for complex-conjugate pairs) or rational canonical form (works over any field). Over a finite field 𝔽_q, JCF works iff the characteristic polynomial splits there.
  • JCF is computable in practice. JCF is numerically catastrophically ill-conditioned. A small perturbation of [[0,1],[0,0]] can split the repeated eigenvalue and give a totally different (diagonalizable) JCF. Numerical software computes Schur form (upper triangular, unitarily similar) instead — well-conditioned and equally useful for many purposes.
  • Number of blocks = number of eigenvalues. No — number of Jordan blocks = sum of geometric multiplicities. A single repeated eigenvalue can have multiple blocks, e.g. eigenvalue 5 might appear as J(5,3) ⊕ J(5,2) ⊕ J(5,1) — three blocks for one eigenvalue.
  • Generalized eigenvectors are unique. Generalized eigenvectors form a basis of the generalized eigenspace ker(A − λI)^∞, but the basis is not unique. The Jordan basis is determined up to choices within each chain — only the block sizes are invariant. This is why JCF is unique up to ordering, but the similarity transform P is not unique.

Worked example

Take A = [[5, 1, 0], [0, 5, 0], [0, 0, 5]]. Characteristic polynomial: (x−5)³. Single eigenvalue 5 with algebraic multiplicity 3. Compute kernels: A − 5I = [[0,1,0],[0,0,0],[0,0,0]] has rank 1, so ker(A−5I) has dimension 2 — geometric multiplicity 2.

Number of Jordan blocks for eigenvalue 5 = geometric multiplicity = 2. Total size = algebraic multiplicity = 3. So block sizes are (2, 1). JCF = J(5,2) ⊕ J(5,1) = [[5,1,0],[0,5,0],[0,0,5]]. The matrix is already in Jordan form. Note this is not diagonal — it has a 1 in the (1,2) position from the size-2 block.

Now consider B = [[5,1,0],[0,5,1],[0,0,5]]. Same algebraic multiplicity 3 for eigenvalue 5. But B − 5I has rank 2, so geometric multiplicity = 1. One Jordan block of size 3: JCF = J(5,3) = B itself. Compare to A: same characteristic polynomial, different JCF, hence not similar to each other. Minimal polynomial of A is (x−5)² (largest block size 2); minimal polynomial of B is (x−5)³.

Computing e^(Bt) for the size-3 block: B = 5I + N where N = [[0,1,0],[0,0,1],[0,0,0]], N² = [[0,0,1],[0,0,0],[0,0,0]], N³ = 0. So e^(Bt) = e^(5t)(I + Nt + N²t²/2) = e^(5t) [[1, t, t²/2], [0, 1, t], [0, 0, 1]]. The polynomial-times-exponential structure is visible.

Frequently asked questions

What are algebraic and geometric multiplicities?

For an eigenvalue λ of matrix A: algebraic multiplicity = the power of (x − λ) dividing the characteristic polynomial det(xI − A). Geometric multiplicity = dim ker(A − λI), the dimension of the eigenspace. Always 1 ≤ geom ≤ alg. Diagonalizable iff geom = alg for every eigenvalue. In JCF: algebraic multiplicity = total occurrences of λ on the diagonal across all Jordan blocks for λ; geometric multiplicity = number of Jordan blocks for λ. The 'gap' alg − geom counts how 'defective' the matrix is at λ.

Why does ℂ make this work but ℝ doesn't always?

JCF requires that the characteristic polynomial fully factor into linear pieces over the field — equivalently, the field must be algebraically closed for the result to apply universally. ℂ is algebraically closed (fundamental theorem of algebra); ℝ is not. Over ℝ, [[0,−1],[1,0]] (90° rotation) has characteristic polynomial x² + 1 with no real roots — no JCF over ℝ. The remedy: real Jordan form, where complex-conjugate eigenvalue pairs combine into 2×2 real blocks. Or rational canonical form (Frobenius normal form), which works over any field.

How do you compute Jordan form (find generalized eigenvectors)?

Algorithm: (1) Find eigenvalues λᵢ from characteristic polynomial. (2) For each λ, compute kernels ker(A − λI), ker(A − λI)², ker(A − λI)³, … until stable (the 'generalized eigenspace'). (3) Block sizes = differences in dimensions: number of k×k blocks = dim ker(A−λI)^k − 2·dim ker(A−λI)^(k−1) + dim ker(A−λI)^(k−2) (with conventions for k=1,2). (4) Pick basis of generalized eigenvectors: choose v with (A−λI)^k v = 0 but (A−λI)^(k−1) v ≠ 0, then chain (A−λI)v, (A−λI)²v, … back to a regular eigenvector. Numerically very ill-conditioned — JCF is theoretical, not computational.

What is e^At for a Jordan block?

For a k×k Jordan block J = J(λ, k): J = λI + N where N is nilpotent (N^k = 0) with 1s on superdiagonal. Then e^(Jt) = e^(λt) e^(Nt) = e^(λt) (I + Nt + N²t²/2! + … + N^(k−1) t^(k−1)/(k−1)!). Result: upper-triangular Toeplitz matrix with e^(λt) on diagonal, t·e^(λt) on superdiagonal, t²/2 · e^(λt) on next, and so on. Solutions to ODEs x' = Ax thus have terms of the form t^j e^(λt) — polynomial-times-exponential. Diagonal A gives only e^(λt); Jordan blocks of size k introduce powers up to t^(k−1).

How is JCF related to the minimal polynomial?

From JCF you can read off both polynomials. Characteristic polynomial = ∏ (x − λᵢ)^(algebraic multiplicity). Minimal polynomial = ∏ (x − λᵢ)^(largest Jordan block size at λᵢ). For example, JCF blocks J(2,3), J(2,1), J(5,2) gives characteristic polynomial (x−2)⁴(x−5)² and minimal polynomial (x−2)³(x−5)². The matrix is diagonalizable iff all blocks are 1×1 iff minimal polynomial has distinct linear roots. The largest block size at each eigenvalue is the only invariant the minimal polynomial captures.

When does ℝ-JCF exist (rational canonical form)?

Two real-friendly canonical forms: (1) Real Jordan form — group complex-conjugate eigenvalue pairs a±bi into 2×2 real blocks [[a,b],[−b,a]] with similar 'companion' superdiagonal structure for sizes >1. Works for matrices with real entries. (2) Rational canonical form (also called Frobenius normal form) — block-diagonal with companion matrices of the invariant factors of A. Works over any field, no algebraic-closure requirement. For ℝ matrices, real Jordan form is more interpretable; rational canonical form is more universal.