So we’ve got a Jordan normal form for every linear endomorphism on a vector space of finite dimension over an algebraically closed base field . That is, we can always pick a basis with respect to which the matrix of is block-diagonal, and each block is a “Jordan block” . This is an matrix
with the eigenvalue down the diagonal and just above the diagonal.
Abstractly, this is a decomposition of as a direct sum of various subspaces, each of which is invariant under the action of . And, in fact, it’s the only “complete” decomposition of the sort. Decomposing into generalized eigenspaces can really be done in only one way, and breaking each eigenspace into Jordan blocks is also essentially unique. The biggest Jordan block comes from picking one vector that lives through as many applications of as possible. As we apply over and over to , we expand until (after no more than iterations) we fill out an invariant subspace. Not only that, but we know that we can break up our generalized eigenspace as the direct sum of this block and another subspace, which is also invariant. And that lets us continue the process, splitting off blocks until we’ve used up the whole generalized eigenspace.
Now, there is one sense in which this process is not unique. Direct sums are commutative (up to isomorphism), so we can rearrange the Jordan blocks for a given endomorphism , and the result is still a Jordan normal form. But that’s the only way that two Jordan normal forms for the same endomorphism can differ.