Matlab:为什么我得到这个反对称矩阵的块对角形式总是为零?

计算科学 matlab 矩阵 块分解
2021-12-16 03:37:04
    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 非常感谢 :-)

0个回答
没有发现任何回复~