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

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??

回答 (1 件)

Mukul Rao
Mukul Rao 2015 年 6 月 23 日

0 投票

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 件のコメント

Rahul Singh
Rahul Singh 2015 年 6 月 24 日
It still fails.
Warning: Found roots of the minimal polynomial that cannot be determined in terms of radicals. [linalg::jordanForm]
Mukul Rao
Mukul Rao 2015 年 6 月 24 日
Rahul, what release of MATLAB are you working with?
Rahul Singh
Rahul Singh 2015 年 6 月 25 日
編集済み: Rahul Singh 2015 年 6 月 25 日
2013b, does it matter?

サインインしてコメントする。

製品

質問済み:

2015 年 6 月 22 日

編集済み:

2015 年 6 月 25 日

Community Treasure Hunt

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

Start Hunting!

Translated by