Jordan Normal Form Calculator
Compute the Jordan canonical form J of a square matrix, plus the transition matrix P such that P^(-1)AP = J. Handles defective (non-diagonalizable) matrices via generalized eigenvectors, with step-by-step kernel-chain analysis and a visual Jordan-block diagram.
Your ad blocker is preventing us from showing ads
MiniWebtool is free because of ads. If this tool helped you, please support us by going Premium (ad‑free + faster tools), or allowlist MiniWebtool.com and reload.
- Allow ads for MiniWebtool.com, then reload
- Or upgrade to Premium (ad‑free)
About Jordan Normal Form Calculator
The Jordan Normal Form Calculator produces the Jordan canonical form J of a square matrix A together with an invertible transition matrix P satisfying the similarity relation P⁻¹AP = J. Unlike diagonalization, which fails for defective matrices, the Jordan form exists for every square matrix over an algebraically closed field — it replaces the diagonal representation with a sequence of Jordan blocks, each an almost-diagonal matrix holding an eigenvalue on the diagonal and 1s on the superdiagonal. This tool computes everything with exact rational arithmetic, so the resulting J and P are provably correct — no floating-point rounding is involved.
What Is the Jordan Normal Form?
Given an n × n matrix A over the complex numbers, the Jordan normal form J is a block-diagonal matrix
where each Jordan block Jk(λ) is a k × k matrix with λ on the diagonal, 1s on the superdiagonal, and zeros elsewhere:
The eigenvalues λi may repeat across blocks; what matters is the pattern of block sizes, which is a complete similarity invariant of A.
Why Do We Need Jordan Form When We Have Diagonalization?
Not every square matrix is diagonalizable. A matrix fails to be diagonalizable when some eigenvalue has fewer independent eigenvectors than its algebraic multiplicity — we say the matrix is defective. The Jordan form repairs this gap by introducing generalized eigenvectors, yielding a canonical form that works for every matrix.
| Situation | Eigenvalue behaviour | Canonical form |
|---|---|---|
| n distinct eigenvalues | alg. mult. = geom. mult. = 1 for each λ | Fully diagonal (no chains needed) |
| Repeated eigenvalue, algebraic = geometric | λ has as many eigenvectors as its multiplicity | Diagonal — all Jordan blocks have size 1 |
| Repeated eigenvalue, algebraic > geometric | λ is defective | Jordan form with blocks of size ≥ 2 |
Key Concepts
Algebraic vs Geometric Multiplicity
The algebraic multiplicity of an eigenvalue λ is the multiplicity of λ as a root of the characteristic polynomial pA(λ) = det(λI − A). The geometric multiplicity is the dimension of the eigenspace, or equivalently dim ker(A − λI). The number of Jordan blocks associated with λ equals its geometric multiplicity, and the total size of those blocks equals its algebraic multiplicity.
Generalized Eigenvectors and Chains
A vector v is a generalized eigenvector of rank k for eigenvalue λ if (A − λI)kv = 0 but (A − λI)k−1v ≠ 0. Applying N = (A − λI) to a rank-k generalized eigenvector produces one of rank k−1, so we obtain a Jordan chain:
Placing the chain in the order v1, v2, …, vk as the columns of P produces a size-k Jordan block in the corresponding rows/columns of J.
The Kernel Ladder and Block Counts
For each eigenvalue λ, define the ascending sequence dk = dim ker((A − λI)k). The sequence is non-decreasing, stabilizing at the algebraic multiplicity of λ. The counts of Jordan blocks of each size are extracted from this ladder:
This is a Young-diagram count and it is exact — no guesswork required. The calculator prints this ladder for every eigenvalue so you can follow the decomposition step by step.
Minimal Polynomial
The minimal polynomial mA(λ) is the monic polynomial of least degree that satisfies mA(A) = 0. Once you have the Jordan form, reading it off is trivial:
A matrix is diagonalizable iff its minimal polynomial has no repeated roots, i.e. every Jordan block has size 1.
How This Calculator Works
- Parse the matrix — integer, fraction (e.g.
1/2), or decimal entries are all accepted and converted to exact rationals (fractions.Fraction). - Compute the characteristic polynomial using the Faddeev–LeVerrier algorithm, which avoids symbolic determinant expansion and runs in O(n⁴) time with exact arithmetic.
- Find rational eigenvalues via the Rational Root Theorem — every rational root p/q of a primitive integer polynomial satisfies p ∣ constant term and q ∣ leading coefficient. Each found root is divided out and the search repeats.
- Build the kernel ladder for every eigenvalue λ by computing dim ker((A − λI)k) with rational RREF until the sequence stabilizes at the algebraic multiplicity.
- Select chain-top vectors from the largest kernel down to the smallest, extending the basis whenever a new Jordan block is required. Each chain top is then repeatedly multiplied by (A − λI) to obtain its chain vectors.
- Assemble J and P by grouping chains per eigenvalue (blocks of largest size first), placing chain vectors as the columns of P and filling J with the eigenvalues and superdiagonal 1s.
- Verify exactly that P⁻¹ A P = J using integer arithmetic — the result is guaranteed because all intermediate computations are rational.
Worked Example
Consider the defective 3 × 3 matrix
- Characteristic polynomial: \(p_A(\lambda) = (\lambda - 5)^3\). Single eigenvalue λ = 5 with algebraic multiplicity 3.
- Kernel ladder for λ = 5: \(d_1 = 1\), \(d_2 = 2\), \(d_3 = 3\). The increments are 1, 1, 1 → a single Jordan block of size 3.
- Jordan form: \(J = \begin{bmatrix} 5 & 1 & 0 \\ 0 & 5 & 1 \\ 0 & 0 & 5 \end{bmatrix}\), with geometric multiplicity 1 and index 3.
- Minimal polynomial: \(m_A(\lambda) = (\lambda - 5)^3\) — same as the characteristic polynomial because there is only one Jordan block.
Applications of Jordan Normal Form
- Matrix exponentials and linear ODEs — for a constant-coefficient system x′ = Ax, the closed-form solution is \(e^{tA}x_0\), and \(e^{tA}\) is straightforward to compute once A is written in Jordan form.
- Powers of a matrix — \(A^k = P J^k P^{-1}\), and Jordan blocks admit explicit formulas for their powers.
- Functional calculus — \(f(A) = P f(J) P^{-1}\) generalizes to arbitrary analytic f, provided f is defined on a neighbourhood of the spectrum.
- Control theory — stability of linear systems is governed by the eigenvalues and Jordan block sizes (borderline cases require looking at the largest block for a marginal eigenvalue).
- Classification of linear operators — two matrices are similar iff they share the same Jordan form, so the form is a complete invariant.
Frequently Asked Questions
What is the Jordan normal form of a matrix?
The Jordan normal form (also called Jordan canonical form) is a nearly-diagonal matrix J similar to the original matrix A, meaning there exists an invertible matrix P with P⁻¹AP = J. The diagonal of J contains the eigenvalues of A, and just above the diagonal there are 1s that appear inside Jordan blocks whenever A is not diagonalizable. Every square matrix over the complex numbers has a Jordan normal form, unique up to the ordering of blocks.
When is a matrix not diagonalizable?
A matrix is not diagonalizable when at least one eigenvalue has fewer linearly independent eigenvectors than its algebraic multiplicity — the gap is filled by Jordan blocks of size 2 or larger. Equivalently, a matrix is not diagonalizable when its minimal polynomial has a repeated root. Such matrices are called defective.
How are generalized eigenvectors defined?
A generalized eigenvector of rank k for eigenvalue λ is a non-zero vector v such that (A − λI)kv = 0 but (A − λI)k−1v is non-zero. Applying (A − λI) to a rank-k generalized eigenvector gives one of rank k−1, producing a chain. These chains form the columns of the transition matrix P in the Jordan decomposition.
What is the difference between algebraic and geometric multiplicity?
The algebraic multiplicity of an eigenvalue λ is the number of times it appears as a root of the characteristic polynomial. The geometric multiplicity is the dimension of its eigenspace — the number of linearly independent eigenvectors. Geometric multiplicity equals the number of Jordan blocks for λ, while algebraic multiplicity equals the total size of all those blocks. Equal multiplicities mean the eigenvalue contributes only size-1 blocks.
How does this calculator find the Jordan block sizes?
For each eigenvalue λ, the calculator computes the dimensions dk = dim ker((A − λI)k) for k = 1, 2, … until the sequence stabilizes at the algebraic multiplicity. The number of Jordan blocks of size at least k equals dk − dk−1. Subtracting consecutive terms yields the exact count of blocks of each size. This Young-diagram calculation is exact and uses rational arithmetic throughout.
Does the calculator handle matrices with irrational or complex eigenvalues?
The calculator uses exact rational arithmetic, which requires eigenvalues to be rational numbers. When the characteristic polynomial has factors that do not split over the rationals, the tool shows numerically approximated complex eigenvalues for the remaining factor but does not produce the full Jordan form, because exact arithmetic is essential to determining block sizes correctly. Scale or modify your matrix so that all eigenvalues are rational to obtain the complete Jordan decomposition.
What is the minimal polynomial and how is it computed here?
The minimal polynomial m(λ) is the monic polynomial of smallest degree that annihilates A, meaning m(A) = 0. It equals the product over distinct eigenvalues λ of (λ − λi)indexi, where the index is the size of the largest Jordan block for eigenvalue λi. This calculator reads the index directly from the computed block structure, so the minimal polynomial is a free byproduct of the Jordan decomposition.
Further Reading
- Jordan normal form — Wikipedia
- Generalized eigenvector — Wikipedia
- Minimal polynomial — Wikipedia
- Faddeev–LeVerrier algorithm — Wikipedia
Reference this content, page, or tool as:
"Jordan Normal Form Calculator" at https://MiniWebtool.com// from MiniWebtool, https://MiniWebtool.com/
by miniwebtool team. Updated: Apr 23, 2026
You can also try our AI Math Solver GPT to solve your math problems through natural language question and answer.