# Jordan form step by step general algorithm

So I am trying to compile a summary of the procedure one should follow to find the Jordan basis and the Jordan form of a matrix, and I am on the lookout for free resources online where the algorithm to be followed is clearly explained in an amenable way.

I have found some interesting youtube videos but what I am on the lookout for is a written thing.

Alternatively, if you are so kind as to flesh out the procedure I would be happy to accept that as an answer.

• Find all the eigenvalues of $$T$$.

• For each eigenvalue $$\lambda$$:

• Let $$N = T-\lambda I$$.

• Compute $$N^2, N^3, \dots, N^n$$.

• Find the generalized eigenspace $$G=G(\lambda,T)$$ of solutions $$u$$ to $$N^n u = 0$$.

• Find a temporary basis for $$G$$.

• Let $$U_0 = G$$, $$U_n = \{0\}$$ and $$B_n = \emptyset$$.

• For $$k=n-1,\dots,1,0$$:

• Find $$U_k =$$range$$(N_{|_G})^k$$ by applying $$N^k$$ to the temporary basis of $$G$$.

• From the previous step we have a Jordan basis $$B_{k+1}$$ to $$T_{|_{U_{k+1}}}$$ given by $$N^{d_1}v_1,\dots,N^2 v_1, N v_1, v_1, \dots, N^{d_m}v_m,\dots,N^2 v_m, N v_m, v_m$$, with the property that $$N^{d_j+1} v_j = 0$$ for all $$j$$.

• For $$j=1,\dots,m$$, find one $$u_j$$ such that $$N u_j = v_j$$.

• Let $$\tilde B_k = N^{d_1}v_1,\dots,N^2 v_1, N v_1, v_1, u_1 \dots, N^{d_m}v_m,\dots,N^2 v_m, N v_m, v_m, u_m$$. Then $$\tilde B_k$$ is a Jordan basis for $$T$$ restricted to its span.

• Find $$A_k$$ such that $$\tilde B_k \cup A_k$$ is a basis for $$U_k$$.

• For each $$w\in A_k$$:

• Find $$x \in {\sf span} \tilde B_k$$ such that $$Nx = Nw$$.

• Let $$u=w-x$$, so $$Nu=0$$.

• Let $$\tilde A_k$$ be the set of vectors obtained above.

• Let $$B_k = \tilde B_k \cup A_k$$. Then $$B_k$$ is a Jordan basis for $$T_{|_{U_k}}$$.

• In the end, $$B_0$$ is a Jordan basis for $$T_{|_G}$$.

• Recollecting all Jordan bases for each $$T_{|_{G(\lambda,T)}}$$ produces a Jordan basis for $$T$$.

I found this method myself by digging into the proof in Axler's Done Right book. I hope it is correct.