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

◆ zptsv()

void zptsv ( int  n,
int  nrhs,
double  d[],
doublecomplex  e[],
int  ldb,
doublecomplex  b[],
int *  info 
)

(シンプルドライバ) 連立一次方程式 AX = B の解 (正定値エルミート3重対角行列)

目的
本ルーチンは次の複素連立一次方程式を解く.
A * X = B
ここで, Aはn×n正定値エルミート3重対角行列, また, XおよびBはn×nrhs行列である.

Aを A = L*D*L^H と分解し, 次に分解されたAを用いて連立一次方程式の解を求める.
引数
[in]n行列Aの行および列数. (n >= 0) (n = 0 の場合, 処理を行わずに戻る)
[in]nrhs右辺の数, すなわち, 行列Bの列数. (nrhs >= 0) (nrhs = 0 の場合, 処理を行わずに戻る)
[in,out]d[]配列 d[ld] (ld >= n)
[in] 正定値エルミート3重対角行列Aのn個の対角要素.
[out] 分解 A = L*D*L^H の対角行列Dのn個の対角要素.
[in,out]e[]配列 e[le] (le >= n - 1)
[in] 正定値エルミート3重対角行列Aのn-1個の副対角要素.
[out] 分解 A = L*D*L^H の下2重対角行列Lのn-1個の下副対角要素. これは, 分解 A = U^H*D*U の上2重対角行列Uの上副対角要素とみなすこともできる. (LおよびUの対角要素は1)
[in]ldb二次元配列b[][]の整合寸法. (ldb >= n)
[in,out]b[][]配列 b[lb][ldb] (lb >= nrhs)
[in] n×nrhs右辺行列 B.
[out] info = 0 の場合, n×nrhs解行列 X.
[out]info= 0: 正常終了
= -1: 入力パラメータ n の誤り (n < 0)
= -2: 入力パラメータ nrhs の誤り (nrhs < 0)
= -5: 入力パラメータ ldb の誤り (ldb < max(1, n))
= i > 0: i×i首座小行列が正定値でないため分解を完了できなかった. 解は計算されなかった. i = n でない限り分解は完了していない.
出典
LAPACK