A Reliable Route Through a Jordan-Form Problem
Finding a Jordan form is not a single calculation. A complete solution identifies the eigenvalues and their algebraic multiplicities, determines how many Jordan blocks belong to each eigenvalue and how large those blocks are, constructs the generalized eigenvectors, and verifies that they really produce a similarity. Each stage supplies a check on the stage before it: the block sizes must account for the matrix dimension, and the constructed chains must satisfy the defining equations.
We work over \(\mathbb{R}\) for the examples, whose characteristic polynomials split into real linear factors. In general, a real matrix may require working over \(\mathbb{C}\) to obtain all its eigenvalues and a Jordan form. For a matrix \(\mathbf{A}\), an eigenvalue \(\lambda\) has eigenspace \(\ker(\mathbf{A}-\lambda\mathbf{I})\). Its generalized eigenspace is \(\ker(\mathbf{A}-\lambda\mathbf{I})^k\) for a sufficiently large positive integer \(k\); for an \(n\times n\) matrix, \(k=n\) is sufficient. The algebraic multiplicity of \(\lambda\) is its multiplicity as a root of \(p_{\mathbf{A}}(\lambda)=\det(\mathbf{A}-\lambda\mathbf{I})\).
In a chain, the eigenvector comes first and the generalized eigenvectors follow it. If the chain vectors are used as columns in that order, the matrix of the restriction to their span is the Jordan block with superdiagonal \(1\)'s. Reversing the chain without changing the block convention is a common source of errors.
Kernel Dimensions Determine the Block Sizes
For a fixed eigenvalue \(\lambda\), write \(N=\mathbf{A}-\lambda\mathbf{I}\) and \(d_k=\dim\ker N^k\), with \(d_0=0\). The successive increases in these dimensions encode the sizes of the Jordan blocks. We state and justify the rule, which is the main numerical guide for deciding how many chains to build.
Proof. In a Jordan block of size \(s\) for \(\lambda\), subtracting \(\lambda\mathbf{I}\) leaves the nilpotent block with \(1\)'s on the superdiagonal. Its \(k\)-th power has kernel dimension \(\min(k,s)\): if \(k<s\), the first \(k\) standard coordinate vectors lie in the kernel and the remaining \(s-k\) coordinates do not; if \(k\ge s\), the power is zero and the whole \(s\)-dimensional block is in the kernel. On a direct sum of blocks, the kernel dimensions add, giving \(d_k=\sum_i\min(k,s_i)\). For each block, \(\min(k,s_i)-\min(k-1,s_i)\) equals \(1\) when \(s_i\ge k\), and \(0\) otherwise. Summing proves the count of blocks of size at least \(k\). Subtracting the count of blocks of size at least \(k+1\) from the count of blocks of size at least \(k\) gives the count of blocks of size exactly \(k\). \(\square\)
This rule is used together with the Jordan form existence theorem and the kernel-dimension method from the earlier material on Jordan form. It explains why the nullity of \(\mathbf{A}-\lambda\mathbf{I}\) alone is not enough: it gives the number of blocks, but not their lengths. Higher powers supply the missing information.
Worked Problems: From Factorization to Chains
Worked Example: A Length-Two Chain and a Second Eigenvalue
Find a Jordan form and a verifying similarity for
The matrix \(\mathbf{A}-\lambda\mathbf{I}\) is block upper triangular, so its determinant is the product of the determinant of its upper-left \(2\times2\) block and \(5-\lambda\):
Thus \(2\) has algebraic multiplicity \(2\), and \(5\) has algebraic multiplicity \(1\). For \(\lambda=2\),
The equation \((\mathbf{A}-2\mathbf{I})\mathbf{x}=\mathbf{0}\) gives \(x_1=x_2\) and \(x_3=0\), so \(\ker(\mathbf{A}-2\mathbf{I})\) is spanned by \(\mathbf{v}_1=(1,1,0)^{\top}\). Choose \(\mathbf{v}_2=(1,0,0)^{\top}\). Direct multiplication gives \((\mathbf{A}-2\mathbf{I})\mathbf{v}_2=(1,1,0)^{\top}=\mathbf{v}_1\). For \(\lambda=5\), \(\mathbf{w}=(0,0,1)^{\top}\) satisfies \(\mathbf{A}\mathbf{w}=5\mathbf{w}\). These chains account for all three dimensions.
Put the chain vectors in columns, in chain order, to form \(\mathbf{P}\). The corresponding Jordan matrix is \(\mathbf{J}\):
The determinant of \(\mathbf{P}\) is \(-1\), so \(\mathbf{P}\) is invertible. Check the similarity by multiplying column by column:
For example, the second column of \(\mathbf{A}\mathbf{P}\) is \(\mathbf{A}\mathbf{v}_2=(3,1,0)^{\top}\), and the second column of \(\mathbf{P}\mathbf{J}\) is \(\mathbf{v}_1+2\mathbf{v}_2=(3,1,0)^{\top}\). Since \(\mathbf{A}\mathbf{P}=\mathbf{P}\mathbf{J}\) and \(\mathbf{P}\) is invertible, \(\mathbf{P}^{-1}\mathbf{A}\mathbf{P}=\mathbf{J}\), as required.
Worked Example: One Chain of Length Three
Consider
The matrix is upper triangular, so the characteristic polynomial is \(p_{\mathbf{A}}(\lambda)=(1-\lambda)^3(4-\lambda)\). Thus the eigenvalues are \(1\), of algebraic multiplicity \(3\), and \(4\), of algebraic multiplicity \(1\). Let \(N=\mathbf{A}-\mathbf{I}\). Solving \(N\mathbf{x}=\mathbf{0}\) gives \(x_2-x_3=0\), \(x_3=0\), and \(3x_4=0\). Hence \(x_2=x_3=x_4=0\), while \(x_1\) is free: the eigenspace for \(1\) is spanned by \(\mathbf{v}_1=(1,0,0,0)^{\top}\).
To extend the chain, solve \(N\mathbf{v}_2=\mathbf{v}_1\) and then \(N\mathbf{v}_3=\mathbf{v}_2\). The vectors \(\mathbf{v}_2=(0,1,0,0)^{\top}\) and \(\mathbf{v}_3=(1,1,1,0)^{\top}\) work, since
The eigenvector \(\mathbf{w}=(0,0,0,1)^{\top}\) belongs to eigenvalue \(4\). Take \(\mathbf{P}=[\mathbf{v}_1\ \mathbf{v}_2\ \mathbf{v}_3\ \mathbf{w}]\). The columns are independent: their matrix is upper triangular with diagonal entries \(1,1,1,1\), so its determinant is \(1\). The proposed Jordan matrix and direct product check are
For the third column, the check is \(\mathbf{A}\mathbf{v}_3=(1,2,1,0)^{\top}=\mathbf{v}_2+\mathbf{v}_3\), which is exactly what the third column of \(\mathbf{P}\mathbf{J}\) requires. Invertibility of \(\mathbf{P}\) now gives \(\mathbf{P}^{-1}\mathbf{A}\mathbf{P}=\mathbf{J}\).
Separate Chains and the Kernel-Dimension Check
Worked Example: Two Chains of Length Two
For the matrix
the characteristic polynomial is \(\lambda^4\). The matrix is nilpotent, and solving \(\mathbf{A}\mathbf{x}=\mathbf{0}\) gives \(x_2+x_4=0\) and \(x_4=0\). Thus \(x_2=x_4=0\), while \(x_1,x_3\) are free; therefore \(d_1=\dim\ker\mathbf{A}=2\). Also, multiplication shows \(\mathbf{A}^2=\mathbf{O}\), so \(d_2=4\), and all higher \(d_k\) equal \(4\).
The kernel-dimension rule gives \(d_1=2\) blocks in total and \(d_2-d_1=2\) blocks of size at least \(2\). There are no blocks of size \(3\) or more, because \(d_3-d_2=0\). Therefore both blocks have size \(2\). Choose chain tops \(\mathbf{v}_2=(0,1,0,0)^{\top}\) and \(\mathbf{w}_2=(0,0,0,1)^{\top}\). Their images are \(\mathbf{v}_1=\mathbf{A}\mathbf{v}_2=(1,0,0,0)^{\top}\) and \(\mathbf{w}_1=\mathbf{A}\mathbf{w}_2=(1,0,1,0)^{\top}\). The two chains are \((\mathbf{v}_1,\mathbf{v}_2)\) and \((\mathbf{w}_1,\mathbf{w}_2)\).
With columns in chain order, the proposed matrices are
The determinant of \(\mathbf{P}\) is \(1\). Multiplying, the columns of \(\mathbf{A}\mathbf{P}\) are respectively \(\mathbf{0},\mathbf{v}_1,\mathbf{0},\mathbf{w}_1\), so
Thus \(\mathbf{P}^{-1}\mathbf{A}\mathbf{P}=\mathbf{J}\). The chain relations, the kernel dimensions, and the direct similarity check all agree.
Why the Chain Verification Works
Proof. For the first vector of each chain, the defining equation gives \(\mathbf{A}\mathbf{v}_1=\lambda\mathbf{v}_1\). For each later vector, it gives \(\mathbf{A}\mathbf{v}_j=\lambda\mathbf{v}_j+\mathbf{v}_{j-1}\). These are precisely the columns of the product of that chain's column matrix with its Jordan block: the diagonal contributes \(\lambda\mathbf{v}_j\), and the superdiagonal contributes \(\mathbf{v}_{j-1}\). Applying this to every chain shows that each column of \(\mathbf{A}\mathbf{P}\) equals the corresponding column of \(\mathbf{P}\mathbf{J}\). Therefore \(\mathbf{A}\mathbf{P}=\mathbf{P}\mathbf{J}\). Multiplying on the left by \(\mathbf{P}^{-1}\), which exists by hypothesis, gives \(\mathbf{P}^{-1}\mathbf{A}\mathbf{P}=\mathbf{J}\). \(\square\)
This proposition explains why the final multiplication is more than a cosmetic check. It tests the ordering of the chain vectors and the placement of the \(1\)'s in the Jordan blocks. A candidate \(\mathbf{J}\) is not established merely by matching eigenvalues and block sizes: the chains must be correct, the assembled columns must form a basis, and the similarity identity must hold.
Common Pitfall: Confusing the Number of Chains with Their Lengths
In the third example, \(\dim\ker\mathbf{A}=2\). A wrong conclusion would be that the matrix has two blocks of size \(1\), because the eigenspace has dimension \(2\). That conclusion accounts for only \(1+1=2\) dimensions, although \(\mathbf{A}\) is \(4\times4\). The correction is to compute higher kernels: \(\dim\ker\mathbf{A}^2=4\), so \(d_2-d_1=2\) blocks have size at least \(2\). Together with \(d_3-d_2=0\), this gives exactly two blocks of size \(2\), accounting for all four dimensions.
As a practical order of work, factor the characteristic polynomial first; use the algebraic multiplicities to check the total block sizes; compute the dimensions of successive kernels to determine the block sizes; solve the chain equations; then verify that the chain columns form an invertible matrix and satisfy \(\mathbf{A}\mathbf{P}=\mathbf{P}\mathbf{J}\). If any check fails, return to the chain equations before changing the proposed Jordan blocks.
Check Your Understanding
For each problem, keep the chain order explicit and use a direct product check where requested.
- If \(d_1=3\), \(d_2=5\), \(d_3=6\), and \(d_4=6\) for an eigenvalue, how many blocks have size at least \(1\), \(2\), \(3\), and \(4\)?
- For the chain relations \((\mathbf{A}-\lambda\mathbf{I})\mathbf{v}_1=\mathbf{0}\) and \((\mathbf{A}-\lambda\mathbf{I})\mathbf{v}_2=\mathbf{v}_1\), write the two columns of \(\mathbf{A}[\mathbf{v}_1\ \mathbf{v}_2]\).
- For a \(4\times4\) matrix, suppose \(d_1=2\), \(d_2=3\), \(d_3=4\). Determine the Jordan block sizes for that eigenvalue.
- Explain why an invertible \(\mathbf{P}\) and the identity \(\mathbf{A}\mathbf{P}=\mathbf{P}\mathbf{J}\) imply \(\mathbf{P}^{-1}\mathbf{A}\mathbf{P}=\mathbf{J}\).
- In the first worked example, verify the first column of \(\mathbf{A}\mathbf{P}=\mathbf{P}\mathbf{J}\) by multiplying the corresponding vector.