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

◆ WZhbgv2()

Function WZhbgv2 ( Jobz As  String,
Uplo As  String,
N As  Long,
Ka As  Long,
Kb As  Long,
Ab As  Variant,
Bb As  Variant 
)

一般化固有値問題 (エルミート帯行列) (実数部/虚数部分離形式)

目的
WZhbgv2はエルミート帯行列の一般化固有値問題
Ax = λBx
のすべての固有値, および, 必要により固有ベクトルを求める. ここで, AとBはエルミート帯行列, さらにBは正定値である.

複素数を表現するために実数部と虚数部を隣り合ったセルに格納する(左が実数部, 右が 虚数部). 得られた解も実数部と虚数部が隣り合った別々のセルに出力される.
戻り値
N+1×1 (Jobz = "N"の場合), N+1×2N+1 (Jobz = "V"の場合)
列1列2〜2N+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×2N) エルミート帯行列 A. (対称帯行列形式)
[in]Bb(Kb + 1×2N) 正定値エルミート帯行列 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 )
とする.

WZhbgv2