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.
 A: *

*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.
A: Axler's approach from "Find $A_k$ such that $\tilde{B}_k\cup A_k$ is a basis for $U_k$" is a bit redundant.
Note that each $N^{d_i}v_i$ is in $\rm{null}(N)$. So, by extending $N^{d_1}v_1, \ldots, N^{d_r} v_r$ to a basis of $U_k\cap \rm{null}(N)$, we have Jordan basis of $U_k$.
This is possible approach due to the proof of the rank-nullity theorem, where it is obtained that for any linear map $T:V\rightarrow W$ of finite dimensional vector spaces $V$ and $W$, let $\gamma$ be a basis of range$(T)$, let $\beta$ be a basis of null$(T)$. Then $\beta$ along with the preimages of $\gamma$, say
$$
\beta \cup T^{-1}(\gamma),$$
forms a basis of $V$.
For the Jordan basis of $U_k$, the extension of $N^{d_1}v_1, \ldots, N^{d_r} v_r$ to $U_k\cap \rm{null}(N)$ gives the basis of null$(N\big\vert_{U_k})$, and preimages of basis of $U_{k+1}= \mathrm{range} (N\big\vert_{U_k})$ together forms a basis of $U_k$.
