XLPack 6.1
Excel VBA 数値計算ライブラリ・リファレンスマニュアル
読み取り中…
検索中…
一致する文字列を見つけられません

◆ Ztrexc()

Sub Ztrexc ( Compq As  String,
N As  Long,
T() As  Complex,
Q() As  Complex,
Ifst As  Long,
Ilst As  Long,
Info As  Long 
)

シュール分解の並べ替え (複素行列)

目的
本ルーチンは, T の行インデックス Ifst の対角ブロックを行 Ilst に移動するように, 複素行列のシュール分解 A = Q*T*Q^H の並べ替えを行う.

シュール形 T はユニタリ相似変換 Z^H*T*Z により並べ替えられる. また, シュールベクトルからなる行列 Q は Z を右から乗算することにより更新することができる.
引数
[in]Compq= "V": シュールベクトルからなる行列 Q を更新する.
= "N": Q を更新しない.
[in]N行列 T の行および列数. (N >= 0) (N = 0 の場合, 処理を行わずに戻る)
[in,out]T()配列 T(LT1 - 1, LT2 - 1) (LT1 >= N, LT2 >= N)
[in] 上三角行列 T.
[out] 並べ替え後の上三角行列.
[in,out]Q()配列 Q(LQ1 - 1, LQ2 - 1) (LQ1 >= N, LQ2 >= N)
Compq = "V" の場合,
[in] シュールベクトルからなる行列 Q.
[out] T を並べ替えるユニタリ変換行列 Z を Q に右から乗じる.
Compq = "N" の場合, Q() は参照されない.
[in]Ifst
[in]IlstT の対角要素の並べ替えを指定する. 行インデックスが Ifst の要素は, 隣り合う要素の転置を繰り返すことにより, 行 Ilst に移動される.
(1 <= Ifst <= N, 1 <= Ilst <= N)
[out]Info= 0: 正常終了.
= -1: パラメータ Compq の誤り. (Compq <> "V" および "N")
= -2: パラメータ N の誤り. (N < 0)
= -3: パラメータ T() の誤り.
= -4: パラメータ Q() の誤り.
= -7: パラメータ Ifst の誤り. (Ifst < 1 または Ifst > N)
= -8: パラメータ Ilst の誤り. (Ilst < 1 または Ilst > N)
出典
LAPACK