Jordan canonical form and rational canonical form for 10 x 10 matrix

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?

-
To get eigenvectors don't you have take the kernal of the characteristic polynomial? – diimension Nov 30 '12 at 0:01

Let $A$ be an $n\times n$ matrix with different eigenvalues $\lambda_1,\lambda_2,...,\lambda_k$. For each $1 \le i \le k$, look at the generalized Eigenspaces $$Ker(A-\lambda_i Id) \subseteq Ker(A-\lambda_i Id)^2 \subseteq Ker(A-\lambda_i Id)^3 \subseteq ...$$ Let $s$ be the least integer such that $Ker(A-\lambda_i Id)^s = Ker(A-\lambda_i Id)^{s+1}$. One can see that this is the multiplicity of $\lambda_i$ in the minimal polynomial of $A$.
Now choose a $v \in Ker(A-\lambda_i Id)^s \setminus Ker(A-\lambda_i Id)^{s-1}$and add the elements $((A-\lambda_i)^{s-1}(v),(A-\lambda_i)^{s-2}(v)...,(A-\lambda_i)(v),v)$ to your Jordan basis $B$ (These elements will give you a Jordan block of size s). Repeat this process with vectors which are not in the linear hull of $B$ together with $Ker(A-\lambda_i)^{s-1}$ until $B \cup Ker(A-\lambda_i)^{s-1} \supseteq Ker(A-\lambda_i)^s$. Then proceed by finding the greatest $k$ smaller than $s$ with $Ker(A-\lambda_i Id)^k \setminus Span(Ker(A-\lambda_i Id)^{k-1} \cup B)\ne \emptyset$ choose a $u \in Ker(A-\lambda_i Id)^k \setminus Span(Ker(A-\lambda_i Id)^{k-1} \cup B)$ and add $((A-\lambda_i)^{k-1}(u),(A-\lambda_i)^{k-2}(u)...,(A-\lambda_i)(u),u)$ to $B$ (giving you a Jordan block of size k).
Repeat that until $B$ contains a basis for $Ker(A-\lambda_i Id)^s$, then do the same for every other eignvector and, finally, you have got your Jordan Basis. (Of course, you obtain your Jordan matrix as $B^-1AB^1$ where $B$ is your basis transformation matrix.)
 I understand what to do, but what is a linear hull? I'm not sure I understand the set theoretic symbolism. – Libertron Dec 4 '12 at 22:05 The linear hull of a set S is the set of all vectors which can be written as a linear combination of the vectors in S. In our case Span(Ker(...) U B) is the subspace spanned by the elements of B and Ker(...) and the requirement for u and v mean that they don't lie in this subspace. – Dominik Dec 4 '12 at 22:12 I think I may have found an alternative way to do the Jordan canonical form, just by using the ranks of powers of $A- \lambda I$. It actually helps to determine the sizes of various Jordan blocks. – Libertron Dec 5 '12 at 0:57