Main Content

ordeig

疑似三角行列の固有値

構文

E = ordeig(T)
E = ordeig(AA,BB)

説明

E = ordeig(T) は、一般に schur で作成された疑似三角 Schur 行列 T を取得し、T の下側の対角に現れる順で固有値のベクトル E を返します。

E = ordeig(AA,BB) は、一般に qz で作成された疑似三角行列の組 AABB を取得し、AA-λ*BB の下側の対角に現れる順で一般化固有値を返します。

関数 ordeig は、関数 eig を関数 ordschurordqz に使用した場合の順番を保存したバージョンになります。また、疑似三角行列に関数 eig を使用した場合より、計算が速くなります。

例 1

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

例 2

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

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2006a より前に導入

参考

| | | | |