Suppose I have the $10 \times 10$ matrix $M$ given by
$M= \begin{bmatrix} 2 & 2 & 11 & 18 & -11 & 3 & 28 & 21 & -8 & 4\\ 13 & 1 & -34 & -50 & 51 & -3 & -75 & -75 & 27 & 3 \\ -9 & 3 & 30 & 33 & -42 & 5 & 52 & 62 & -23 & 3\\ 1 & 3 & 4 & 3 & -7 & 5 & 3 & 14 & -3 & 5\\ -9 & 2 & 21 & 19 & -30 & 2 & 31 & 43 & -15 & 1\\ -5 & 3 & 12 & 6 & -19 & 4 & 10 & 27 & -8 & 3\\ 3 & -3 & -13 & -13 & 18 & -3 & -18 & -29 & 10 & -5\\ -4 & 0 & 10 & 13 & -14 & 0 & 20 & 21 & -8 & 0\\ 2 & -3 & -6 & 2 & 7 & -1 & 2 & -10 & 3 & -4\\ 2 & -3 & -11 & -7 & 13 & -2 & -12 & -20 & 8 & -5\\ \end{bmatrix}.$
Now I know that the characteristic polynomial of $M$ is $(x+1)^3 (x-2)^7$. I had to do some nullity calculations to figure out the minimal polynomial, which turns out to be $(x+1)^2 (x-2)^3$. Putting my matrix $M$ into Maple gave me the Jordan canonical form and rational canonical form of $M$. But I really did not get the grasp of how I could use nullspaces to get these canonical forms. What would be the step-by-step methods here to find them only using nullspaces, rather than just simply plugging it into Maple?