MATLAB: Does Jordan function take so long

eigjordanmatrix

I noticed that the function "jordan" applied on a square matrix A takes really long to output the canonical Jordan form of A, J, and the change of basis matrix Q, even when A is a small matrix. I am wondering why is it so? Why is "jordan" so slower than function "eig", how is it implemented? Thank you in advance.

Best Answer

Jordan works on the matrix in symbolic form. You cannot possibly expect a symbolic solution to operate as fast as an operation computed using double precision arithmetic.