function [R, RI , S ] = Matrix_block (A,N)
[U,D]= schur (A);
E=ordeig(D) ;
[R, S]= ordschur (U,D, abs (E) <1000* eps ) ;
RI=R';
m= max(max(R* RI-eye (2*N) ) ) ;
if m >100* eps;
sprintf( 'R not unitary , N: %d , Maximum : %d \n ' ,N,m);
end
C = R*S*RI-A;
m= max(max( abs (C) ) ) ;
if m >10* eps ;
sprintf ('Rtransformeriet , N: %d , Maximum : %d \n', N,m)
end
我正在使用上面的代码来获取具有非零条目的某个反对称矩阵的块对角形式。我得到块对角线形式总是一个空矩阵。这是精度错误吗?
我该如何纠正?如果需要,这是矩阵:- https://drive.google.com/file/d/0BxqrCZfy_mcXLW5PbkVUeHVSODA/edit?usp=sharing 非常感谢 :-)