RokkoInterfaceParallelDenseSolvers - t-sakashita/rokko GitHub Wiki

密行列ソルバ(MPI並列版)向けインターフェース

  • 表中でデフォルトとは、scalapack:(コロンはなしでも良い)のようにライブラリ名だけが与えられた場合に選択されるルーチンを指す。

ScaLAPACK

標準固有値問題
Rokkoルーチン名 元々のルーチン名 解法 入力パラメータ(オプション) 出力パラメータ 備考
scalapack:pdsyev scalapack:qr pdsyev QR法 uplow なし ScaLAPACKの引数なしのデフォルト
scalapack:pdsyevx pdsyevx QR法/2分法 upper_indexとlower_index(またはupper_valueとlower_value), abstol, uplow m, ifail abstol>0のとき、2分法のみ, abstol<0のとき、QR法
scalapack:bisection pdsyevx 2分法 upper_indexとlower_index(またはupper_valueとlower_value), abstol, uplow m, ifail pdsyevxをabstol>0として使用
scalapack:pdsyevr scalapack:mr3 pdsyevr MR3法 upper_indexとlower_index(またはupper_valueとlower_value), abstol, uplow, orfac m, nz, ifail, iclustr, gap LAPACKの固有値範囲指定ありのデフォルト
scalapack:pdsyevd scalapack:dc pdsyevd 分割統治法 uplow なし

EigenExa

標準固有値問題
Rokkoルーチン名 元々のルーチン名 解法 入力パラメータ(オプション) 出力パラメータ 備考
eigen_exa:tri eigen_exa:eigen_s eigen_s 分割統治法(3重対角化を経由) m_forward, m_backward なし
eigen_exa:penta eigen_exa:eigen_sx eigen_sx 分割統治法(5重対角化を経由) m_forward, m_backward なし EigenExaのデフォルト
一般化固有値問題(KMATH_EIGEN_GEVを利用)

ELPA

標準固有値問題

Elemental(C++11が必要)

標準固有値問題

共通の入力パラメータ(オプション)

Rokkoのパラメータ名 ScaLAPACKのパラメータ名 意味 備考
matrix_part uplow std::string (charや文字列は変換して格納) 上三角と下三角のうちどちらが読まれるか upper(U), lower(L) 最初の一文字で判断。大文字か小文字かはどちらでも良い。デフォルトは、'U'
abstol abstol double
upper_index iu int 求めたい固有値の番号の上限(番号は昇順につけられる)
upper_value vu double 求めたい固有値の範囲の上限
lower_index il int 求めたい固有値の番号の下限(番号は昇順につけられる)
lower_value vl double 求めたい固有値の範囲の下限
verbose なし bool Rokko側で用意した表示ルーチン。ソルバに設定した入力パラメータ、エラーの詳細を表示。 デフォルトはfalse