問題タブ [lapacke]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
29 参照

c++ - LAPACKE_dsyevd が間違った固有ベクトルを返す

私は偉大なプログラマーには程遠いので、LAPACKE_dsyevd を使おうとしています。対角が 0 で非対角要素が 1 に等しい 2x2 対称行列の固有値と固有ベクトルを見つけることを目的とした次のコードを書きました。固有値は適切なものですが、返される固有ベクトルの 1 つだけが適切です. パラメータのいくつかの組み合わせを試してみましたが、成功しませんでした...誰かが何が悪いのか教えてもらえますか?

0 投票する
1 に答える
175 参照

c++ - LAPACKE C++ リンク エラー。関数が見つかりません

LAPACKE ライブラリを使用して、LAPACK ライブラリへの C/C++ 呼び出しを行いたいと考えています。複数のデバイスで簡単なプログラムをコンパイルしようとしましたが、LAPACKE が正しくリンクしていないようです。

これが私のコードで、この例から少し変更されています:

apt パッケージ マネージャーを使用して blas、lapack、lapacke をインストールしました。

私はコンパイルしています:

-私が知る限り必要ではないはずですが、念のために入れておきます。次のエラーが表示されます。

ソースから lapacke をコンパイルするか、ヘッダー全体をインポートするか、関数自体を extern として宣言するか、関数の名前をdgetrf()dgetrf_()、またはLAPACK_dgetrf()のいずれかに変更しても、この問題は解決しません。 LAPACK スタイルの呼び出しで見た一般的な名前。

Lapacke ヘッダーを見ると、LAPACK_dgetrf() が lapack 関数呼び出し dgetrf_() に変換されているように見えます。静的アーカイブを解凍して dgetrf を探すと、liblapack.a には関数オブジェクト dgetrf.o があり、liblapacke.a には関数 lapack_dgetrf.o があることがわかります。LAPACK_dgetrf() は基本的に dgetrf_() であり、LAPACK には dgetrf_() ではなく dgetrf() という関数があるため、リンカが dgetrf_() を見つけられないことが問題の根本にあると考えています。ただし、コンパイラはリンクされたライブラリが存在しないことを訴えなかったので、私は非常に混乱しています.ベース)。

LAPACKE を C だけでなく C++ 用にコンパイルするにはどうすればよいですか?

0 投票する
0 に答える
50 参照

openmp - Eigen + MKL は複素数行列にシングル コアを使用 (ZHEEV)

クラスターの mkl から奇妙な動作があります。複素行列 (ZHEEV) に対して Eigen::SelfAdjointEigenSolverEigen::MatrixXcd を呼び出しています。

大きな行列 (dim >~ 100k) の固有ベクトルを計算すると、単一のコアしか使用されません。

奇妙なことに、固有ベクトルを使用せずに、小さな複雑な行列、実数行列、および大きな複雑な行列 (dim >~ 100k) に対して完全に問題なく (複数のコアで) 実行されます。

誰かが同じ問題に直面したか、バックグラウンドで何が起こっているか知っていますか?

さまざまな mkl バージョンを試しました。