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の他のいくつかの機能もインタフェース可能です.