これはC++のLAPACKE_zheevx()関数による固有値計算の収束のための適切な公差( "abstol")の設定に関する質問です。LAPACKE_zheevx()が収束に失敗しました - C++で2 * DLAMCH( 'S')を使用してABSTOLを増加させる方法は?
デフォルト値「abstol」(すなわちabstol = -1)で固有値/固有ベクトルを計算するときにLAPACKE_zheev()が収束しないとき、LAPACKマニュアルにabstol = 2 * DLAMCH( 'S')を設定するように指示されます。しかし、DLAMCHはFortran関数であり、有効なC++関数として認識しないC++を使用しています。 C++でLAPACKを使用するとき(つまりLAPACKEを使用するとき)、abstol = 2 * DLAMCH( 'S')を適切に設定する方法を教えてください。
ありがとうございました!
背景: LAPACKEはLAPACK(数値代数のFortranライブラリ)のC++インターフェイスです。 LAPACKE_zheevx()は、LAPACKのZHEEVX()関数のLAPACKEのC++インターフェイスです。
キーワード: LAPACK、LAPACKE、C++、ABSTOL、DLAMCH、CONVERGENCE、固有値、EIGENVECTORS
私は文字通りあなたが何を求めているのかは分かりません。最初はボット生成テキストのように見えました。 – tambre
コメントのおかげで、私は質問を言い換えてみましょう。 – Boki