Week 14 — Generalized eigenvectors, nilpotent operators, and primary decomposition

Where this week starts

Week 11 produced a criterion and Week 13 sharpened it: an operator \(T\) on a finite-dimensional space \(V\) over \(F\) is diagonalizable exactly when \(p_T\) splits over \(F\) and the geometric multiplicity matches the algebraic multiplicity at every eigenvalue. Both weeks then met the same wall. The two-by-two matrix with \(2\) on the diagonal and a single \(1\) above it has \(p_T(t) = (t-2)^2\), so \(\operatorname{alg}(2) = 2\), while \(\ker(T - 2I)\) is a line, so \(\operatorname{geo}(2) = 1\). The eigenspaces do not fill the space, no basis of eigenvectors exists, and every technique built on one stops working.

This week takes that wall apart. Stop asking for vectors killed by \(T - \lambda I\) and ask instead for vectors killed by some power of it. Those are the generalized eigenvectors; they form a subspace \(G_{\lambda}\) strictly larger than \(E_{\lambda}\) whenever \(\lambda\) is defective; and the central theorem says that once \(p_T\) splits, the generalized eigenspaces do fill \(V\), as a direct sum. Inside each of them \(T\) is \(\lambda\) times the identity plus something that dies under repeated application, and repeated application organises that something into chains \(v, Nv, N^2v, \dots\) whose lengths a rank computation reports.

Week 13 could triangularize any complex operator but said nothing about which triangular matrix; the chain lengths are that missing information, and Week 15 assembles them into the Jordan canonical form. Hold both pictures by the end of this page: \(V\) split into invariant pieces of dimension \(\operatorname{alg}(\lambda)\), and inside each piece a scalar plus a stack of chains.

Why this matters beyond the definition

Here is a claim people make and then use. “The eigenvalues of \(A\) are \(2, 2, 5\), so \(A\) behaves like \(\operatorname{diag}(2,2,5)\) for anything I care about — powers, exponentials, long-run growth.” The second worked example below has exactly those eigenvalues and refutes the claim: its eigenspace at \(2\) has dimension one, not two, and \(A^{k}\) carries a factor growing like \(k \cdot 2^{k-1}\) that no diagonal matrix produces. Predicting growth from eigenvalues alone is wrong by a polynomial factor, and the generalized eigenspace is where that factor lives.

The second stake is structural. Week 13 showed that \(p_T\) does not determine an operator up to similarity: \(\operatorname{diag}(2,2)\) and the two-by-two block with a \(1\) above the diagonal share a characteristic polynomial and are not similar. This week supplies what is missing, namely for each \(\lambda\) the sequence of ranks of the powers of \(T - \lambda I\) — computable, invariant under similarity, and by Week 15 complete.

What you will be able to do

  • Define a generalized eigenvector and \(G_{\lambda} = \ker\big((T - \lambda I)^{\dim V}\big)\), and prove that the chain of kernels of successive powers stops growing no later than step \(\dim V\).
  • Prove that \(\dim G_{\lambda} = \operatorname{alg}(\lambda)\) for an operator on a finite-dimensional space, naming where finite-dimensionality is used.
  • State and prove the primary decomposition theorem, including the hypothesis that \(p_T\) splits over \(F\), and exhibit the failure over \(\mathbb{R}\) when it does not.
  • Prove that a nilpotent operator on an \(n\)-dimensional space satisfies \(N^{n} = 0\) and has \(0\) as its only eigenvalue.
  • Construct a cyclic chain, prove its vectors independent, and assemble a chain basis in which a nilpotent matrix is a direct sum of blocks.
  • Compute \(\operatorname{rank} N^{k}\) for each \(k\) and convert that sequence into the multiset of chain lengths by the difference rule.

Terms and notation worth fixing

Symbol or term What it means on this page
\(S = T - \lambda I\) the shifted operator whose powers this week studies; \(S\) is a map, never a subspace
generalized eigenvector a nonzero \(v\) with \(S^{j}v = 0\) for some \(j \ge 1\); its rank is the least such \(j\)
\(E_{\lambda} = \ker S\) the ordinary eigenspace, the generalized eigenvectors of rank one together with \(0\)
\(G_{\lambda} = \ker S^{\dim V}\) the generalized eigenspace at \(\lambda\), all generalized eigenvectors together with \(0\)
\(\operatorname{alg}(\lambda)\), \(\operatorname{geo}(\lambda)\) multiplicity of \(\lambda\) as a root of \(p_T\); and \(\dim E_{\lambda}\)
nilpotent, index \(N^{m} = 0\) for some \(m \ge 1\); the index is the least such \(m\)
cyclic chain \(Z(v)\) \(\operatorname{span}(v, Nv, \dots, N^{p-1}v)\) where \(N^{p}v = 0 \ne N^{p-1}v\)
\(J_k(\lambda)\) the \(k \times k\) matrix with \(\lambda\) on the diagonal and \(1\) on the superdiagonal
\(r_k = \operatorname{rank} S^{k}\) the rank sequence, with \(r_0 = \dim V\) by convention

Enlarging an eigenspace until it stops growing

Fix a finite-dimensional \(V\) over \(F\) with \(\dim V = n \ge 1\), an operator \(T \in \mathcal{L}(V)\), and a scalar \(\lambda \in F\); write \(S = T - \lambda I\) throughout. The eigenspace \(\ker S\) was too small in the defective case, so consider the ascending family \(\ker S, \ker S^2, \ker S^3, \dots\) and ask where it goes. Two facts settle that: the family is nested, and it cannot climb forever in finite dimensions.

The kernel chain and where it stabilises

Write \(K_j = \ker S^{j}\), with \(K_0 = \ker I = \{0\}\). If \(S^{j}v = 0\) then \(S^{j+1}v = S(S^{j}v) = 0\), so \[\{0\} = K_0 \subseteq K_1 \subseteq K_2 \subseteq \cdots ,\] an ascending chain of subspaces of \(V\). Nothing so far uses finite-dimensionality.

Lemma (stabilisation). Let \(V\) be any vector space over \(F\) and \(S \in \mathcal{L}(V)\). If \(K_m = K_{m+1}\) for some \(m \ge 0\), then \(K_j = K_m\) for every \(j \ge m\).

Argument. It suffices to show \(K_{m+2} = K_{m+1}\) and then induct. Take \(v \in K_{m+2}\). Then \(S^{m+1}(Sv) = S^{m+2}v = 0\), so \(Sv \in K_{m+1} = K_m\), hence \(S^{m}(Sv) = 0\), that is \(S^{m+1}v = 0\) and \(v \in K_{m+1}\). The reverse containment is the nesting already noted, so \(K_{m+2} = K_{m+1} = K_m\), and repeating carries the equality up the chain.

The lemma says the chain has no second wind: once it pauses, it has stopped for good. Finite-dimensionality now bounds where the pause happens.

Proposition. If \(\dim V = n\) is finite, then \(K_n = K_{n+1} = K_{n+2} = \cdots\).

Argument. Suppose the chain were still strict at step \(n\), so \(K_j \subsetneq K_{j+1}\) for every \(j \le n - 1\). Each strict containment forces \(\dim K_{j+1} \ge \dim K_j + 1\), and \(\dim K_0 = 0\), so \(\dim K_n \ge n\) and \(\dim K_{n+1} \ge n + 1\), impossible inside an \(n\)-dimensional space. So some \(j \le n - 1\) has \(K_j = K_{j+1}\), and the lemma freezes the chain from there on; in particular it is frozen at \(n\).

Six horizontal bars whose lengths are the nullities of successive powers of T minus lambda times the identity, showing values zero, two, three, four, four, four inside a frame marked dimension four.

The kernels of the powers grow strictly and then stop, no later than step dim V.

The figure records what that argument produces for the four-by-four matrix of the first worked example: nullities \(0, 2, 3, 4, 4, 4\), strict for three steps and flat afterwards. Two features are general. The bars never shrink, because the kernels are nested; and the flat tail begins no later than the bar at \(k = \dim V\), because a strict step costs a dimension and only \(n\) are available.

Definition. The generalized eigenspace of \(T\) at \(\lambda\) is \(G_{\lambda} = \ker\big((T - \lambda I)^{n}\big)\) with \(n = \dim V\). By the proposition it is the union of all the \(K_j\): a vector lies in \(G_{\lambda}\) exactly when some power of \(S\) kills it. A nonzero member is a generalized eigenvector, and its rank is the least \(j\) with \(S^{j}v = 0\). Rank one means eigenvector, so \(E_{\lambda} \subseteq G_{\lambda}\) always, with equality exactly when \(K_1 = K_2\).

Since \(T\) commutes with \(S\), it commutes with \(S^{n}\), so \(S^{n}v = 0\) gives \(S^{n}(Tv) = T(S^{n}v) = 0\): every \(G_{\lambda}\) is \(T\)-invariant, and \(S\)-invariant for the same reason. On \(G_{\lambda}\) the operator \(S\) satisfies \(S^{n} = 0\) by construction, so \((T - \lambda I)|_{G_{\lambda}}\) is nilpotent. That one sentence is why the second half of this page is about nilpotent operators.

The generalized eigenspace and its dimension

The next result makes \(G_{\lambda}\) worth defining: the enlargement is exactly as large as the characteristic polynomial always claimed the eigenvalue was.

Lemma (Fitting splitting). Let \(\dim V = n\) be finite, \(T \in \mathcal{L}(V)\), \(\lambda \in F\), and \(S = T - \lambda I\). Then \(V = \ker S^{n} \oplus \operatorname{im} S^{n}\), both summands are \(T\)-invariant, and \(S\) restricted to \(\operatorname{im} S^{n}\) is invertible.

Argument. Suppose \(v \in \ker S^{n} \cap \operatorname{im} S^{n}\), say \(v = S^{n}u\). Then \(S^{2n}u = S^{n}v = 0\), so \(u \in K_{2n} = K_{n}\) by the proposition, whence \(v = S^{n}u = 0\). The intersection is trivial, and rank-nullity applied to \(S^{n}\) gives \(\dim \ker S^{n} + \dim \operatorname{im} S^{n} = n\), so by the Week 2 dimension formula the sum is direct and exhausts \(V\). Both summands are \(T\)-invariant because \(T\) commutes with \(S^{n}\), and the kernel and the image of a commuting map are carried into themselves. Finally \(S\) maps \(\operatorname{im} S^{n}\) into itself, and its kernel there lies in \(\ker S \cap \operatorname{im} S^{n} \subseteq \ker S^{n} \cap \operatorname{im} S^{n} = \{0\}\); an injective operator on a finite-dimensional space is invertible.

Lemma (nilpotent means strictly triangular). If \(N \in \mathcal{L}(U)\) is nilpotent with \(\dim U = d\) finite, then \(U\) has an ordered basis in which the matrix of \(N\) is strictly upper triangular, and consequently \(p_N(t) = t^{d}\).

Argument. Let \(m\) be the index, so \(\{0\} = \ker N^0 \subsetneq \ker N^1 \subsetneq \cdots \subsetneq \ker N^{m} = U\). Choose a basis of \(\ker N\), extend it to a basis of \(\ker N^2\), and continue to \(U\), ordering so that the vectors of each stage precede the next. If \(v\) arrived at stage \(j\) then \(N^{j}v = 0\), so \(Nv \in \ker N^{j-1}\), which is spanned by vectors listed strictly earlier; every column of the matrix \(A\) of \(N\) in this basis therefore has zeros on and below the diagonal. Then \(tI - A\) is upper triangular with \(t\) down its diagonal, so \(p_N(t) = \det(tI - A) = t^{d}\).

Theorem. Let \(V\) be finite-dimensional over \(F\) with \(\dim V = n\), let \(T \in \mathcal{L}(V)\), and let \(\lambda \in F\). Then \(\dim G_{\lambda} = \operatorname{alg}(\lambda)\), the multiplicity of \(\lambda\) as a root of \(p_T(t) = \det(tI - T)\). In particular \(\dim G_{\lambda} = 0\) exactly when \(\lambda\) is not an eigenvalue.

Argument. Write \(V = G_{\lambda} \oplus X\) with \(X = \operatorname{im} S^{n}\) by the Fitting lemma, and put \(d = \dim G_{\lambda}\). Both summands are \(T\)-invariant, so a basis of \(G_{\lambda}\) followed by a basis of \(X\) makes the matrix of \(T\) block diagonal, whence \(p_T(t) = p_{T|_{G_{\lambda}}}(t)\, p_{T|_{X}}(t)\) — a determinant fact about block diagonal matrices carried over from MATH 3312. On \(G_{\lambda}\) we have \(T = \lambda I + S\) with \(S\) nilpotent, so the previous lemma supplies a basis making \(S\) strictly upper triangular and \(T\) upper triangular with \(\lambda\) repeated down the diagonal; hence \(p_{T|_{G_{\lambda}}}(t) = (t - \lambda)^{d}\). On \(X\) the operator \(S\) is invertible, so \(\lambda\) is not an eigenvalue of \(T|_{X}\) and \(p_{T|_{X}}(\lambda) \ne 0\). Therefore \((t-\lambda)^{d}\) divides \(p_T\) and no higher power does, which is what \(\operatorname{alg}(\lambda) = d\) says.

Three consequences. Week 11’s inequality \(\operatorname{geo}(\lambda) \le \operatorname{alg}(\lambda)\) is now visible as \(\dim E_{\lambda} \le \dim G_{\lambda}\); an eigenvalue is defective exactly when that containment is strict, hence exactly when \(K_1 \ne K_2\); and the theorem needs no splitting hypothesis, since it concerns one \(\lambda\) at a time and holds over any field. Splitting enters only when the pieces are asked to fill \(V\).

The primary decomposition theorem

The dimension theorem supplies invariant subspaces of known size. If \(p_T\) splits over \(F\) those sizes add to \(n\), and it is reasonable to hope the subspaces fit together as a direct sum. They do, and the proof peels off one generalized eigenspace at a time using the Fitting splitting.

Splitting off one generalized eigenspace

Theorem (primary decomposition). Let \(V\) be finite-dimensional over \(F\) with \(\dim V = n \ge 1\), let \(T \in \mathcal{L}(V)\), and suppose \(p_T\) splits over \(F\), say \[p_T(t) = (t - \lambda_1)^{m_1} \cdots (t - \lambda_k)^{m_k}\] with \(\lambda_1, \dots, \lambda_k\) distinct and \(m_1 + \cdots + m_k = n\). Then \[V = G_{\lambda_1} \oplus \cdots \oplus G_{\lambda_k},\] each \(G_{\lambda_i}\) is \(T\)-invariant with \(\dim G_{\lambda_i} = m_i\), and \((T - \lambda_i I)|_{G_{\lambda_i}}\) is nilpotent.

Argument. Induct on \(k\). If \(k = 1\) then \(p_T(t) = (t - \lambda_1)^{n}\), so \(\dim G_{\lambda_1} = n\) by the dimension theorem and \(G_{\lambda_1} = V\). For \(k \ge 2\), apply the Fitting lemma at \(\lambda_1\): \(V = G_{\lambda_1} \oplus X\) with \(X = \operatorname{im}(T - \lambda_1 I)^{n}\), both \(T\)-invariant and \(\dim G_{\lambda_1} = m_1\). Block diagonality gives \(p_T = (t-\lambda_1)^{m_1}p_{T|_{X}}\), so \(p_{T|_X}(t) = (t - \lambda_2)^{m_2} \cdots (t - \lambda_k)^{m_k}\), which splits over \(F\) with \(k - 1\) distinct roots; the inductive hypothesis decomposes \(X\) into the generalized eigenspaces of \(T|_{X}\).

Those must be identified with the generalized eigenspaces of \(T\) itself. For \(i \ge 2\), the generalized eigenspace of \(T|_X\) at \(\lambda_i\) is \(\ker\big((T - \lambda_i I)^{\dim X}\big) \cap X\), which sits inside \(\ker\big((T - \lambda_i I)^{n}\big) = G_{\lambda_i}\) because \(\dim X \le n\) and the kernels are nested. Both have dimension \(m_i\) — the first by the dimension theorem applied to \(T|_X\), the second by the same theorem applied to \(T\) — and a subspace of the same finite dimension as the space containing it is that space, by Week 2. So they coincide, \(X = G_{\lambda_2} \oplus \cdots \oplus G_{\lambda_k}\), and \(V = G_{\lambda_1} \oplus X\) finishes it. Invariance and nilpotency were established when \(G_{\lambda_i}\) was defined.

A bar of length three split into a piece of length two for the generalized eigenspace at lambda equals two and a piece of length one at lambda equals five, with eigenspaces of dimension one marked inside each and a gap between.

V drawn as a bar split into generalized eigenspaces with the ordinary eigenspaces marked inside.

The figure is the second worked example drawn to scale. The upper bar is the decomposition the theorem produces: invariant pieces of dimensions \(2\) and \(1\), matching the algebraic multiplicities. The lower bar records what the ordinary eigenspaces contribute, and the discrepancy is the point. At \(\lambda = 5\) the two agree, so \(T\) acts there as multiplication by \(5\); at \(\lambda = 2\) the eigenspace is one dimension short, and the marked gap is where a nilpotent part must live. Diagonalizability is the case with no gaps anywhere.

What the decomposition needs from the field

The splitting hypothesis is not decorative. Take the quarter-turn rotation of \(\mathbb{R}^2\), with matrix \(R = \begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix}\) and \(p_R(t) = t^2 + 1\). For real \(\lambda\), \(\det(R - \lambda I) = \lambda^2 + 1 \ne 0\), so \(R - \lambda I\) is invertible, so every power of it is, so \(G_{\lambda} = \{0\}\). The generalized eigenspaces of \(R\) over \(\mathbb{R}\) sum to \(\{0\}\), not to \(\mathbb{R}^2\): the conclusion fails outright, and it fails because \(t^2 + 1\) does not split over \(\mathbb{R}\). Over \(\mathbb{C}\) the same matrix has eigenvalues \(i\) and \(-i\), each of algebraic multiplicity one, with \(G_{i} = E_{i} = \operatorname{span}\big((1, -i)\big)\) — indeed \(R(1,-i)^{\mathsf{T}} = (i, 1)^{\mathsf{T}} = i\,(1,-i)^{\mathsf{T}}\) — and the two lines span \(\mathbb{C}^2\).

This is not a real-versus-complex phenomenon. Over \(\mathbb{Q}\) the matrix \(\begin{pmatrix} 0 & 2 \\ 1 & 0 \end{pmatrix}\) has \(p(t) = t^2 - 2\), irreducible there; over \(\mathbb{F}_2\) the matrix \(\begin{pmatrix} 0 & 1 \\ 1 & 1 \end{pmatrix}\) has \(p(t) = t^2 + t + 1\), with neither \(0\) nor \(1\) as a root. Each failure is an irreducible factor of degree at least two, and the remedy is to enlarge the field until \(p_T\) splits — which an algebraically closed field such as \(\mathbb{C}\) does automatically. That is why Weeks 13 through 15 keep saying \(\mathbb{C}\).

Nilpotent operators and the chains they break into

The decomposition has reduced the study of \(T\) to that of \(\lambda I + N\) on each piece, with \(N\) nilpotent. Adding a scalar multiple of the identity changes nothing structural — it shifts every eigenvalue by \(\lambda\) and leaves every invariant subspace alone, and the kernels and images of the powers of \(T - \lambda I\) on that piece are exactly those of \(N\) — so what remains is to understand a nilpotent operator on its own terms, and it has a complete computable description.

Index of nilpotency and the only eigenvalue

Definition. \(N \in \mathcal{L}(V)\) is nilpotent when \(N^{m} = 0\) for some integer \(m \ge 1\); the least such \(m\) is the index of nilpotency.

Proposition. Let \(V \ne \{0\}\) be finite-dimensional over \(F\) with \(\dim V = n\) and let \(N \in \mathcal{L}(V)\) be nilpotent of index \(m\). Then (i) \(0\) is an eigenvalue of \(N\) and no other scalar is; (ii) \(m \le n\), so \(N^{n} = 0\); (iii) \(p_N(t) = t^{n}\) and \(m_N(t) = t^{m}\).

Argument. (i) If \(Nv = \mu v\) with \(v \ne 0\) then \(0 = N^{m}v = \mu^{m}v\), so \(\mu^{m} = 0\), and a field has no nonzero nilpotent elements, so \(\mu = 0\). And \(N^{m-1} \ne 0\) supplies \(w\) with \(N^{m-1}w \ne 0\) and \(N(N^{m-1}w) = 0\), so \(\ker N \ne \{0\}\) and \(0\) really is an eigenvalue. (ii) Apply the kernel chain with \(\lambda = 0\), so \(S = N\): the containments \(\ker N^{j} \subsetneq \ker N^{j+1}\) are strict for every \(j \le m - 1\), since equality at any such \(j\) would freeze the chain below \(V\) and contradict \(\ker N^{m} = V\). Each strict step costs a dimension, so \(n = \dim \ker N^{m} \ge m\). (iii) Triangularity gives \(p_N(t) = t^{n}\); and \(t^{m}\) annihilates \(N\) while \(t^{m-1}\) does not, so the monic generator of Week 13 is \(t^{m}\).

Part (ii) is where finite-dimensionality does real work. Let \(V\) be the space of all real polynomials and \(D\) differentiation. Then \(\ker D^{j} = P_{j-1}(\mathbb{R})\) has dimension \(j\), so the kernel chain grows strictly forever. Every polynomial is killed by some power of \(D\), so every vector is a generalized eigenvector at \(\lambda = 0\); yet no fixed power of \(D\) is the zero map, so \(D\) is not nilpotent and \(\ker(D^{\dim V})\) has no meaning. Restrict to \(P_3(\mathbb{R})\), where \(\dim = 4\), and everything returns: \(D^4 = 0\), the index is \(4\), and \(x^3 \mapsto 3x^2 \mapsto 6x \mapsto 6 \mapsto 0\) is one chain of length four.

Cyclic chains and the counting rule

Definition. For nilpotent \(N\) and \(v \ne 0\) with \(N^{p}v = 0 \ne N^{p-1}v\), the cyclic chain generated by \(v\) is the list \((N^{p-1}v, \dots, Nv, v)\), and \(Z(v) = \operatorname{span}(v, Nv, \dots, N^{p-1}v)\) is the subspace it spans. It is \(N\)-invariant, since \(N\) moves each listed vector to the next and the last to \(0\).

Lemma. The vectors \(v, Nv, \dots, N^{p-1}v\) are linearly independent, so \(\dim Z(v) = p\); and in the ordered basis \((N^{p-1}v, N^{p-2}v, \dots, Nv, v)\) the matrix of \(N|_{Z(v)}\) is \(J_p(0)\).

Argument. Suppose \(a_0 v + a_1 Nv + \cdots + a_{p-1}N^{p-1}v = 0\) and apply \(N^{p-1}\): every term with \(N^{j}\) for \(j \ge 1\) becomes \(N^{p-1+j}v = 0\), leaving \(a_0 N^{p-1}v = 0\), and \(N^{p-1}v \ne 0\) forces \(a_0 = 0\). Apply \(N^{p-2}\) to what remains to get \(a_1 = 0\), and continue down the list. For the matrix, name the basis \(u_1 = N^{p-1}v, \dots, u_p = v\). Then \(Nu_1 = N^{p}v = 0\) and \(Nu_j = u_{j-1}\) for \(j \ge 2\), so column \(j\) is the \((j-1)\)-st standard column for \(j \ge 2\) and zero for \(j = 1\): ones on the superdiagonal, zeros elsewhere.

Three boxes labelled v, N v and N squared v joined by arrows labelled apply N and ending at a box labelled zero, a separate one box chain below, and a four by four matrix outlining a three by three block and a one by one block.

A cyclic chain collapsing to zero, and the nilpotent block it produces.

The figure shows the two chains of the first worked example and the matrix they produce: the outlined three-by-three block is \(J_3(0)\), the one-by-one block is \(J_1(0) = (0)\). The main diagonal is entirely zero, as part (i) above requires. The short chain is no degenerate case: a single vector of \(\ker N\) outside the long chain contributes a block of size one, and a nilpotent operator all of whose chains have length one is the zero operator.

Theorem (cyclic decomposition of a nilpotent operator). Let \(V\) be finite-dimensional over \(F\) and \(N \in \mathcal{L}(V)\) nilpotent. Then there are vectors \(v_1, \dots, v_r\) with \(V = Z(v_1) \oplus \cdots \oplus Z(v_r)\), so \(V\) has an ordered basis in which the matrix of \(N\) is block diagonal with nilpotent Jordan blocks down the diagonal.

Argument. Induct on \(\dim V\), the case \(V = \{0\}\) being the empty list of chains. Put \(X = \operatorname{im} N\), an \(N\)-invariant subspace with \(\dim X \le \dim V - 1\) since \(N\) is not injective when \(V \ne \{0\}\). By induction \(X = Z(w_1) \oplus \cdots \oplus Z(w_s)\) with chain lengths \(q_i\) summing to \(\operatorname{rank} N\). Each \(w_i\) lies in \(\operatorname{im} N\), so choose \(v_i\) with \(Nv_i = w_i\); then \(N^{q_i + 1}v_i = N^{q_i}w_i = 0\) while \(N^{q_i}v_i = N^{q_i - 1}w_i \ne 0\), so \(Z(v_i)\) has length \(q_i + 1\). The bottom vectors \(N^{q_i}v_i = N^{q_i-1}w_i\) belong to the chain basis of \(X\), hence are independent, and they lie in \(\ker N\); extend them by \(u_1, \dots, u_t\) to a basis of \(\ker N\), so \(s + t = \dim \ker N\).

For directness, suppose \(z_1 + \cdots + z_s + c_1u_1 + \cdots + c_tu_t = 0\) with \(z_i \in Z(v_i)\). Applying \(N\) kills each \(u_j\) and sends \(z_i\) into \(Z(w_i)\), so \(Nz_1 + \cdots + Nz_s = 0\) with \(Nz_i \in Z(w_i)\); directness of the \(Z(w_i)\) forces every \(Nz_i = 0\), which by the independence lemma leaves \(z_i\) a multiple of the bottom vector \(N^{q_i}v_i\). The original relation then reads as a vanishing combination of the chosen basis of \(\ker N\), so every coefficient is zero. Counting, the direct sum has dimension \(\sum_i (q_i + 1) + t = \operatorname{rank} N + s + t = \operatorname{rank} N + \dim \ker N = \dim V\) by rank-nullity, so it is all of \(V\); the \(u_j\) are chains of length one.

Theorem (the counting rule). Let \(N\) be nilpotent on \(V\) with \(\dim V = n\), and set \(r_k = \operatorname{rank} N^{k}\), so \(r_0 = n\). In any cyclic decomposition of \(N\), the number of chains of length at least \(k\) is \(r_{k-1} - r_{k}\), and the number of length exactly \(k\) is \(r_{k-1} - 2r_{k} + r_{k+1}\). In particular the multiset of chain lengths does not depend on the decomposition.

Argument. Rank is additive over a direct sum of invariant subspaces, so \(r_k = \sum_i \operatorname{rank}\big(N^{k}|_{Z(v_i)}\big)\). On a chain of length \(p\) the operator \(N^{k}\) kills the bottom \(k\) vectors and moves the rest to independent vectors, so its rank there is \(\max(p - k, 0)\). Hence \(r_k = \sum_i \max(p_i - k, 0)\) and \[r_{k-1} - r_{k} = \sum_i \big[\max(p_i - k + 1, 0) - \max(p_i - k, 0)\big] = \#\{i : p_i \ge k\},\] each bracket being \(1\) when \(p_i \ge k\) and \(0\) otherwise. Subtracting the same identity at \(k+1\) counts the chains of length exactly \(k\). The right-hand sides are computed from \(N\) alone, so the counts are forced.

The rule transfers to a general eigenvalue unchanged, and Week 15 runs on it. If \(p_T\) splits and \(\lambda\) is an eigenvalue, apply the rule to \(N = (T - \lambda I)|_{G_{\lambda}}\). Better, \(\operatorname{rank}(T - \lambda I)^{k}\) computed on all of \(V\) exceeds \(\operatorname{rank} N^{k}\) by the constant \(n - \dim G_{\lambda}\), since on every other \(G_{\mu}\) the operator \(T - \lambda I = (\mu - \lambda)I + (T - \mu I)\) is invertible — a nonzero scalar plus a nilpotent operator always is, with inverse \(\sum_{j \ge 0} (-1)^{j}(T - \mu I)^{j}/(\mu - \lambda)^{j+1}\). Constants cancel in the differences \(r_{k-1} - r_k\), so the rule applies to ranks computed on the whole space, which is what one actually has.

Worked example — a four by four nilpotent matrix and its chain basis

Work over \(\mathbb{Q}\) with \(V = \mathbb{Q}^4\) and

\[N = \begin{pmatrix} -1 & 1 & 0 & 0 \\ -1 & 0 & 1 & 0 \\ -1 & 0 & 1 & 0 \\ -1 & 0 & 1 & 0 \end{pmatrix} .\]

The task: confirm nilpotency, find the index, compute the rank sequence, read off the chain lengths, build a chain basis, and display the block form. Name the columns \(c_1 = (-1,-1,-1,-1)^{\mathsf{T}}\), \(c_2 = (1,0,0,0)^{\mathsf{T}}\), \(c_3 = (0,1,1,1)^{\mathsf{T}}\), \(c_4 = 0\), so that \(Ne_j = c_j\) and \(Nx = x_1c_1 + x_2c_2 + x_3c_3\).

Step 1. The powers. Compute \(N^2\) column by column from \(N^2e_j = Nc_j\). First \(Nc_1 = -(c_1 + c_2 + c_3 + c_4) = 0\), since \((-1,-1,-1,-1) + (1,0,0,0) + (0,1,1,1) = (0,0,0,0)\). Next \(Nc_2 = c_1\), then \(Nc_3 = c_2 + c_3 + c_4 = (1,1,1,1)^{\mathsf{T}}\), and \(Nc_4 = 0\). So \[N^2 = \begin{pmatrix} 0 & -1 & 1 & 0 \\ 0 & -1 & 1 & 0 \\ 0 & -1 & 1 & 0 \\ 0 & -1 & 1 & 0 \end{pmatrix} .\] For \(N^3\), apply \(N\) to those columns: the nonzero ones are \(\pm(1,1,1,1)^{\mathsf{T}}\), and \(N(1,1,1,1)^{\mathsf{T}} = c_1 + c_2 + c_3 + c_4 = 0\). So \(N^3 = 0\) while \(N^2 \ne 0\), and the index is \(3\).

Step 2. The rank sequence. The columns satisfy \(c_1 = -(c_2 + c_3)\) and \(c_4 = 0\), while \(c_2\) and \(c_3\) are independent, so \(r_1 = 2\); every column of \(N^2\) is a multiple of \((1,1,1,1)^{\mathsf{T}}\), so \(r_2 = 1\). With \(r_0 = 4\) and \(r_3 = 0\) the nullities are \(0, 2, 3, 4\) — the sequence drawn in the kernel-chain figure.

Step 3. Read the chain lengths. The counting rule gives \(r_0 - r_1 = 2\) chains of length at least one, \(r_1 - r_2 = 1\) of length at least two, \(r_2 - r_3 = 1\) of length at least three, and \(r_3 - r_4 = 0\) of length at least four: two chains, of lengths three and one. As a check, \(3 + 1 = 4 = \dim V\), and the longest chain matches the index \(3\).

Step 4. Build the long chain. It needs a generator outside \(\ker N^2\). From the display, \(N^2x = (-x_2 + x_3)(1,1,1,1)^{\mathsf{T}}\), so \(\ker N^2 = \{x : x_2 = x_3\}\) and \(e_3\) lies outside. Take \(v = e_3\) and go down: \[v = (0,0,1,0)^{\mathsf{T}}, \qquad Nv = c_3 = (0,1,1,1)^{\mathsf{T}}, \qquad N^2v = c_2 + c_3 + c_4 = (1,1,1,1)^{\mathsf{T}},\] with \(N^3v = N(1,1,1,1)^{\mathsf{T}} = 0\), confirming the length.

Step 5. Build the short chain. Solving \(Nx = 0\) gives \(-x_1 + x_2 = 0\) from row one and \(-x_1 + x_3 = 0\) from the three identical remaining rows, so \(\ker N = \{(a,a,a,b)^{\mathsf{T}}\} = \operatorname{span}\big((1,1,1,0)^{\mathsf{T}}, (0,0,0,1)^{\mathsf{T}}\big)\), of dimension \(2\) as rank-nullity predicted. The bottom of the long chain, \((1,1,1,1)^{\mathsf{T}}\), lies in there. Choose \(u = e_4\), which lies in \(\ker N\) and is not a multiple of \((1,1,1,1)^{\mathsf{T}}\).

Step 6. The chain basis and the block form. Order each chain from the bottom up: \[\mathcal{B} = \big( (1,1,1,1)^{\mathsf{T}},\; (0,1,1,1)^{\mathsf{T}},\; (0,0,1,0)^{\mathsf{T}},\; (0,0,0,1)^{\mathsf{T}} \big) .\] As columns these form a lower triangular array with \(1\) down the diagonal, so the determinant is \(1\), the four vectors are independent, and they are a basis of \(\mathbb{Q}^4\) by Week 2. Their images are \(0\), then \(N^2v\), then \(Nv\), then \(0\), so \[[N]_{\mathcal{B}} = \begin{pmatrix} 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \end{pmatrix} = J_3(0) \oplus J_1(0) .\]

So \(N\) is similar to \(J_3(0) \oplus J_1(0)\), with the members of \(\mathcal{B}\) as the columns of the change-of-basis matrix in the Week 4 convention. What this does not establish is that \(\mathcal{B}\) is the only chain basis: taking \(v = e_3 + e_1\), or replacing \(u\) by any vector of \(\ker N\) off the line through \((1,1,1,1)^{\mathsf{T}}\), gives a different basis and the same block form, which Step 3 had already pinned without touching a basis at all.

The same reasoning, transferred

Run the same steps in dimension three on

\[M = \begin{pmatrix} 2 & -1 & 1 \\ 2 & -1 & 1 \\ -2 & 1 & -1 \end{pmatrix} ,\]

which is \(ab^{\mathsf{T}}\) with \(a = (1,1,-1)^{\mathsf{T}}\) and \(b = (2,-1,1)^{\mathsf{T}}\). Since \(b^{\mathsf{T}}a = 2 - 1 - 1 = 0\), we get \(M^2 = a(b^{\mathsf{T}}a)b^{\mathsf{T}} = 0\) and the index is \(2\). The rows are all \(\pm(2,-1,1)\), so \(r_1 = 1\) and the sequence is \(3, 1, 0\). The counting rule gives \(3 - 1 = 2\) chains of length at least one and \(1 - 0 = 1\) of length at least two, so the lengths are \(2\) and \(1\). Take \(v = e_1\), outside \(\ker M = \{x : 2x_1 - x_2 + x_3 = 0\}\); then \(Mv = (2,2,-2)^{\mathsf{T}}\), which does satisfy that equation, and \(M^2v = 0\). Pick \(u = (0,1,1)^{\mathsf{T}}\), in \(\ker M\) since \(0 - 1 + 1 = 0\) and not a multiple of \((2,2,-2)^{\mathsf{T}}\). In \(\mathcal{C} = \big((2,2,-2)^{\mathsf{T}}, (1,0,0)^{\mathsf{T}}, (0,1,1)^{\mathsf{T}}\big)\) — independent, since the determinant of the matrix with those columns is \(-4\) — the matrix of \(M\) is \(J_2(0) \oplus J_1(0)\).

Two tables listing k, the rank of the k-th power, the nullity, and the count of blocks of size at least k; the first for a four by four matrix giving sizes three and one, the second for a three by three matrix giving sizes two and one.

The rank sequence of the powers converted into block sizes for both examples.

The figure puts the two rank sequences side by side. What stayed the same: the difference rule, the recipe of picking a generator outside the second-to-last kernel, and the requirement that the lengths sum to the dimension. What changed: the dimension, and with it the sequence \(3, 1, 0\) in place of \(4, 2, 1, 0\) — and that change alone moves the outcome from block sizes \(3, 1\) to block sizes \(2, 1\). No entry of either matrix mattered; only the ranks did.

Second worked example — two eigenvalues, one of them defective

The first example was purely nilpotent. This one is not, and it shows the primary decomposition and the nilpotent analysis working together. Take \(V = \mathbb{R}^3\) and

\[A = \begin{pmatrix} 1 & 1 & 0 \\ -1 & 3 & 0 \\ 3 & -3 & 5 \end{pmatrix} .\]

The characteristic polynomial. Expand \(\det(tI - A)\) along the third column, whose only nonzero entry is \(t - 5\): \[p_A(t) = (t-5)\det\begin{pmatrix} t-1 & -1 \\ 1 & t-3 \end{pmatrix} = (t-5)\big[(t-1)(t-3) + 1\big] = (t-5)(t^2 - 4t + 4) = (t-5)(t-2)^2 .\] As a check the trace is \(1 + 3 + 5 = 9 = 2 + 2 + 5\) and the determinant is \(20 = 2 \cdot 2 \cdot 5\). So \(\operatorname{alg}(2) = 2\), \(\operatorname{alg}(5) = 1\), and \(p_A\) splits over \(\mathbb{R}\), so the theorem applies without passing to \(\mathbb{C}\).

The eigenspace at \(2\). With \(S = A - 2I = \begin{pmatrix} -1 & 1 & 0 \\ -1 & 1 & 0 \\ 3 & -3 & 3 \end{pmatrix}\), rows one and two coincide and row three is not a multiple of them, so \(\operatorname{rank} S = 2\) and \(\dim E_2 = 1\). Solving, \(-x_1 + x_2 = 0\) and \(3x_1 - 3x_2 + 3x_3 = 0\) give \(x_2 = x_1\) and \(x_3 = 0\), so \(E_2 = \operatorname{span}\big((1,1,0)^{\mathsf{T}}\big)\) and \(\operatorname{geo}(2) = 1 \ne 2 = \operatorname{alg}(2)\): not diagonalizable.

The generalized eigenspace at \(2\). The columns of \(S\) are \((-1,-1,3)^{\mathsf{T}}\), \((1,1,-3)^{\mathsf{T}}\), \((0,0,3)^{\mathsf{T}}\), and applying \(S\) to each gives \((0,0,9)^{\mathsf{T}}\), \((0,0,-9)^{\mathsf{T}}\), \((0,0,9)^{\mathsf{T}}\), so \[S^2 = \begin{pmatrix} 0 & 0 & 0 \\ 0 & 0 & 0 \\ 9 & -9 & 9 \end{pmatrix}, \qquad \ker S^2 = \{x : x_1 - x_2 + x_3 = 0\} .\] That kernel has dimension \(2\), matching \(\operatorname{alg}(2)\) as the dimension theorem promised. Applying \(S\) again multiplies the surviving row by \(3\), so \(S^3 \ne 0\) with the same kernel: the chain stabilised at step two and \(G_2 = \ker S^2\). Note that \(S\) is not nilpotent on \(\mathbb{R}^3\); only its restriction to \(G_2\) is, with index two.

For a basis of \(G_2\), the eigenvector \(w_1 = (1,1,0)^{\mathsf{T}}\) satisfies \(1 - 1 + 0 = 0\) and \(w_2 = (0,1,1)^{\mathsf{T}}\) satisfies \(0 - 1 + 1 = 0\), and they are independent. Better still, \(Sw_2 = (1,1,-3)^{\mathsf{T}} + (0,0,3)^{\mathsf{T}} = (1,1,0)^{\mathsf{T}} = w_1\), so \((w_1, w_2)\) is a cyclic chain of length two for the nilpotent part: \(w_2 \mapsto w_1 \mapsto 0\). The rank sequence on \(G_2\) is \(2, 1, 0\), and the counting rule returns a single chain of length two.

The piece at \(5\). Since \(\operatorname{alg}(5) = 1\) and \(1 \le \operatorname{geo}(5) \le \operatorname{alg}(5)\), the eigenspace already fills the generalized eigenspace, so \(G_5 = E_5\) has dimension one. The third column of \(A\) is \((0,0,5)^{\mathsf{T}} = 5e_3\), so \(E_5 = \operatorname{span}(e_3)\).

The decomposition, checked on one vector. The dimensions add, \(2 + 1 = 3\), and the sum is direct because \(e_3\) fails the equation \(x_1 - x_2 + x_3 = 0\) defining \(G_2\), so \(G_2 \cap G_5 = \{0\}\). Split \(e_1\): writing \(e_1 = g + ce_3\) forces \(g = (1, 0, -c)^{\mathsf{T}}\) with \(1 - 0 - c = 0\), so \(c = 1\) and \[e_1 = \underbrace{(1,0,-1)^{\mathsf{T}}}_{\in\, G_2} + \underbrace{(0,0,1)^{\mathsf{T}}}_{\in\, G_5} .\] Apply \(A\) to both sides. On the left \(Ae_1\) is the first column \((1,-1,3)^{\mathsf{T}}\); on the right \(A(1,0,-1)^{\mathsf{T}} = (1,-1,3)^{\mathsf{T}} - (0,0,5)^{\mathsf{T}} = (1,-1,-2)^{\mathsf{T}}\) and \(A(0,0,1)^{\mathsf{T}} = (0,0,5)^{\mathsf{T}}\), summing to \((1,-1,3)^{\mathsf{T}}\). Each piece stayed in its own subspace, as invariance demands.

The matrix in an adapted basis. Take \(\mathcal{D} = (w_1, w_2, e_3)\). Then \(Aw_1 = 2w_1\), and \(Aw_2 = 2w_2 + Sw_2 = 2w_2 + w_1\), confirmed directly by \(A(0,1,1)^{\mathsf{T}} = (1,3,-3)^{\mathsf{T}} + (0,0,5)^{\mathsf{T}} = (1,3,2)^{\mathsf{T}}\) against \(w_1 + 2w_2 = (1,3,2)^{\mathsf{T}}\). With \(Ae_3 = 5e_3\), \[[A]_{\mathcal{D}} = \begin{pmatrix} 2 & 1 & 0 \\ 0 & 2 & 0 \\ 0 & 0 & 5 \end{pmatrix} = J_2(2) \oplus J_1(5) .\] That is the Jordan form of \(A\), assembled by hand from exactly the two ingredients of this week. Week 15 names it and proves the assembly always works and the result is unique up to block order.

The misreading to avoid

The misreading: generalized eigenspaces are just bigger eigenspaces, so nothing is lost — I can treat \(T\) on \(G_{\lambda}\) as multiplication by \(\lambda\). The first clause is fine; the second discards the whole content of the week. What is true is \(E_{\lambda} \subseteq G_{\lambda}\) with \(\dim G_{\lambda} = \operatorname{alg}(\lambda)\), so the enlargement recovers the count the characteristic polynomial always reported. What is false is that \(T\) acts on \(G_{\lambda}\) as a scalar. It acts as \(\lambda I + N\), and \(N = 0\) exactly when \(E_{\lambda} = G_{\lambda}\), which is exactly the non-defective case. Were \(N\) always zero, every operator with a split characteristic polynomial would be diagonalizable, and the Week 11 block refutes that.

The damage shows in a computation. On \(G_2\) of the second worked example \(A = 2I + N\) with \(Nw_2 = w_1\) and \(Nw_1 = 0\). Since \(I\) and \(N\) commute and \(N^2 = 0\), the binomial theorem terminates after two terms: \(A^{k}|_{G_2} = 2^{k}I + k\,2^{k-1}N\), so \(A^{k}w_2 = 2^{k}w_2 + k\,2^{k-1}w_1\). Treating \(A\) as \(\operatorname{diag}(2,2,5)\) predicts \(2^kw_2\) and misses the growing term; at \(k = 10\) the true coefficient of \(w_1\) is \(10 \cdot 2^9 = 5120\) against a predicted zero.

A quieter version is that the enlargement is free of choice. The subspace \(G_{\lambda}\) is canonical, defined from \(T\) and \(\lambda\) with no basis anywhere; the chain basis inside it is not, as Step 6 noted. What is canonical about the interior is the multiset of chain lengths, precisely because ranks compute it. The honest summary: one canonical decomposition of \(V\), one canonical list of block sizes inside each piece, and no canonical basis at all.

Practice on your own

These are for your own checking rather than for submission, and each is within reach of Weeks 10 through 14.

  1. Where the chain stops. Let \(\dim V = n\) be finite and \(S \in \mathcal{L}(V)\). Prove that \(\ker S^{j} = \ker S^{j+1}\) implies \(\operatorname{im} S^{j} = \operatorname{im} S^{j+1}\), so both chains stabilise together. Then exhibit an operator on \(\mathbb{Q}^5\) whose kernel chain is strict for exactly four steps.
  2. A different profile. Build a nilpotent \(N\) on \(\mathbb{Q}^5\) with rank sequence \(5, 3, 1, 0\), determine its chain lengths by the counting rule, and produce an explicit matrix realising them. Check the index against the longest chain.
  3. Two eigenvalues, both defective. Let \(A\) be \(4 \times 4\) over \(\mathbb{C}\) with \(p_A(t) = (t-1)^2(t+3)^2\) and \(\operatorname{geo}(1) = \operatorname{geo}(-3) = 1\). Determine \(\dim G_1\), \(\dim G_{-3}\), the chain lengths in each, and \(\operatorname{rank}(A - I)\) on the whole space.
  4. The hypothesis you cannot drop. Let \(V\) be the space of all real sequences and \(T\) the backward shift \((a_1, a_2, a_3, \dots) \mapsto (a_2, a_3, \dots)\). Show that \(\ker T^{j}\) has dimension \(j\) for every \(j\), so the kernel chain never stabilises, and identify precisely which step of the stabilisation proposition fails.
  5. Commuting with the decomposition. Suppose \(T\) and \(R\) commute and \(p_T\) splits over \(F\). Prove that \(R\) carries each \(G_{\lambda}\) of \(T\) into itself, then sketch from that why two commuting diagonalizable operators are simultaneously diagonalizable, as Week 11 claimed.

Where to read more

This page stands on its own, but a second treatment in a different voice is often what makes a theorem settle. The three addresses below are offered online at no cost by their providers; availability and licence terms are as those providers state them, and neither is confirmed here.

  • MIT OpenCourseWare 18.700 Linear Algebra — a proof-based course treating generalized eigenvectors and nilpotent operators in the same determinant-free style.
  • Linear Algebra Done Wrong by Sergei Treil — an abstract-first text developing the kernel chain, the generalized eigenspace decomposition, and cyclic chains in the order used here.
  • MIT OpenCourseWare 18.06 Linear Algebra — the computational complement, for practice at ranks of matrix powers on explicit arrays.
  • The optional Roman alignment for this week is the chapter on eigenvalues and eigenvectors, in the sections on generalized eigenvectors, nilpotent operators, and the primary decomposition of a space under an operator. That text is an optional reference: a borrowed or library copy suffices, purchase is never required, and nothing from it is reproduced here.
  • Course pages: the notes overview, the syllabus, the schedule, and the resources page. The learning management system remains authoritative for section logistics and graded details.

Where this goes next

Everything a canonical form needs is now on the table. The primary decomposition splits \(V\) into invariant pieces of the right sizes whenever \(p_T\) splits over \(F\); on each piece the operator is a scalar plus a nilpotent one; the nilpotent one breaks into cyclic chains; and the chain lengths come from ranks, so they depend on no choice made along the way. What remains is bookkeeping: order the pieces, name the resulting matrix, and prove that operators with the same data are similar and operators with different data are not.

Week 15 does exactly that. It defines a Jordan matrix as a direct sum of blocks \(J_k(\lambda)\), proves every operator on a finite-dimensional space over a field where \(p_T\) splits is similar to one, and proves the block multiset unique up to order — closing the similarity question Week 4 opened. It restates this week’s rule as \(\operatorname{rank}(T - \lambda I)^{k-1} - \operatorname{rank}(T - \lambda I)^{k}\) for the number of blocks at \(\lambda\) of size at least \(k\), so the arithmetic practised here is the arithmetic used there. To look back: Week 13 carries Schur triangularization, the minimal polynomial, and Cayley-Hamilton, and Week 11 carries the multiplicities and the criterion this week repairs; the notes index and course home page list what is here.