[proofplan]
For a single eigenvalue $\lambda$, shift to $\nu = \alpha - \lambda\,\mathrm{id}$ (nilpotent on the generalised eigenspace). Compute $\dim\ker(\nu^r)$ for a single Jordan block $J_m(0)$ as $\min(r, m)$, then sum over all blocks. The differences $d_r = n(\nu^r) - n(\nu^{r-1})$ count the number of blocks of size $\geq r$, which determines the full block structure.
[/proofplan]
[step:Compute nullities of powers for a single Jordan block]
Consider a single $m \times m$ nilpotent Jordan block $J_m(0)$ with ones on the superdiagonal and zeros elsewhere.
The matrix $J_m(0)^r$ has ones on the $r$-th superdiagonal for $r < m$, and is zero for $r \geq m$.
The kernel of $J_m(0)^r$ consists of vectors whose last $m - \min(r, m)$ coordinates are zero:
\begin{align*}
n(J_m(0)^r) = \dim\ker(J_m(0)^r) = \min(r, m).
\end{align*}
[/step]
[step:Sum nullities over all Jordan blocks for a given eigenvalue]
Suppose the Jordan form for eigenvalue $\lambda$ consists of blocks of sizes $m_1 \geq m_2 \geq \cdots \geq m_s$.
The nilpotent part $\nu = \alpha - \lambda\,\mathrm{id}$ restricted to the generalised eigenspace is similar to $\mathrm{diag}(J_{m_1}(0), \dots, J_{m_s}(0))$.
Since kernels of block-diagonal matrices are direct sums of the individual kernels:
\begin{align*}
n(\nu^r) = \sum_{j=1}^s \min(r, m_j).
\end{align*}
[/step]
[step:Recover the block structure from the nullity differences]
Define $d_r = n(\nu^r) - n(\nu^{r-1})$ for $r \geq 1$, with $n(\nu^0) = \dim\ker(\mathrm{id}) = 0$.
Then
\begin{align*}
d_r = \sum_{j=1}^s \bigl[\min(r, m_j) - \min(r-1, m_j)\bigr].
\end{align*}
For each $j$: $\min(r, m_j) - \min(r-1, m_j) = 1$ if $r \leq m_j$, and $0$ if $r > m_j$.
Therefore
\begin{align*}
d_r = \#\{j : m_j \geq r\} = \text{number of Jordan blocks of size} \geq r.
\end{align*}
The number of blocks of size exactly $r$ is $d_r - d_{r+1}$.
[guided]
To see why $\min(r, m_j) - \min(r-1, m_j)$ equals $1$ or $0$:
if $r \leq m_j$, then $\min(r, m_j) = r$ and $\min(r-1, m_j) = r - 1$, so the difference is $1$.
If $r > m_j$, then both $\min(r, m_j) = m_j$ and $\min(r-1, m_j) = m_j$ (since $r - 1 \geq m_j$ as well), so the difference is $0$.
Therefore $d_r$ counts exactly the blocks whose size $m_j$ is at least $r$.
For example, if the block sizes are $(4, 3, 3, 1)$, the nullity differences are $d_1 = 4$, $d_2 = 3$, $d_3 = 2$, $d_4 = 1$, $d_r = 0$ for $r \geq 5$.
The number of blocks of size exactly $r$ is $d_r - d_{r+1}$: size $4$ has $1 - 0 = 1$ block, size $3$ has $2 - 1 = 1$ block (wait, should be $2$)...
Actually $d_1 - d_2 = 4 - 3 = 1$ gives blocks of size exactly $1$, $d_2 - d_3 = 3 - 2 = 1$ gives blocks of size exactly $2$, and so on.
This recovers the partition $(4, 3, 3, 1)$ from the sequence $(d_r)$.
[/guided]
[/step]
[step:Conclude uniqueness of the Jordan form]
Since $d_r = n(\nu^r) - n(\nu^{r-1})$ depends only on $\dim\ker(\nu^r)$, which is a basis-independent quantity (the nullity of a linear map is invariant under similarity), the Jordan block structure is completely determined by the endomorphism $\alpha$.
By the [Generalised Eigenspace Decomposition](/theorems/411), the eigenvalues and their algebraic multiplicities are determined by $\chi_\alpha$.
Within each generalised eigenspace, the block structure is determined by the nullity sequence.
Therefore the entire Jordan normal form is unique up to the ordering of the blocks.
[/step]