Ask Your Question

Exact jordan form of large matrix

asked 2022-08-22 17:07:04 +0200

egolfcs gravatar image

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!

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2022-08-23 18:53:38 +0200

tmonteil gravatar image

updated 2022-08-23 19:48:07 +0200

Elements of QQbar are not stored as an expression involving radicals (those are not symbolic expressions), but with their minimal polynomial and some box around the correct root as you suggests (lazily).

Note that this representation does not allow constant-time operations since the degree of the polynomial might grow and the location of the root might require more and more precision.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2022-08-22 17:07:04 +0200

Seen: 121 times

Last updated: Aug 23 '22