# Computing Jordan Canonical Form

I know how to compute Jordan Canonical Form of a nilpotent matrix, but I find a little bit tedious and long my method for computing the JCF of a general triangulable matrix. I'll show you how I compute the JCF, if you think you know a faster way to do it, please tell me.

Let $A\in M_{n\times n}(\mathbb{R}$) be a triangulable matrix, and let $\text{Sp}(A)=\{\lambda_1, \ldots, \lambda_k\}$, with $k\le n$, its spectrum and $p_A(t)=(-1)^k(t-\lambda_1)^{h_1}\cdots (t-\lambda_k)^{h_k}$, with $h_1+\cdots+h_k=n$, its characteristic polynomial. By primary decomposition theorem $\mathbb{R}^n=\text{Ker}(A-\lambda_1I)^{h_1}\oplus\cdots\oplus\text{Ker}(A-\lambda_kI)^{h_k}$ and each addendum is $A$-invariant. Let $W_{\lambda_j}=\text{Ker}(A-\lambda_jI)^{h_j}$. We also know from the theory that $\dim W_{\lambda_j}=h_j$ and that the characteristic polynomial of the restriction of $A$ to $W_{\lambda_j}$ is $\pm (t-\lambda_{j})^{h_j}$.

Now, what I do when I compute JCF, is writing primary decomposition, finding a basis $B_j$ of $W_{\lambda_j}$ and computing $M_j=\mathcal{M}_{B_j}(A)-\lambda_j I\in M_{h_j\times h_j}(\mathbb{R})$. At this point $M_j$ is a nilpotent matrix and I'm happy.

• Are you working in $\;\Bbb R^4\;$ , as written there? Because if you are things could be, imo, way simpler... Feb 28, 2014 at 16:23
• No, it's $\mathbb{R}^n$. Sorry, I've edited. Feb 28, 2014 at 16:25
• By "computing the JCF", do you mean finding the equivalent Jordan matrix along with the appropriate change of basis, or is it enough to simply find the Jordan matrix without the change of basis? Feb 28, 2014 at 16:26
• I have to find a basis too, but I'm also interested if there is an other method in the other case. Feb 28, 2014 at 16:29

## 1 Answer

If you only want the JCF, it is completely determined by the Segre characteristics, most of which you can find by just having the characteristic polynomial and minimal polynomial. So the key is that the minimal polynomial gives you the size/order of the largest simple Jordan block associated with a particular eigenvalue, and then with some arithmetic you are usually able to deduce the sizes of other blocks associated with the same eigenvalue. If you cannot deduce all the sizes in this way, then you have to resort to determining the dimension of the relevant eigenspace.

Once you have the JCF then you can calculate the basis (columns of nonsingular matrix $P$) by equating the columns of $AP$ and $PJ$ (since $P^{-1}AP=J$) - so if $P=[X_1,X_2,X_3]$ you will get a series of equations $AX_i=X_j$ for example - it is usually relatively simple to compute from here.

For detail please refer to this book: http://www.amazon.com/Matrices-Linear-Transformations-Edition-Mathematics/dp/0486663280 . It has a very clear description of the method...