|
|
◆ WDsygv()
| Function WDsygv |
( |
IType As |
Long, |
|
|
Jobz As |
String, |
|
|
Uplo As |
String, |
|
|
N As |
Long, |
|
|
A As |
Variant, |
|
|
B As |
Variant |
|
) |
| |
一般化固有値問題 (対称行列)
- 目的
- WDsygvは実対称行列の一般化固有値問題 Ax = λBx, ABx = λx または BAx = λx のすべての固有値, および, 必要により固有ベクトルを求める.
ここで, AとBは対称行列で, さらにBは正定値である.
- 戻り値
- N+1×1 (Jobz = "N"の場合), N+1×N+1 (Jobz = "V"の場合)
| 列1 | 列2〜N+1 |
| 行1〜N | 固有値 (昇順) | 固有ベクトル(Jobz = "V" かつ Info = 0の場合). 次のように正規化される.
IType = 1, 2: (Z^T)BZ = I
IType = 3: (Z^T)B^(-1)Z = I |
| 行N+1 | リターンコード | 0 |
リターンコード.
= 0: 正常終了.
= i (0 < i <= N): 中間結果の3重対角形の非対角要素のi個が0にならなかった.
= i (N < i): Bの(i-N)次小行列が正定値でないためBの分解に失敗した.
- 引数
-
| [in] | IType | 解くべき問題のタイプを指定.
= 1: Ax = λBx
= 2: ABx = λx
= 3: BAx = λx |
| [in] | Jobz | = "N": 固有値のみ求める.
= "V": 固有値と固有ベクトルを求める. |
| [in] | Uplo | = "U": AおよびBの上三角部分を格納する.
= "L": AおよびBの下三角部分を格納する. |
| [in] | N | 行列AおよびBの行および列数. (N >= 1) |
| [in] | A | (N×N) 対称行列 A. |
| [in] | B | (N×N) 正定値対称行列 B. |
- 出典
- LAPACK
- 使用例
- 一般化固有値問題 Ax = λBx の固有値および固有ベクトルを求める. ここで, Aは対称行列, Bは正定値対称行列である. ただし,
( 0.54 -0.90 -0.94 ) ( 1.18 0.54 -1.22 )
A = ( -0.90 0.70 1.04 ) B = ( 0.54 0.60 -0.71 )
( -0.94 1.04 1.65 ) ( -1.22 -0.71 1.66 )
とする.
|