Notes on the Jordan canonical form Introduction - wiki - University of ...
Notes on the Jordan canonical form Introduction - wiki - University of ...
Notes on the Jordan canonical form Introduction - wiki - University of ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
MAT 240, <strong>University</strong> <strong>of</strong> Tor<strong>on</strong>to, notes by Marco Gualtieri<br />
Introducti<strong>on</strong><br />
<str<strong>on</strong>g>Notes</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>Jordan</strong> can<strong>on</strong>ical <strong>form</strong><br />
Let V be a finite-dimensi<strong>on</strong>al vector space over a field F, and let T : V −→ V be a linear<br />
operator such that<br />
(T − a1) k1 · · · (T − am) km = 0, (1)<br />
for a1, . . . , am distinct numbers in F. The purpose <strong>of</strong> this note is to explain how to find a<br />
is block diag<strong>on</strong>al, where each block looks like<br />
<strong>Jordan</strong> basis, i.e. a basis β for V such that [T] β<br />
β<br />
⎡<br />
a 1<br />
⎢<br />
⎣<br />
a 1<br />
. ..<br />
⎤<br />
⎥<br />
. ..<br />
⎥<br />
a 1⎦<br />
a<br />
The matrix above is called a <strong>Jordan</strong> block with eigenvalue a. Note that a basis (v1, . . . , vl)<br />
giving rise to a <strong>Jordan</strong> block is “cyclic” in a certain sense: from <strong>the</strong> shape <strong>of</strong> <strong>the</strong> matrix, we<br />
see that if we apply T − a to vi, we obtain vi−1. We call vl a “cyclic” vector, since <strong>the</strong> rest <strong>of</strong><br />
<strong>the</strong> basis can be generated from vl, via vi = (T − a) l−ivl. The first thing we must do to simplify our problem is to apply <strong>the</strong> decompositi<strong>on</strong> <strong>the</strong>orem,<br />
which tells us that <strong>the</strong> null space <strong>of</strong> m i=1 (T − ai) ki, which is all <strong>of</strong> V by (1), is a direct<br />
sum <strong>of</strong> <strong>the</strong> generalized1 eigenspaces null(T − ai) ki. In o<strong>the</strong>r words, we have a direct sum<br />
decompositi<strong>on</strong><br />
V = V(a1) ⊕ · · · ⊕ V(am), (3)<br />
where V(ai) = null(T − ai) ki. So, we can focus <strong>on</strong> finding a <strong>Jordan</strong> basis for each <strong>of</strong> <strong>the</strong><br />
V(ai) separately. Then by putting <strong>the</strong> bases toge<strong>the</strong>r we obtain a <strong>Jordan</strong> basis for V. For<br />
this reas<strong>on</strong>, we may assume from now <strong>on</strong> that T is a linear operator <strong>on</strong> a vector space V(a)<br />
and that (T − a) k = 0, and we are trying to find a basis in which T has diag<strong>on</strong>al blocks <strong>of</strong> <strong>the</strong><br />
<strong>form</strong> (2).<br />
1 Recall that v is a generalized eigenvector with eigenvalue a when <strong>the</strong>re exists some i with (T − a) i v = 0.<br />
1<br />
(2)
What’s <strong>the</strong> idea?<br />
To better illustrate <strong>the</strong> kind <strong>of</strong> problem we are trying to solve, here are two linear operators,<br />
each with an 8-dimensi<strong>on</strong>al generalized eigenspace V(a):<br />
⎡<br />
a 1<br />
⎤<br />
⎡<br />
a 1<br />
⎤<br />
⎢<br />
T1 = ⎢<br />
⎣<br />
a 1<br />
a<br />
a 1<br />
a<br />
a 1<br />
a<br />
⎥<br />
⎦<br />
⎢<br />
T2 = ⎢<br />
⎣<br />
a 1<br />
a 1<br />
a<br />
a 1<br />
a<br />
a<br />
⎥<br />
⎦<br />
a<br />
a<br />
So, T1 has <strong>Jordan</strong> blocks <strong>of</strong> size (3, 2, 2, 1), while T2 has blocks <strong>of</strong> size (4, 2, 1, 1). They happen<br />
to have <strong>the</strong> same number <strong>of</strong> blocks, but <strong>the</strong> size <strong>of</strong> <strong>the</strong> blocks is different. In general, we<br />
could have blocks with sizes making up any partiti<strong>on</strong> <strong>of</strong> 8, for example 8 = 3 + 2 + 1 + 1 + 1.<br />
Given T, we would like to figure out how many <strong>Jordan</strong> blocks <strong>the</strong>re are, what <strong>the</strong>ir sizes<br />
are, and how to find <strong>the</strong> actual basis giving this <strong>Jordan</strong> <strong>form</strong>. The idea is simple:<br />
The key is <strong>the</strong> sequence <strong>of</strong> null spaces null(T − a) i , i = 1, . . . , k.<br />
It is c<strong>on</strong>venient to define ti = dim null(T − a) i .<br />
To see how this works, let’s assume that T has a <strong>Jordan</strong> <strong>form</strong>, but we d<strong>on</strong>’t know what it is.<br />
• The dimensi<strong>on</strong> <strong>of</strong> <strong>the</strong> eigenspace null(T − a) tells you exactly how many <strong>Jordan</strong> blocks<br />
<strong>the</strong>re are, since each <strong>Jordan</strong> block has a 1-dimensi<strong>on</strong>al eigenspace. In o<strong>the</strong>r words, t1 is<br />
<strong>the</strong> number <strong>of</strong> <strong>Jordan</strong> blocks.<br />
• If T has <strong>on</strong>ly <strong>Jordan</strong> blocks <strong>of</strong> size 1, <strong>the</strong>n t2 = dim null(T − a) 2 is <strong>the</strong> same as t1. But in<br />
general, t2 will be bigger than t1, because each <strong>Jordan</strong> block <strong>of</strong> size > 1 will c<strong>on</strong>tribute<br />
+1. Therefore t2 − t1 tells us <strong>the</strong> number <strong>of</strong> <strong>Jordan</strong> blocks <strong>of</strong> size > 1, and we can<br />
c<strong>on</strong>clude that <strong>the</strong> number <strong>of</strong> <strong>Jordan</strong> blocks <strong>of</strong> size 1 is t1 − (t2 − t1).<br />
• In general, tk+1 − tk is <strong>the</strong> number <strong>of</strong> <strong>Jordan</strong> blocks <strong>of</strong> size > k, and so <strong>the</strong> number <strong>of</strong><br />
<strong>Jordan</strong> blocks <strong>of</strong> size exactly k is (tk − tk−1) − (tk+1 − tk) = 2tk − tk−1 − tk+1.<br />
We can phrase <strong>the</strong> above discussi<strong>on</strong> in a very clever way 2 as follows:<br />
Propositi<strong>on</strong> 1. Let t = (t0, t1, . . .), where ti = dim null(T − a) i . Then T has si <strong>Jordan</strong> blocks <strong>of</strong><br />
size i, where s = (s0, s1, . . .) is given by<br />
s = −R(L − 1) 2 t,<br />
where R, L are <strong>the</strong> right and left shift operators <strong>on</strong> sequences.<br />
For example, for T1 as above, we have t = (0, 4, 7, 8, 8, . . .). Hence we have s = (0, 1, 2, 1, 0, 0, . . .)<br />
indicating <strong>on</strong>e block <strong>of</strong> size 1, two <strong>of</strong> size 2, and <strong>on</strong>e <strong>of</strong> size 3, as is indeed <strong>the</strong> case. For T2 we<br />
have t = (0, 4, 6, 7, 8, 8, . . .), so that s = (0, 2, 1, 0, 1, 0, 0, . . .), yielding two <strong>Jordan</strong> blocks <strong>of</strong> size<br />
1, <strong>on</strong>e <strong>of</strong> size 2, and <strong>on</strong>e <strong>of</strong> size 4.<br />
2 I learned this from Pr<strong>of</strong>. John Labute, I’d like to know if appears elsewhere.<br />
2
How to find a <strong>Jordan</strong> basis<br />
In this secti<strong>on</strong> we will give an algorithm for finding a <strong>Jordan</strong> basis, i.e. a basis β for V(a)<br />
such that [T] β<br />
β is in <strong>Jordan</strong> <strong>form</strong>. Beware: <strong>the</strong>re are many possible choices <strong>of</strong> <strong>Jordan</strong> basis,<br />
even though <strong>the</strong> <strong>Jordan</strong> <strong>form</strong> will always c<strong>on</strong>sist <strong>of</strong> <strong>the</strong> same number <strong>of</strong> <strong>Jordan</strong> blocks <strong>of</strong><br />
each size. For example, <strong>the</strong> identity operator is in <strong>Jordan</strong> <strong>form</strong> in any basis.<br />
To make our life easier, we would like to introduce <strong>the</strong> following terminology:<br />
Definiti<strong>on</strong> 1. Let U ⊂ V be a linear subspace. Then we say that <strong>the</strong> list <strong>of</strong> vectors (v1, . . . , vl) in V is<br />
“linearly independent mod U” when <br />
i αivi ∈ U implies αi = 0 for all i. We say that (v1, . . . , vl)<br />
is a “basis <strong>of</strong> V mod U” when it is linearly independent mod U and V = U + span(v1, . . . , vl).<br />
It is easy to find a basis <strong>of</strong> V mod U: simply choose a basis (u1, . . . , uk) for U and extend<br />
it to a basis (u1, . . . , uk, v1, . . . , vl) for V. The vectors (v1, . . . , vl) are <strong>the</strong>n a basis <strong>of</strong> V mod U.<br />
We now give <strong>the</strong> algorithm for finding a <strong>Jordan</strong> basis for V(a). The idea is to find a<br />
cyclic vector for each <strong>Jordan</strong> block, which <strong>the</strong>n generates <strong>the</strong> <strong>Jordan</strong> basis for that block. This<br />
algorithm finds <strong>the</strong> cyclic vectors for <strong>the</strong> largest <strong>Jordan</strong> blocks first, and <strong>the</strong>n proceeds to find<br />
<strong>the</strong> cyclic vectors for <strong>the</strong> smaller blocks.<br />
Step 1: Choose a basis (v 1 k<br />
, . . . , vsk<br />
our cyclic vectors for <strong>the</strong> <strong>Jordan</strong> blocks <strong>of</strong> size k. There are sk = tk − tk−1 <strong>of</strong> <strong>the</strong>m.<br />
k ) <strong>of</strong> V(a) = null(T − a)k mod null(T − a) k−1 . These will be<br />
Step 2: If k = 1, stop. Else, apply T − a to <strong>the</strong> cyclic vectors from <strong>the</strong> previous step, obtaining<br />
(T − a)v i k in null(T − a)k−1 . Then <strong>the</strong> key point is that<br />
((T − a)v 1 k , . . . , (T − a)vsk k ) is linearly independent mod null(T − a)k−2 .<br />
Extend to a basis <strong>of</strong> null(T − a) k−1 mod null(T − a) k−2 , by choosing (v1 k−1 , . . . , vsk−1<br />
k−1 ),<br />
which are <strong>the</strong>n cyclic vectors for <strong>the</strong> <strong>Jordan</strong> blocks <strong>of</strong> size k−1. Since we have extended<br />
a list <strong>of</strong> size sk to reach a length tk−1 −tk−2, <strong>the</strong>re are sk−1 = (tk −tk−1)−(tk−1 −tk−2)<br />
<strong>of</strong> <strong>the</strong>se new cyclic vectors.<br />
Step 3: Repeat Step 2, with k replaced by k − 1.<br />
Once <strong>the</strong> algorithm terminates, we may arrange <strong>the</strong> chosen basis as follows:<br />
β = (v 1 1 , . . . , vs1<br />
1 , (T−a)v12 , v12 , . . . , (T−a)vs2 2 , vs2<br />
2 , . . . , (T−a)i−1v 1 i , . . . v1i , . . . , (T−a)i−1v si<br />
i<br />
this would put [T] β<br />
β into <strong>Jordan</strong> <strong>form</strong> with blocks <strong>of</strong> increasing size down <strong>the</strong> diag<strong>on</strong>al.<br />
3<br />
, . . . , vsi<br />
i , . . .)
An example<br />
Find a <strong>Jordan</strong> basis for <strong>the</strong> following operator:<br />
⎡<br />
1<br />
⎢<br />
⎢0<br />
⎢<br />
T = ⎢0<br />
⎢<br />
⎣0<br />
0<br />
1<br />
0<br />
0<br />
1<br />
0<br />
1<br />
0<br />
0<br />
1<br />
0<br />
1<br />
⎤<br />
1<br />
1<br />
⎥<br />
0 ⎥<br />
1⎦<br />
0 0 0 0 1<br />
Clearly <strong>the</strong> <strong>on</strong>ly eigenvalue is 1. Let ɛ = (e1, . . . , e5) be <strong>the</strong> standard basis. First we calculate<br />
null(T − 1) i :<br />
null(T − 1) = span(e1, e2)<br />
null(T − 1) 2 = span(e1, e2, e3, e4)<br />
null(T − 1) 3 = span(e1, e2, e3, e4, e5).<br />
Since t = (0, 2, 4, 5, 5, . . .), we have s = (0, 0, 1, 1, 0, 0, . . .), so we will have a <strong>Jordan</strong> <strong>form</strong> with<br />
a block <strong>of</strong> size 2 and <strong>on</strong>e <strong>of</strong> size 3. The algorithm proceeds as follows:<br />
Step 1: Pick v 1 3 = e5, it will be a cyclic vector for a <strong>Jordan</strong> block <strong>of</strong> size 3.<br />
Step 2: We must extend (T − 1)e5 = e1 + e2 + e4 to a basis <strong>of</strong> null(T − 1) 2 mod null(T − 1). We<br />
can do this by adding v 1 2 = e3. This will be a cyclic vector for a <strong>Jordan</strong> block <strong>of</strong> size 2,<br />
and we are d<strong>on</strong>e.<br />
The <strong>Jordan</strong> basis is<br />
β = ((T − 1)v 1 2 , v1 2 , (T − 1)2 v 1 3 , (T − 1)v1 3 , v1 3 ) = (e1, e3, e2, e1 + e2 + e4, e5).<br />
Therefore, we have that T = PJP−1 , where P = [I] ɛ β and J = [T]β β is <strong>the</strong> <strong>Jordan</strong> <strong>form</strong>. Explicitly<br />
writing P (its columns are <strong>the</strong> <strong>Jordan</strong> basis in terms <strong>of</strong> <strong>the</strong> standard basis), we have<br />
⎡<br />
1<br />
⎢<br />
⎢0<br />
⎢<br />
P = ⎢0<br />
⎢<br />
⎣0<br />
0<br />
0<br />
1<br />
0<br />
0<br />
1<br />
0<br />
0<br />
1<br />
1<br />
0<br />
1<br />
⎤<br />
0<br />
0<br />
⎥<br />
0 ⎥<br />
0⎦<br />
0 0 0 0 1<br />
4