# Exact jordan form of large matrix

Hi, I have a, say, 301x301 matrix, M in QQbar. I'm interested in computing, exactly, its JNF M = p * jf * ~p. The built in function computes p and jf with no problem for smaller matrices, but it seems to be stuck on M. I suspect that this is because the eigenvalues have very large expressions in terms of +,*,radicals, etc. Am I right about that? My understanding is that JNF is O(n^3), if we assume the basic operations are constant time. If the representation of terms is very large, we cannot assume constant time.

I was wondering if it was possible, instead, to express the terms of p, jf, and ~p as roots of polynomials, i.e. "root of f near c" ---where f is a polynomial represented by a list of coefficients and c is some approximation of the true value of the root with sufficient precision to differentiate it from the other roots of f. I suspect that in general this representation of terms will be much more space and time efficient. I think I've seen mathematica represent numbers in this way.

Is such a feature already available? Thanks!