Jordan Canonical Form

Jordan basis

A Jordan basis is a basis of the whole space in which the matrix of the operator IS its Jordan form. It is built by lining up Jordan chains end to end: list each chain from its eigenvector upward, do this for every chain and every eigenvalue, and the change-of-basis matrix P (whose columns are these vectors) gives P^-1 A P = J.

Construction, concretely, eigenvalue by eigenvalue. For each eigenvalue lambda compute the kernels of (A - lambda*I), (A - lambda*I)^2, ... until they stop growing; the difference in dimensions tells you how many chains of each length you need. Then pick lead generalized eigenvectors from the top kernel that survive the lower powers, and apply (A - lambda*I) repeatedly to flesh out each chain downward. The union of all chains is the Jordan basis.

The columns of P are the chain vectors, in chain order. With v_1 (eigenvector) first within each chain you get the standard 1s-above-diagonal blocks; the blocks appear in J in the same grouping as the chains in P. This is how you actually 'find the Jordan form' in practice rather than just assert that it exists.

Be careful: a Jordan basis is NOT unique — there is freedom in choosing the lead vectors and in mixing chains of equal length. What IS forced is the multiset of block sizes. So different correct computations can give different P's, all conjugating A to the same J.

P = [ v_1 | v_2 | w_1 ], P^-1 A P = [lambda 1 0; 0 lambda 0; 0 0 mu]

Columns are a length-2 chain (v_1,v_2) for lambda and a length-1 chain (w_1) for mu; P puts A into Jordan form.

Pitfall: pick lead vectors that are genuinely independent modulo lower kernels, or your chains will collide and fail to be a basis.

Also called
canonical basis for Jordan form