Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

qz

一般化固有値に対する QZ 分解

構文

[AA,BB,Q,Z] = qz(A,B)
[AA,BB,Q,Z,V,W] = qz(A,B)
qz(A,B,flag)

説明

関数 qz は、一般化固有値の計算における中間結果へのアクセスを提供します。

[AA,BB,Q,Z] = qz(A,B) は、正方行列 AB に対して、Q*A*Z = AA かつ Q*B*Z = BB となるような、疑似上三角行列 AA および BB とユニタリ行列 Q および Z を作成します。複素数行列の場合、AABB は三角行列です。

[AA,BB,Q,Z,V,W] = qz(A,B) は、列が一般化固有ベクトルである行列 VW も生成します。

qz(A,B,flag) は実数行列 AB に対して、flag の値に従って 2 つの分解のいずれかを作成します。

'complex'

三角行列 AA を使用して、可能な複素分解を行います。以前のバージョンとの互換性を維持するため、'complex' が既定の設定です。

'real'

疑似三角行列 AA を使用して、実数分解を行います。対角要素には、1 行 1 列と 2 行 2 列のブロックを含んでいます。

AA が三角行列の場合、対角要素 a = diag(AA)b = diag(BB) は、次の式を満たす一般化固有値です。

A*V*b = B*V*a
b'*W'*A = a'*W'*B

lambda = eig(A,B) で計算される固有値は ab の対角要素の比であり、lambda = a./b のようになります。

AA が三角行列でない場合は、非スパース システムの固有値を得るために、2 行 2 列のブロックを削除する必要があります。

拡張機能

バージョン履歴

R2006a より前に導入

参考