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