18.700 JORDAN NORMAL FORM NOTES

These are some supplementary notes on how to find the Jordan normal form of a small matrix. First we recall some of the facts from lecture, next we give the general algorithm for finding the Jordan normal form of a linear operator, and then we will see how this works for small matrices.

1. Facts

Throughout we will work over the field ℂ of complex numbers, but if you like you may replace this with any other algebraically closed field. Suppose that V is a ℂ-vector space of dimension n and suppose that T : V → V is a ℂ-linear operator. Then the characteristic polynomial of T factors into a product of linear terms, and the irreducible factorization has the form

c_{T} (X) = (X − λ_{1})^{m_{1}}(X − λ_{2})^{m_{2}} … (X − λ_{r})^{m_{r}},  (1)

for some distinct numbers λ_{1}, …, λ_{r} ∈ ℂ and with each m_{i} an integer m_{1} ≥ 1 such that m_{1} + ⋯ + m_{r} = n.

Recall that for each eigenvalue λ_{i}, the eigenspace E_{λ_{i}} is the kernel of T − λ_{i}I_{V}. We generalized this by defining for each integer k = 1, 2, … the vector subspace

E_{(X−λ_{i})^{k}} = ker(T − λ_{i}I_{V})^{k}.  (2)

It is clear that we have inclusions

E_{λ_{i}} = E_{X−λ_{i}} ⊂ E_{(X−λ_{i})^{2}} ⊂ ⋯ ⊂ E_{(X−λ_{i})^{e}} ⊂ ….  (3)

Since dim(V) = n, it cannot happen that each dim(E_{(X−λ_{i})^{k}}) < dim(E_{(X−λ_{i})^{k+1}}), for each k = 1, …, n. Therefore there is some least integer e_{i} ≤ n such that E_{(X−λ_{i})^{e_{i}}} = E_{(X−λ_{i})^{e_{i}+1}}. As was proved in class, for each k ≥ e_{i} we have E_{(X−λ_{i})^{k}} = E_{(X−λ_{i})^{e_{i}}}, and we defined the generalized eigenspace E_{λ_{i}}^{gen} to be E_{(X−λ_{i})^{e_{i}}}.

It was proved in lecture that the subspaces E_{λ_{1}}^{gen}, …, E_{λ_{r}}^{gen} give a direct sum decomposition of V. From this our criterion for diagonalizability of follows: T is diagonalizable iff for each i = 1, …, r, we have E_{λ_{i}}^{gen} = E_{λ_{i}}. Notice that in this case T acts on each E_{λ_{i}}^{gen} as λ_{i} times the identity. This motivates the definition of the semisimple part of T as the unique ℂ-linear operator S : V → V such that for each i = 1, …, r and for each v ∈ E_{λ_{i}}^{gen} we have S(v) = λ_{i}v. We defined N = T − S and observed that N preserves each E_{λ_{i}}^{gen} and is nilpotent, i.e. there exists an integer e ≥ 1 (really just the maximum of e_{1}, …, e_{r}) such that N^{e} is the zero linear operator. To summarize:

(A) The generalized eigenspaces E_{λ_{1}}^{gen}, …, E_{λ_{r}}^{gen} defined by

E_{λ_{i}}^{gen} = {v ∈ V |∃e, (T − λ_{i}I_{V})^{e}(v) = 0},  (4)

Date: Fall 2001.

give a direct sum decomposition of V. Moreover, we have dim(E_{λ_{i}}^{gen}) equals the algebraic multiplicity of λ_{i}, m_{i}.

(B) The semisimple part S of T and the nilpotent part N of T defined to be the unique ℂ-linear operators V → V such that for each i = 1, …, r and each v ∈ E_{λ_{i}}^{gen} we have

S(v) = S^{(i)}(v) = λ_{i}v, N(v) = N^{(i)}(v) = T (v) − λ_{i}v,  (5)

satisfy the properties:

(1) S is diagonalizable with c_{S}(X) = c_{T} (X), and the λ_{i}-eigenspace of S is E_{λ_{i}}^{gen} (for T).

(2) N is nilpotent, N preserves each E_{λ_{i}}^{gen} and if N^{(i)} : E_{λ_{i}}^{gen} → E_{λ_{i}}^{gen} is the unique linear operator with N^{(i)}(v) = N(v), then [N^{(i)}]^{e_{i}−1} is nonzero but [N^{(i)}]^{e_{i}} = 0.

(3) T = S + N.

(4) SN = NS.

(5) For any other ℂ-linear operator T′ : V → V, T′ commutes with T (T′T = T T′) iff T′ commutes with both S and N. Moreover T′ commutes with S iff for each i = 1, …, r, we have T′(E_{λ_{i}}^{gen}) ⊂ E_{λ_{i}}^{gen}.

(6) If (S′, N′) is any pair of a diagonalizable operator S′ and a nilpotent operator N′ such that T = S′ + N′ and S′N′ = N′S′, then S′ = S and N′ = N. We call the unique pair (S, N) the semisimple-nilpotent decomposition of T.

(C) For each i = 1, …, r, choose an ordered basis B^{(i)} = (v_{1}^{(i)}, …, v_{m_{i}}^{(i)}) of E_{λ_{i}}^{gen} and let B = (B^{(1)}, …, B^{(r)}) be the concatenation, i.e.

B = (v_{1}^{(1)}, …, v_{m_{1}}^{(1)}, v_{1}^{(2)}, …, v_{m_{2}}^{(2)}, …, v_{1}^{(r)}, …, v_{m_{r}}^{(r)}) .  (6)

For each i let S^{(i)}, N^{(i)} be as above and define the m_{i} × m_{i} matrices

D^{(i)} = [S^{(i)}]_{B^{(i)},B^{(i)}} , C^{(i)} = [N^{(i)}]_{B^{(i)},B^{(i)}} .  (7)

Then we have D^{(i)} = λ_{i}I_{m_{i}} and C^{(i)} is a nilpotent matrix of exponent e_{i}. Moreover we have the block forms of S and N:

[S]_{B,B} = ( \begin{matrix}λ_{1}I_{m_{1}} & 0_{m_{1}×m_{2}} & … & 0_{m_{1}×m_{r}} \\ 0_{m_{2}×m_{1}} & λ_{2}I_{m_{2}} & … & 0_{m_{2}×m_{r}} \\ ⋮ & ⋮ & ... & ⋮ \\ 0_{m_{r}×m_{1}} & 0_{m_{r}×m_{1}} & … & λ_{r}I_{m_{r}} \end{matrix} ) ,  (8)

[N]_{B,B} = ( \begin{matrix}C^{(1)} & 0_{m_{1}×m_{2}} & … & 0_{m_{1}×m_{r}} \\ 0_{m_{2}×m_{1}} & C^{(2)} & … & 0_{m_{2}×m_{r}} \\ ⋮ & ⋮ & ... & ⋮ \\ 0_{m_{r}×m_{1}} & 0_{m_{r}×m_{2}} & … & C^{(r)} \end{matrix} ) .  (9)

Notice that D^{(i)} has a nice form with respect to ANY basis B^{(i)} for E_{λ_{i}}^{gen}. But we might hope to improve C^{(i)} by choosing a better basis.

A very simple kind of nilpotent linear transformation is the nilpotent Jordan block, i.e. T_{J_{a}} : ℂ^{a} → ℂ^{a} where J_{a} is the matrix

J_{a} = ( \begin{matrix}0 & 0 & 0 & … & 0 & 0 \\ 1 & 0 & 0 & … & 0 & 0 \\ 0 & 1 & 0 & … & 0 & 0 \\ ⋮ & ⋮ & ⋮ & ... & ⋮ & ⋮ \\ 0 & 0 & 0 & … & 0 & 0 \\ 0 & 0 & 0 & … & 1 & 0 \end{matrix} ) .  (10)

In other words,

J_{a}e_{1} = e_{2}, J_{a}e_{2} = e_{3}, …, J_{a}e_{a−1} = e_{a}, J_{a}e_{a} = 0.  (11)

Notice that the powers of J_{a} are very easy to compute. In fact J_{a}^{a} = 0_{a,a}, and for d = 1, …, a − 1, we have

J_{a}^{d}e_{1} = e_{d+1}, J_{a}^{d}e_{2} = e_{d+2}, …, J_{a}^{d}e_{a−d} = e_{a}, J_{a}^{d}e_{a+1−d} = 0, …, J_{a}^{d}e_{a} = 0.  (12)

Notice that we have ker(J_{a}^{d}) = span(e_{a+1−d}, e_{a+2−d}, …, e_{a}).

A nilpotent matrix C ∈ M_{m×m}(ℂ) is said to be in Jordan normal form if it is of the form

C = ( \begin{matrix}J_{a_{1}} & 0_{a_{1}×a_{2}} & … & 0_{a_{1}×a_{t}} & 0_{a_{1}×b} \\ 0_{a_{2}×a_{1}} & J_{a_{2}} & … & 0_{a_{2}×a_{t}} & 0_{a_{2}×b} \\ ⋮ & ⋮ & ... & ⋮ & ⋮ \\ 0_{a_{t}×a_{1}} & 0_{a_{t}×a_{1}} & … & J_{a_{t}} & 0_{a_{t}×b} \\ 0_{b×a_{1}} & 0_{b×a_{1}} & … & 0_{b×a_{t}} & 0_{b×b} \end{matrix} ) ,  (13)

where a_{1} ≥ a_{2} ≥ ⋯ ≥ a_{t} ≥ 2 and a_{1} + ⋯ + a_{t} + b = m.

We say that a basis B^{(i)} puts T^{(i)} in Jordan normal form if C^{(i)} is in Jordan normal form. We say that a basis B = (B^{(1)}, …, B^{(r)}) puts T in Jordan normal form if each B^{(i)} puts T^{(i)} in Jordan normal form.

WARNING: Usually such a basis is not unique. For example, if T is diagonalizable, then ANY basis B^{(i)} puts T^{(i)} in Jordan normal form.

2. Algorithm

In this section we present the general algorithm for finding bases B^{(i)} which put T in Jordan normal form.

Suppose that we already had such bases. How could we describe the basis vectors? One observation is that for each Jordan block J_{a}, we have that e_{d+1} = J_{a}^{d}(e_{1}) and also that spane_{1} and ker(J_{a}^{a−1}) give a direct sum decomposition of ℂ^{a}.

What if we have two Jordan blocks, say

J = ( \begin{matrix}J_{a_{1}} & 0_{a_{1}×a_{2}} \\ 0_{a_{2}×a_{1}} & J_{a_{2}} \end{matrix} ) , a_{1} ≥ a_{2}.  (14)

This is the matrix such that

Je_{1} = e_{2}, …, Je_{a_{1}−1} = e_{a_{1}}, Je_{a_{1}} = 0, Je_{a_{1}+1} = e_{a_{1}+2}, …, Je_{a_{1}+a_{2}−1} = e_{a_{1}+a_{2}}, Je_{a_{1}+a_{2}} = 0.

(15)

Again we have that e_{d+1} = J^{d}e_{1} and e_{d+a_{1}+1} = J^{d}e_{a_{1}+1}. So if we wanted to reconstruct this basis, what we really need is just e_{1} and e_{a_{1}+1}. We have already seen that a distinguishing feature of e_{1} is that it is an element of ker(J^{a_{1}}) which is not in ker(J^{a_{1}−1}). If a_{2} = a_{1}, then this is also a distinguishing feature of e_{a_{1}+1}. But if a_{2} < a_{1}, this doesn’t work. In this case it turns out that the distinguishing feature is that e_{a_{1}+1} is in ker(J^{a_{2}}) but is not in ker(J^{a_{2}−1}) + J (ker(J^{a_{2}+1})). This motivates the following definition:

Definition 1. Suppose that B ∈ M_{n×n}(ℂ) is a matrix such that ker(B^{e}) = ker(B^{e+1}). For each k = 1, …, e, we say that a subspace G_{k} ⊂ ker(B^{k}) is primitive (for k) if

(1) G_{k} + ker(B^{k−1}) + B (ker(B^{k+1})) = ker(B^{k}), and

(2) G_{k} ∩ (ker(B^{k−1}) + B (ker(B^{k+1}))) = {0}.

Here we make the convention that B^{0} = I_{n}.

It is clear that for each k we can find a primitive G_{k}: simply find a basis for ker(B^{k−1}) + B (ker(B^{k+1})) and then extend it to a basis for all of ker(B^{k}). The new basis vectors will span a primitive G_{k}.

Now we are ready to state the algorithm. Suppose that T is as in the previous section. For each eigenvalue λ_{i}, choose any basis C for V and let A = [T]_{C,C}. Define B = A − λ_{i}I_{n}. Let 1 ≤ k_{1} < ⋯ < k_{u} ≤ n be the distinct integers such that there exists a nontrivial primitive subspace G_{k_{j}}. For each j = 1, …, u, choose a basis (v[j]_{1}, …, v[j]_{p_{j}}) for G_{k_{j}}. Then the desired basis is simply

B^{(i)} = (v[u]_{1}, Bv[u]_{1}, …, B^{u−1}v[u]_{1},
v[u]_{2}, Bv[u]_{2}, …, B^{k_{u}−1}v[u]_{2}, …, v[u]_{p_{u}}, …, B^{k_{u}−1}v[u]_{p_{1}}, …,
v[j]_{i}, Bv[j]_{i}, …, B^{k_{j}−1}v[j]_{i}, …, v[1]_{1}, …, B^{k_{1}−1}v[1]_{1}, …,
v[1]_{p_{1}}, …, B^{k_{1}−1}v[1]_{p_{1}}) .

When we perform this for each i = 1, …, r, we get the desired basis for V.

3. Small cases

The algorithm above sounds more complicated than it is. To illustrate this, we will present a step-by-step algorithm in the 2 × 2 and 3 × 3 cases and illustrate with some examples.

3.1. Two-by-two matrices. First we consider the two-by-two case. If A ∈ M_{2×2}(ℂ) is a matrix, its characteristic polynomial c_{A}(X) is a quadratic polynomial. The first dichotomy is whether c_{A}(X) has two distinct roots or one repeated root.

Two distinct roots Suppose that c_{A}(X) = (X − λ_{1})(X − λ_{2}) with λ_{1} ≠ λ_{2}. Then for each i = 1, 2 we form the matrix B_{i} = A − λ_{i}I_{2}. By performing Gauss-Jordan elimination we may find a basis for ker(B_{i}). In fact each kernel will be one-dimensional, so let v_{1} be a basis

18.700 JORDAN NORMAL FORM NOTES 5

for ker(B_{1}) and let v_{2} be a basis for ker(B_{2}). Then with respect to the basis B = (v_{1}, v_{2}), we will have

[A]_{B} = ( \begin{matrix}λ_{1} & 0 \\ 0 & λ_{2} \end{matrix} ) .  (16)

Said a different way, if we form the matrix P = (v_{1}|v_{2}) whose first column is v_{1} and whose second column is v_{2}, then we have

A = P ( \begin{matrix}λ_{1} & 0 \\ 0 & λ_{2} \end{matrix} ) P^{−1}.  (17)

To summarize:

span(v_{1}) = E_{λ_{1}} = ker(A − λ_{1}I_{2}) = ker(A − λ_{1}I_{2})^{2} = ⋯ = E_{λ_{1}}^{gen},  (18)
span(v_{2}) = E_{λ_{2}} = ker(A − λ_{2}I_{1}) = ker(A − λ_{2}I_{2})^{2} = ⋯ = E_{λ_{2}}^{gen}.  (19)

Setting B = (v_{1}, v_{2}) and P = (v_{1}|v_{2}), We also have

[A]_{B,B} = ( \begin{matrix}λ_{1} & 0 \\ 0 & λ_{2} \end{matrix} ) , A = P ( \begin{matrix}λ_{1} & 0 \\ 0 & λ_{2} \end{matrix} ) P^{−1}.  (20)

Also S = A and N = 0_{2×2}.

Now we consider an example. Consider the matrix

A = ( \begin{matrix}38 & −70 \\ 21 & −39 \end{matrix} ) .  (21)

The characteristic polynomial is X^{2} −trace(A)X +det(A), which is X^{2} +X −12. This factors as (X + 4)(X − 3), so we are in the case discussed above. The two eigenvalues are −4 and 3.

First we consider the eigenvalue λ_{1} = −4. Then we have

B_{1} = A + 4I_{2} = \binom{42 −70}{21 − 35} .  (22)

Performing Gauss-Jordan elimination on this matrix gives a basis of the kernel: v_{1} = (5, 3)^{†}.

Next we consider the eigenvalue λ_{2} = 3. Then we have

B_{2} = A − 3I_{2} = ( \begin{matrix}35 & −70 \\ 21 & −42 \end{matrix} ) .  (23)

Performing Gauss-Jordan elimination on this matrix gives a basis of the kernel: v_{2} = (2, 1)^{†}.

We conclude that:

E_{−4} = span (( \begin{matrix}5 \\ 3 \end{matrix} )) , E_{3} = span (( \begin{matrix}2 \\ 1 \end{matrix} )) .  (24)

and that

A = P ( \begin{matrix}−4 & 0 \\ 0 & 3 \end{matrix} ) P^{−1}, P = ( \begin{matrix}5 & 2 \\ 3 & 1 \end{matrix} ) .  (25)

One repeated root: Next suppose that c_{A}(X) has one repeated root: c_{A}(X) = (X −λ_{1})^{2}. Again we form the matrix B_{1} = A − λ_{1}I_{2}. There are two cases depending on the dimension of E_{λ_{1}} = ker(B_{1}). The first case is that dim(E_{λ_{1}}) = 2. In this case A is diagonalizable. In fact, with respect to some basis B we have

[A]_{B,B} = ( \begin{matrix}λ_{1} & 0 \\ 0 & λ_{1} \end{matrix} ) .  (26)

But, if you think about it, this means that A has the above form with respect to ANY basis. In other words, our original matrix, expressed with respect to any basis, is simply λ_{1}I_{2}. This case is readily identified, so if A is not already in diagonal form at the beginning of the problem, we are in the second case.

In the second case E_{λ_{1}} has dimension 1. According to our algorithm, we must find a primitive subspace G_{2} ⊂ ker(B_{1}^{2}) = ℂ^{2}. Such a subspace necessarily has dimension 1, i.e. it is of the form span(v_{1}) for some v_{1}. And the condition that G_{2} be primitive is precisely that v_{1} ∉ ker(B_{1}). In other words, we begin by choosing ANY vector v_{1} ∉ ker(B_{1}). Then we define v_{2} = B(v_{1}). We form the basis B = (v_{1}, v_{2}), and the transition matrix P = (v_{1}|v_{2}). Then we have E_{λ_{1}} = span(v_{2}) and also

[A]_{B,B} = ( \begin{matrix}λ & 0 \\ 1 & λ \end{matrix} ) , A = P ( \begin{matrix}λ & 0 \\ 1 & λ \end{matrix} ) P^{−1}.  (27)

This is the one case where we have nontrivial nilpotent part:

S = λ_{1}I_{2} = ( \begin{matrix}λ & 0 \\ 0 & λ \end{matrix} ) , N = A − λ_{1}I_{2} = B_{1} = P ( \begin{matrix}0 & 0 \\ 1 & 0 \end{matrix} ) P^{−1}.  (28)

Let’s see how this works in an example. Consider the matrix from the practice problems:

A = ( \begin{matrix}−5 & −4 \\ 1 & −1 \end{matrix} ) .  (29)

The trace of A is −6 and the determinant is (−5)(−1) − (−4)(1) = 9. So c_{A}(X) = X^{2} + 6X + 9 = (X + 3)^{2}. So the characteristic polynomial has a repeated root of λ_{1} = −3. We form the matrix B_{1} = A + 3I_{2},

B_{1} = A + 3I_{2} = ( \begin{matrix}−2 & −4 \\ 1 & 2 \end{matrix} ) .  (30)

Performing Gauss-Jordan elimination (or just by inspection) a basis for the kernel is given by (2, −1)^{†}. So for v_{1} we choose ANY vector which is not a multiple of this vector, for example v_{1} = e_{1} = (1, 0)^{†}. Then we find that v_{2} = B_{1}v_{1} = (−2, 1)^{†}. So we define

B = (( \begin{matrix}1 \\ 0 \end{matrix} ) , ( \begin{matrix}−2 \\ 1 \end{matrix} )) , P = ( \begin{matrix}1 & −2 \\ 0 & 1 \end{matrix} ) .  (31)

Then we have

[A]_{B,B} = ( \begin{matrix}−3 & 0 \\ 1 & −3 \end{matrix} ) , A = P ( \begin{matrix}−3 & 0 \\ 1 & −3 \end{matrix} ) P^{−1}.  (32)

The semisimple part is just S = −3I_{2}, and the nilpotent part is:

N = B_{1} = P ( \begin{matrix}0 & 0 \\ 1 & 0 \end{matrix} ) P^{−1}.  (33)

3.2. Three-by-three matrices. This is basically as in the last subsection, except now there are more possible types of A. The first question to answer is: what is the characteristic polynomial of A. Of course we know this is c_{A}(X) = det(XI_{3} − A). But a faster way of calculating this is as follows. We know that the characteristic polynomial has the form

c_{A}(X) = X^{3} − trace(A)X^{2} + tX − det(A),  (34)

for some complex number t ∈ ℂ. Usually trace(A) and det(A) are not hard to find. So it only remains to determine t. This can be done by choosing any convenient number c ∈ ℂ other than c = 0, computing det(cI_{2} − A) (here it is often useful to choose c equal to one of the diagonal entries to reduce the number of computations), and then solving the one linear equation

ct + (c^{3} − trace(A)c^{2} − det(A)) = det(cI_{2} − A),  (35)

to find t. Let’s see an example of this:

D = ( \begin{matrix}2 & 1 & −1 \\ −1 & 1 & 2 \\ 0 & −1 & 3 \end{matrix} ) .  (36)

Here we easily compute trace(D) = 6 and det(D) = 8. Finally to compute the coefficient t, we set c = 2 and we get

det(2I_{2} − A) = det ( \begin{matrix}0 & −1 & 1 \\ −1 & 1 & −2 \\ 0 & 1 & −1 \end{matrix} ) = 0.  (37)

Plugging this in, we get

(2)^{3} − 6(2)^{2} + t(2) − 8 = 0  (38)

or t = 12, i.e. c_{A}(X) = X^{3} − 6X^{2} + 12X − 8. Notice from above that 2 is a root of this polynomial (since det(2I_{3} − A) = 0). In fact it is easy to see that c_{A}(X) = (X − 2)^{3}.

Now that we know how to compute c_{A}(X) in a more efficient way, we can begin our analysis. There are three cases depending on whether c_{A}(X) has three distinct roots, two distinct roots, or only one root.

Three roots: Suppose that c_{A}(X) = (X − λ_{1})(X − λ_{2})(X − λ_{3}) where λ_{1}, λ_{2}, λ_{3} are distinct. For each i = 1, 2, 3 define B_{i} = λ_{1}I_{3} − A. By Gauss-Jordan elimination, for each B_{i} we can compute a basis for ker(B_{i}). In fact each ker(B_{i}) has dimension 1, so we can find a vector v_{i} such that E_{λ_{1}} = ker(B_{i}) = span(v_{i}). We form a basis B = (v_{1}, v_{2}, v_{3}) and the transition matrix P = (v_{1}|v_{2}|v_{3}). Then we have

[A]_{B,B} = ( \begin{matrix}λ_{1} & 0 & 0 \\ 0 & λ_{2} & 0 \\ 0 & 0 & λ_{2} \end{matrix} ) , A = P ( \begin{matrix}λ_{1} & 0 & 0 \\ 0 & λ_{2} & 0 \\ 0 & 0 & λ_{2} \end{matrix} ) P^{−1}.  (39)

We also have S = A and N = 0.

Let’s see how this works in an example. Consider the matrix

A = ( \begin{matrix}7 & −7 & 2 \\ 8 & −8 & 2 \\ 4 & −4 & 1 \end{matrix} ) .  (40)

It is easy to see that trace(A) = 0 and also det(A) = 0. Finally we consider the determinant of I_{3} − A. Using cofactor expansion along the third column, this is:

det ( \begin{matrix}−6 & 7 & −2 \\ −8 & 9 & −2 \\ −4 & 4 & 0 \end{matrix} ) = −2((−8)4−9(−4))−(−2)((−6)4−7(−4)) = −2(4)+2(4) = 0. (41)

So we have the linear equation

1^{3} − 0 ∗ 1^{2} + t ∗ 1 − 0 = 0, t = −1.  (42)

Thus c_{A}(X) = X^{3} − X = (X + 1)X(X − 1). So A has the three eigenvalues λ_{1} = −1, λ_{2} = 0, λ_{3} = 1. We define B_{1} = A − (−1)I_{3}, B_{2} = A, B_{3} = A − I_{3}. By Gauss-Jordan elimination we find

E_{−1} = ker(B_{1}) = span (( \begin{matrix}3 \\ 4 \\ 2 \end{matrix} )) , E_{0} = ker(B_{2}) = span (( \begin{matrix}1 \\ 1 \\ 0 \end{matrix} )) ,

E_{1} = ker(B_{3}) = span (( \begin{matrix}2 \\ 2 \\ 1 \end{matrix} )) .

We define

B = (( \begin{matrix}3 \\ 4 \\ 2 \end{matrix} ) , ( \begin{matrix}1 \\ 1 \\ 0 \end{matrix} ) , ( \begin{matrix}2 \\ 2 \\ 1 \end{matrix} )) , P = ( \begin{matrix}3 & 1 & 2 \\ 4 & 1 & 2 \\ 2 & 0 & 1 \end{matrix} ) .  (43)

Then we have

[A]_{B,B} = ( \begin{matrix}−1 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 1 \end{matrix} ) , A = P ( \begin{matrix}−1 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 1 \end{matrix} ) P^{−1}.  (44)

Two roots: Suppose that c_{A}(X) has two distinct roots, say c_{A}(X) = (X − λ_{1})^{2}(X − λ_{2}). Then we form B_{1} = A − λ_{1}I_{3} and B_{2} = A − λ_{2}I_{3}. By performing Gauss-Jordan elimination, we find bases for E_{λ_{1}} = ker(B_{1}) and for E_{λ_{2}} = ker(B_{2}). There are two cases depending on the dimension of E_{λ_{1}}.

The first case is when E_{λ_{1}} has dimension 2. Then we have a basis (v_{1}, v_{2}) for E_{λ_{1}} and a basis v_{3} for E_{λ_{2}}. With respect to the basis B = (v_{1}, v_{2}, v_{3}) and defining P = (v_{1}|v_{2}|v_{3}), we have

[A]_{B,B} = ( \begin{matrix}λ_{1} & 0 & 0 \\ 0 & λ_{1} & 0 \\ 0 & 0 & λ_{2} \end{matrix} ) , A = P ( \begin{matrix}λ_{1} & 0 & 0 \\ 0 & λ_{1} & 0 \\ 0 & 0 & λ_{2} \end{matrix} ) P^{−1}.  (45)

In this case S = A and N = 0.

The second case is when E_{λ_{1}} has dimension 2. Using Gauss-Jordan elimination we find a basis for E_{λ_{1}}^{gen} = ker(B_{1}^{2}). Choose any vector v_{1} ∈ E_{λ_{1}}^{gen} which is not in E_{λ_{1}} and define v_{2} = B_{1}v_{1}. Also using Gauss-Jordan elimination we may find a vector v_{3} which forms a basis for E_{λ_{2}}. Then with respect to the basis B = (v_{1}, v_{2}, v_{3}) and forming the transition matrix P = (v_{1}|v_{2}|v_{3}), we have

[A]_{B,B} = ( \begin{matrix}λ_{1} & 0 & 0 \\ 1 & λ_{1} & 0 \\ 0 & 0 & λ_{2} \end{matrix} ) , A = P ( \begin{matrix}λ_{1} & 0 & 0 \\ 1 & λ_{1} & 0 \\ 0 & 0 & λ_{2} \end{matrix} ) P^{−1}.  (46)

Also we have

[S]_{B,B} = ( \begin{matrix}λ_{1} & 0 & 0 \\ 0 & λ_{1} & 0 \\ 0 & 0 & λ_{2} \end{matrix} ) , S = P ( \begin{matrix}λ_{1} & 0 & 0 \\ 0 & λ_{1} & 0 \\ 0 & 0 & λ_{2} \end{matrix} ) P^{−1},  (47)

and

[N]_{B,B} = ( \begin{matrix}0 & 0 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 0 \end{matrix} ) , A = P ( \begin{matrix}0 & 0 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 0 \end{matrix} ) P^{−1}.  (48)

Let’s see how this works in an example. Consider the matrix

A = ( \begin{matrix}3 & 0 & 0 \\ 0 & 3 & −1 \\ −1 & 0 & 2 \end{matrix} ) .  (49)

It isn’t hard to show that c_{A}(X) = (X − 3)^{2}(X − 2). So the two eigenvalues are λ_{1} = 3 and λ_{2} = 2. We define the two matrices

B_{1} = A − 3I_{3} = ( \begin{matrix}0 & 0 & 0 \\ 0 & 0 & −1 \\ −1 & 0 & −1 \end{matrix} ) , B_{2} = A − 2I_{3} = ( \begin{matrix}1 & 0 & 0 \\ 0 & 1 & −1 \\ −1 & 0 & 0 \end{matrix} ) .  (50)

By Gauss-Jordan elimination we calculate that E_{2} = ker(B_{2}) has a basis consisting of v_{3} = (0, 1, 1)^{†}. By Gauss-Jordan elimination, we find that E_{3} = ker(B_{1}) has a basis consisting of (0, 1, 0)^{†}. In particular it has dimension 1, so we have to keep going. We have

B_{1}^{2} = ( \begin{matrix}0 & 0 & 0 \\ 1 & 0 & 1 \\ 1 & 0 & 1 \end{matrix} ) .  (51)

By Gauss-Jordan elimination (or inspection), we conclude that a basis consists of (1, 0, −1)^{†}, (0, 1, 0)^{†}. A vector in E_{3}^{gen} = ker(B_{1}^{2}) which isn’t in E_{3} is v_{1} = (1, 0, −1)^{†}. We define v_{2} = B_{1}v_{1} = (0, 1, 0)^{†}. Then with respect to the basis

B = (( \begin{matrix}1 \\ 0 \\ −1 \end{matrix} ) , ( \begin{matrix}0 \\ 1 \\ 0 \end{matrix} ) , ( \begin{matrix}0 \\ 1 \\ 1 \end{matrix} )) , P = ( \begin{matrix}1 & 0 & 0 \\ 0 & 1 & 1 \\ −1 & 0 & 1 \end{matrix} ) .  (52)

we have

[A]_{B,B} = ( \begin{matrix}3 & 0 & 0 \\ 1 & 3 & 0 \\ 0 & 0 & 2 \end{matrix} ) , A = P ( \begin{matrix}3 & 0 & 0 \\ 1 & 3 & 0 \\ 0 & 0 & 2 \end{matrix} ) P^{−1}.  (53)

We also have that

[S]_{B,B} = ( \begin{matrix}3 & 0 & 0 \\ 0 & 3 & 0 \\ 0 & 0 & 2 \end{matrix} ) , S = P ( \begin{matrix}3 & 0 & 0 \\ 0 & 3 & 0 \\ 0 & 0 & 2 \end{matrix} ) P^{−1} = ( \begin{matrix}3 & 0 & 0 \\ −1 & 3 & −1 \\ −1 & 0 & 2 \end{matrix} ) ,  (54)

[N]_{B,B} = ( \begin{matrix}0 & 0 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 0 \end{matrix} ) , N = P ( \begin{matrix}0 & 0 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 0 \end{matrix} ) P^{−1} = ( \begin{matrix}0 & 0 & 0 \\ 1 & 0 & 1 \\ 0 & 0 & 0 \end{matrix} ) .  (55)

One root: The final case is when there is only a single root of c_{A}(X), say c_{A}(X) = (X − λ_{1})^{3}. Again we form B_{1} = A_{1} − λ_{1}I_{3}. This case breaks up further depending on the dimension of E_{λ_{1}} = ker(B_{1}). The simplest case is when E_{λ_{1}} is three-dimensional, because in this case A is diagonal with respect to ANY basis and there is nothing more to do.

Dimension 2 Suppose that E_{λ_{1}} is two-dimensional. This is a case in which both G_{1} and G_{2} are nontrivial. We begin by finding a basis (w_{1}, w_{2}) for E_{λ_{1}}. Choose any vector v_{1} which is not in E_{λ_{1}} and define v_{2} = B_{1}v_{1}. Then find a vector v_{3} in E_{λ_{1}} which is NOT in the span of v_{2} . Define the basis B = (v_{1}, v_{2}, v_{3}) and the transition matrix P = (v_{1}|v_{2}|v_{3}). Then we have

[A]_{B,B} = ( \begin{matrix}λ_{1} & 0 & 0 \\ 1 & λ_{1} & 0 \\ 0 & 0 & λ_{1} \end{matrix} ) , A = P ( \begin{matrix}λ_{1} & 0 & 0 \\ 1 & λ_{1} & 0 \\ 0 & 0 & λ_{1} \end{matrix} ) P^{−1}.  (56)

Notice that there is a Jordan block of size 2 and a Jordan block of size 1. Also, S = λ_{1}I_{3} and we have N = B_{1}.

Let’s see how this works in an example. Consider the matrix

A = ( \begin{matrix}−1 & −1 & 0 \\ 1 & −3 & 0 \\ 0 & 0 & −2 \end{matrix} ) .  (57)

It is easy to compute c_{A}(X) = (X + 2)^{3}. So the only eigenvalue of A is λ_{1} = −2. We define B_{1} = A − (−2)I_{3}, and we have

B_{1} = ( \begin{matrix}1 & −1 & 0 \\ 1 & −1 & 0 \\ 0 & 0 & 0 \end{matrix} ) .  (58)

By Gauss-Jordan elimination, or by inspection, we see that E_{−2} = ker(B_{1}) has a basis ((1, 1, 0)^{†}, (0, 0, 1)^{†}). Since this is 2-dimensional, we are in the case above. So we choose any vector not in E_{−2}, say v_{1} = (1, 0, 0)^{†}. We define v_{2} = B_{1}v_{1} = (1, 1, 0)^{†}. Finally, we choose a vector in E_{λ_{1}} which is not in the span of v_{2}, say v_{3} = (0, 0, 1)^{†}. Then we define

B = (( \begin{matrix}1 \\ 0 \\ 0 \end{matrix} ) , ( \begin{matrix}1 \\ 1 \\ 0 \end{matrix} ) , ( \begin{matrix}0 \\ 0 \\ 1 \end{matrix} )) , P = ( \begin{matrix}1 & 1 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{matrix} ) .  (59)

We have

[A]_{B,B} = ( \begin{matrix}−2 & 0 & 0 \\ 1 & −2 & 0 \\ 0 & 0 & −2 \end{matrix} ) , A = P ( \begin{matrix}−2 & 0 & 0 \\ 1 & −2 & 0 \\ 0 & 0 & −2 \end{matrix} ) P^{−1}.  (60)

We also have S = −2I_{3} and N = B_{1}.

Dimension One In the final case for three by three matrices, we could have that c_{A}(X) = (X − λ_{1})^{3} and E_{λ_{1}} = ker(B_{1}) is one-dimensional. In this case we must also have ker(B_{1}^{2}) is two-dimensional. By Gauss-Jordan we compute a basis for ker(B_{1}^{2}) and then choose ANY vector v_{1} which is not contained in ker(B_{1}^{2}). We define v_{2} = B_{1}v_{1} and v_{3} = B_{1}v_{2} = B_{1}^{2}v_{1}. Then with respect to the basis B = (v_{1}, v_{2}, v_{3}) and the transition matrix P = (v_{1}|v_{2}|v_{3}), we have

[A]_{B,B} = ( \begin{matrix}λ_{1} & 0 & 0 \\ 1 & λ_{1} & 0 \\ 0 & 1 & λ_{1} \end{matrix} ) , A = P ( \begin{matrix}λ_{1} & 0 & 0 \\ 1 & λ_{1} & 0 \\ 0 & 1 & λ_{1} \end{matrix} ) P^{−1}.  (61)

We also have S = λ_{1}I_{3} and N = B_{1}.

Let’s see how this works in an example. Consider the matrix

A = ( \begin{matrix}5 & −4 & 0 \\ 1 & 1 & 0 \\ 2 & −3 & 3 \end{matrix} ) .  (62)

The trace is visibly 9. Using cofactor expansion along the third column, the determinant is +3(5 ∗ 1 − 1(−4)) = 27. Finally, we compute det(3I_{3} − A) = 0 since 3I_{3} − A has the zero vector for its third column. Plugging in this gives the linear relation

(3)^{3} − 9(3)^{2} + t(3) − 27 = 0, t = 27.  (63)

So we have c_{A}(X) = X^{3} − 9X^{2} + 27X − 27. Also we see from the above that X = 3 is a root. In fact it is easy to see that c_{A}(X) = (X − 3)^{3}. So A has the single eigenvalue λ_{1} = 3.

We define B_{1} = A_{1} − 3I_{3}, which is

B_{1} = ( \begin{matrix}2 & −4 & 0 \\ 1 & −2 & 0 \\ 2 & −3 & 0 \end{matrix} ) .  (64)

By Gauss-Jordan elimination we see that E_{3} = ker(B_{1}) has basis (0, 0, 1)^{†}. Thus we are in the case above. Now we compute

B_{1}^{2} = ( \begin{matrix}0 & 0 & 0 \\ 0 & 0 & 0 \\ 1 & −2 & 0 \end{matrix} ) .  (65)

Either by Gauss-Jordan elimination or by inspection, we see that ker(B_{1}^{2}) has basis ((2, 1, 0)^{†}, (0, 0, 1)^{†})). So for v_{1} we choose any vector not in the span of these vectors, say v_{1} = (1, 0, 0)^{†}. Then we define v_{2} = B_{1}v_{1} = (2, 1, 2)^{†} and we define v_{3} = B_{1}v_{2} = B_{1}^{2}v_{1} = (0, 0, 1)^{†}. So with respect to

12 18.700 JORDAN NORMAL FORM NOTES

the basis and transition matrix

B = (( \begin{matrix}1 \\ 0 \\ 0 \end{matrix} ) , ( \begin{matrix}2 \\ 1 \\ 2 \end{matrix} ) , ( \begin{matrix}0 \\ 0 \\ 1 \end{matrix} )) , P = ( \begin{matrix}1 & 2 & 0 \\ 0 & 1 & 0 \\ 0 & 2 & 1 \end{matrix} ) ,  (66)

we have

[A]_{B,B} = ( \begin{matrix}3 & 0 & 0 \\ 1 & 3 & 0 \\ 0 & 1 & 3 \end{matrix} ) , A = P ( \begin{matrix}3 & 0 & 0 \\ 1 & 3 & 0 \\ 0 & 1 & 3 \end{matrix} ) P^{−1}.  (67)

We also have S = 3I_{3} and N = B_{1}.