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

◆ ztrexc()

void ztrexc ( char  compq,
int  n,
int  ldt,
doublecomplex  t[],
int  ldq,
doublecomplex  q[],
int  ifst,
int  ilst,
int *  info 
)

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

目的
本ルーチンは, 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]ldt二次元配列 t[][] の整合寸法. (ldt >= max(1, n))
[in,out]t[][]配列 t[lt][ldt] (lt >= n)
[in] 上三角行列 T.
[out] 並べ替え後の上三角行列.
[in]ldq二次元配列 q[][] の整合寸法. (ldq >= 1 (compq = 'N'), ldq >= max(1, n) (compq = 'V'))
[in,out]q[][]配列 q[lq][ldq] (lq >= 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: 入力パラメータ ldt の誤り (ldt < max(1, n))
= -5: 入力パラメータ ldq の誤り (ldq が小さすぎる)
= -7: 入力パラメータ ifst の誤り (ifst < 0 または ifst > m)
= -8: 入力パラメータ ilst の誤り (ilst < 0 または ilst > m)
出典
LAPACK