필터 지우기
필터 지우기

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

조회 수: 6 (최근 30일)
Rahul Singh
Rahul Singh 2015년 6월 22일
편집: Rahul Singh 2015년 6월 25일
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일
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
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?

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Matrix Decomposition에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by