I've been trying to compute the jordan normal form of a 36-by-36 matrix composed of only three distinct entries, 1
, 1/2
, and 0
. The matrix is a probability transition matrix so, given these entries, the matrix is obviously sparse.
The issue I've been having is the following: whenever I try to compute
[V, J] = jordan(A),
or
[V, J] = jordan(sym(A)),
I get the following error message:
Error using mupadmex
Error in MuPAD command: Similarity matrix too large.Error in sym/mupadmexnout (line 1546)
out = mupadmex(fcn,args{:});Error in sym/jordan (line 32)
[Vsym,Jsym] = mupadmexnout('symobj::jordan',A,'All');
I've read in the MATLAB help that computation of the Jordan form is very sensitive to perturbations. I did not think my computation would be an issue, however, since all the entries of the matrix are either integers or ratios of integers.
My questions are the following:
- How do I interpret the error output I received?
- Are the errors I received addressable?
- If the errors are not addressable, are there alternative methods (functions in Matlab) I could try to compute the Jordan form?