|
|
◆ WZhbgv()
| Function WZhbgv |
( |
Jobz As |
String, |
|
|
Uplo As |
String, |
|
|
N As |
Long, |
|
|
Ka As |
Long, |
|
|
Kb As |
Long, |
|
|
Ab As |
Variant, |
|
|
Bb As |
Variant |
|
) |
| |
一般化固有値問題 (エルミート帯行列) (Excel複素数形式)
- 目的
- WZhbgvはエルミート帯行列の一般化固有値問題 のすべての固有値, および, 必要により固有ベクトルを求める. ここで, AとBはエルミート帯行列, さらにBは正定値である.
セル中で複素数を表現するためにExcelの複素数形式(例, 2.5+1i)を使用する. 複素数値はComplexワークシート関数を使って入力することができる.
- 戻り値
- N+1×1 (Jobz = "N"の場合), N+1×N+1 (Jobz = "V"の場合)
| 列1 | 列2〜N+1 |
| 行1〜N | 固有値 (昇順) | 固有ベクトル(Jobz = "V" かつ Info = 0の場合). (Z^H)BZ = I となるように正規化される. |
| 行N+1 | リターンコード | 0 |
リターンコード.
= 0: 正常終了.
= i (0 < i <= N): 中間結果の3重対角形の非対角要素のi個が0にならなかった.
= i (N < i): Bの(i-N)次小行列が正定値でないためBの分解に失敗した.
- 引数
-
| [in] | Jobz | = "N": 固有値のみ求める.
= "V": 固有値と固有ベクトルを求める. |
| [in] | Uplo | = "U": AおよびBの上三角部分を格納する.
= "L": AおよびBの下三角部分を格納する. |
| [in] | N | 行列AおよびBの行および列数. (N >= 1) |
| [in] | Ka | 行列 A の上または下帯幅. (Ka >= 0) |
| [in] | Kb | 行列 B の上または下帯幅. (Kb >= 0) |
| [in] | Ab | (Ka + 1×N) エルミート帯行列 A. (対称帯行列形式) |
| [in] | Bb | (Kb + 1×N) 正定値エルミート帯行列 B. (対称帯行列形式) |
- 出典
- LAPACK
- 使用例
- 一般化固有値問題 Ax = λBx の固有値および固有ベクトルを求める. ここで, Aはエルミート帯行列, Bは正定値エルミート帯行列である. ただし,
( -0.20 -0.32-0.81i 0 )
A = ( -0.32+0.81i 0.11 0.37+0.80i )
( 0 0.37-0.80i -0.93 )
( 2.20 -0.32-0.81i 0 )
B = ( -0.32+0.81i 2.11 0.37-0.80i )
( 0 0.37-0.80i 2.93 )
とする.
|