SuperLUのインターフェース¶
Gmm++ からSuperLU 3.0 (https://portal.nersc.gov/project/sparse/superlu/superlu_3.0.tar.gz) を呼び出すことができます.ファイル gmm/gmm_superlu_interface.h
で定義されている次の関数が使用可能です.
SuperLU_solve(A, X, B, condest, permc_spec = 1)
この関数はシステム AX = B
を解きます.ここでAは基本型 float, double, std::complex<float>, or std::complex<double>
の疎行列です. permc_spec
はそれぞれ0,1,2でなければならず,自然数次を使用します. A'A
の構造の最小次, A'+A
(1がデフォルト値です)の構造の最小次およびcondestはdoubleの参照であり,これは行列 A
の条件数の推定値を返します.
これらの関数を使用するには,SuperLUをインストールし,追加のオプションを使用してコードをコンパイルする必要があります.
g++ ... -DGMM_USES_SUPERLU (dir_of_superlu)/superlu.a -lblas -I(dir_of_superlu)
SuperLUの他のいくつかの機能もインタフェース可能です.