How to calculate Jordan's normal form (the hard way)
June 10, 2013
First thing we do is find out the spectrum of A, that is, its eigenvalues. We shall mark them as spA={λ1,λ2,λ3,⋯,λn}. We do this however we can, usually by finding the zeros of the characteristic polynomial, that is solving the equation det(A−λI)=0 for λ
In the next step we will be examining the sequence of generalized eigenspaces (i.e. ker(A−λI)n for a given n) for each λ∈spA.
ker(A−λI)ker(A−λI)2ker(A−λI)3⋮
We calculate each kernel by simply solving the equation
(A−λI)nx1x2x3⋮xn=0
Eventually, the two consecutive kernels in a sequence will be the same - ker(A−λI)k=ker(A−λI)k+1
When we have found the first such kernel, we take a look at the one that it succeeded - ker(A−λI)k−1. We must now choose such a vector x0 that is in ker(A−λI)k but not in ker(A−λI)k−1. For example if
ker(A−λI)k−1=L110,100
whereas ker(A−λI)=R3, we can choose
x0=001
We now consider a sequence:
x1=(A−λI)x0x2=(A−λI)x1⋮
Eventually one vector will be zero,
xn=0
Concatenate the vectors up to xn−1 together from right to left
Aλ=[xn−1,xn−2,…,x1,x0]
Repeat the above steps for every eigenvalue of A. Then concatenate the matrices Aλ corresponding to each eigenvalue together.
P=[Aλ1,Aλ2,…,Aλn]
This is the so-called Jordan basis, the change-of-basis matrix we need to calculate the Jordan form. The order of Aλ matrices does not matter since Jordan normal form is only unique up to a permutation of Jordan blocks.
We need to calculate the inverse of P, usually by Gaussian ellimination.