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

◆ WZgbsv2()

Function WZgbsv2 ( N As  Long,
Kl As  Long,
Ku As  Long,
Ab As  Variant,
B As  Variant,
Optional Nrhs As  Long = 1 
)

連立一次方程式 AX = B の解 (複素帯行列) (実数部/虚数部分離形式)

目的
Zgbsv2は次の複素連立一次方程式を解く.
A * X = B
ここで, Aは下帯幅Kl, 上帯幅KuのN×N帯行列, また, XおよびBはN×Nrhs行列である.

まず, 行交換によるピボットの部分選択を行うLU分解を用いて, 次のようにAを分解する.
A = L * U
ここで, Lは置換行列と下帯幅Klで対角要素が1の下三角行列の積, そして, Uは上帯幅Kl+Kuの上三角行列である. 次に, 分解されたAを用いて連立方程式 A * X = B の解を求める.

複素数を表現するために実数部と虚数部を隣り合ったセルに格納する(左が実数部, 右が虚数部). 得られた解も実数部と虚数部が隣り合った別々のセルに出力される.
戻り値
N+1 × 2Nrhs
列1列2・・・列Nrhs
行1〜N解行列 X (実数部と虚数部を隣り合った列に格納(左が実数部, 右が虚数部))
行N+11/条件数リターンコード・・・0

リターンコード.
= 0: 正常終了.
= i > 0: 行列のi番目のピボットがゼロになった. (行列 A は特異)
引数
[in]N連立方程式の数, すなわち, 行列Aの行および列数. (N >= 1)
[in]Kl行列Aの下帯幅(対角要素を除く). (Kl >= 0)
[in]Ku行列Aの上帯幅(対角要素を除く). (Kl >= 0)
[in]Ab(Kl+1+Ku×2N) N×N係数行列 A. (帯格納形式. 詳細は下記参照)
[in]B(N × 2Nrhs) N×Nrhs右辺行列 B.
[in]Nrhs(省略可)
右辺行列Bの列数. (Nrhs >= 1) (省略時 = 1)
詳細
次の例は, N = 6, Kl = 2, Ku = 1 の場合の帯行列形式を表す.
     *   a12  a23  a34  a45  a56
    a11  a22  a33  a44  a55  a66
    a21  a32  a43  a54  a65   *
    a31  a42  a53  a64   *    *
*で示されたセルは使用されない.
出典
LAPACK
使用例
連立一次方程式 Ax = B を解く. また, Aの条件数の逆数の推定値(RCond)を求める. ただし,
( 0.81+0.37i 0.20-0.11i 0 )
A = ( 0.64+0.51i -0.80-0.92i -0.93-0.32i )
( 0 0.71+0.59i -0.29+0.86i )
( -0.0484+0.2644i )
B = ( -0.2644-1.0228i )
( -0.5299+1.5025i )
とする.

WZgbsv2