Собственные значения квазиугольных матриц
E = ordeig(T)
E = ordeig(AA,BB)
E = ordeig(T)
принимает квазиугольную матрицу Шура T
, обычно производится schur
, и возвращает вектор E
собственных значений в порядке их внешнего вида вниз по диагонали Т.
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