Собственные значения квазитреугольных матриц
E = ordeig(T)
E = ordeig(AA,BB)
E = ordeig(T)
берет квазитреугольную матрицу Шура T
, обычно произведенный schur
, и возвращает векторный E
собственных значений в их порядке внешнего вида вниз диагональ T.
E = ordeig(AA,BB)
берет пару квазитреугольной матрицы AA
и BB
, обычно произведенный qz
, и возвращает обобщенные собственные значения в их порядке внешнего вида вниз диагональ AA-λ*BB
.
ordeig
является сохраняющей порядок версией eig
для использования с ordschur
и ordqz
. Это также быстрее, чем eig
для квазитреугольных матриц.
T=diag([1 -1 3 -5 2]);
ordeig(T)
возвращает собственные значения T
в том же порядке, они появляются на диагонали.
ordeig(T) ans = 1 -1 3 -5 2
eig(T)
, с другой стороны, возвращает собственные значения в порядке увеличивающегося значения.
eig(T) ans = -5 -1 1 2 3
A = rand(10); [U, T] = schur(A); abs(ordeig(T)) ans = 5.3786 0.7564 0.7564 0.7802 0.7080 0.7080 0.5855 0.5855 0.1445 0.0812 % Move eigenvalues with magnitude < 0.5 to the % upper-left corner of T. [U,T] = ordschur(U,T,abs(E)<0.5); abs(ordeig(T)) ans = 0.1445 0.0812 5.3786 0.7564 0.7564 0.7802 0.7080 0.7080 0.5855 0.5855