|
|
◆ 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] | ilst | T の対角要素の並べ替えを指定する. 行インデックスが 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
|