Finding Jordan Canonical Form (V and J) of a big square matrix

8 visualizzazioni (ultimi 30 giorni)
While using [V J] = jordan(A); for a 33x33 matrix A, I am getting the following error.
Code:
if true
% code
end
N = 33;
W = zeros(N,N);
for i=1:N
for j = 1:N
if(i ~= j)
if(round(rand - 0.1))
W(i,j) = round(5*rand);
end
end
end
end
[V J] = jordan(W);
Command Window:
if true
% code
end
Warning: Found roots of the minimal polynomial that cannot be determined
in terms of radicals. [linalg::jordanForm]
Error using mupadmex
Error in MuPAD command: The operand is invalid. [_index]
Evaluating: symobj::jordan
Error in sym/mupadmexnout (line 879)
out = mupadmex(fcn,args{:});
Error in sym/jordan (line 34)
[Vsym,Jsym] = mupadmexnout('symobj::jordan',A,'All');
Error in jordan (line 25)
[V,J] = jordan(sym(A));
When I increase the size of the matrix A, I get the following error
if true
% code
end
Error using mupadmex
Error in MuPAD command: Similarity matrix too large.
Error in sym/mupadmexnout (line 879)
out = mupadmex(fcn,args{:});
Error in sym/jordan (line 34)
[Vsym,Jsym] = mupadmexnout('symobj::jordan',A,'All');
Error in jordan (line 25)
[V,J] = jordan(sym(A));
How can I get the jordan decomposition of bigger matrices say a maximum of 200x200 matrix??

Risposte (1)

Mukul Rao
Mukul Rao il 23 Giu 2015
The Jordan function has an imposed size limit to help prevent exceedingly long calculations. In order to get around the error, execute this function instead:
>> feval(symengine, 'linalg::jordanForm', A, 'All')
Where "A" is the matrix which you are analyzing. Note that while this will bypass the size limitation, the calculation can take a very long time. If you are just interested in the eigenvalues and eigenvectors of the matrix, consider using the "eig" function instead.
  3 Commenti
Mukul Rao
Mukul Rao il 24 Giu 2015
Rahul, what release of MATLAB are you working with?

Accedi per commentare.

Prodotti

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by