問題タブ [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.
lapack - Lapack_row_major と Lapack_col_major を lda で理解する
lapack_row_major と lapack_col_major に関して 3 つの質問があります。
1) A = [1,2,3,4,5,6] 次元が 2*3 の場合、lapack_row_major は [ [1,2,3],[4,5,6] ] になるという私の理解は正しいですか? 、一方、lapack_col_major の結果は [ [1,3,5],[2,4,6] ] ?
2) 関数に A を渡したいときに、row_major または col_major のどちらを選択するかは重要ですか?
3) lapack_row_major と lda (配列の主要な次元) はどのように関連していますか? am*n 行列 A を lapack_row_major 形式で関数に渡したい場合、その lda は n ですか? A を lapack_col_major として渡すと、その lda は m ですか?
ありがとう
opencl - ArrayFire に LAPACK がありませんが、あります
ArrayFire (3.3.1)の最新リリースをダウンロードし、ビルドしようとしています。私は立ち往生してcmake .
います。不足しているライブラリを多数インストールして再実行したところ、次のようになりました。
と
lapack をインストールしました。これは /usr/lib/liblapack.so にあります (これは代替のシンボリック リンクですが、壊れていません)。ラパッケも装着。
c++ - boost-python と lapack のコンパイル エラー
Python変数を抽出するboostと行列を解くlapackを使用してプログラムを作成しました。ただし、コンパイルプロセスに問題があります
ここに私のインクルードとコードの最初の行があります:
コンパイルすると大量のエラーが発生するため、この出力を解釈するのが困難です。ここにサンプルがあります:
Q :コンパイルに関する私の限られた知識は、lapack と boost の間の競合を想定しがちですが、どのように解決すればよいですか?
Q:これは、cpp ファイルで定義された名前空間に関連する問題ですか?
c++ - LAPACKE/GNU C++: LAPACKE_zheevx() 関数の奇妙なバグ
ここでは、LAPACKE の関数 LAPACKE_zheevx() を使用しているときに遭遇した奇妙なバグについて説明します。4 つの固有値/ベクトルのうち 3 つを計算する単純なテスト コード (Intel の Web サイトの例) はうまく機能し、正しい出力が得られます。ただし、ソース コードに任意の文字列の宣言を導入すると (例: std::string OutputFIlename;)、コンパイルはうまくいきますが、実行時にセグメンテーション エラー SIGSEGV が発生します !!!
まず、機能するコードをリストします。
ここで、main() で 2 行目のコメント記号 (//) を削除すると、次のようになります。 //std::string fn_VALS; これは std::string fn_VALS; になります。これでソースはコンパイルされますが、実行時にセグメンテーション エラー SIGSEGV で失敗します。
より詳しい情報:
Windows 7 Pro と Code::Blocks を使用しています。LAPACKE ヘッダーと dll は 2016 年 6 月 15 日にダウンロードされました。コンソールから: Process returned -1073741819 (0xC0000005) Code::Blocks のコール スタック ウィンドウから
.......... main() 呼び出し LAPACKE_zheevx() [lapacke.dll]
.......... LAPACKE_zheevx() は LAPACKE_zheevx_work() を呼び出します [lapacke.dll]
.......... LAPACKE_zheevx_work() は zheevx_() を呼び出します [lapack.dll]
助けてください。
c++ - LAPACKE_zheevx() は収束に失敗しました -- C++ で 2*DLAMCH('S') を使用して ABSTOL を増やす方法は?
これは、C++ の LAPACKE_zheevx() 関数を使用した固有値計算の収束に対する適切な許容誤差 ("abstol") の設定に関する質問です。
LAPACKE_zheev() が "abstol" のデフォルト値 (つまり、abstol=-1) で固有値/固有ベクトルを計算するときに収束に失敗した場合、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、EIGENVALUES、EIGENVECTORS
c++ - LAPACK/LAPACKE with C++ on LINUX --- コンパイル、リンク、実行?
はじめに: LAPACK(LAPACKE) と MPI をすべて Windows で利用する C++ でアプリケーションを開発しました。Windows では問題なく動作します (コンパイルとリンクは Code::Blocks IDE で処理されます) が、実行速度が遅すぎます。したがって、GNU C++、MPICH2、LAPACK が既にインストールされている CentOS Linux で実行されている小さな「スーパーコンピューター」にコードを移行したいと考えています。
質問: Linux/CentOS で LAPACKE を呼び出す C++ コードをコンパイル/リンクして実行する方法は? LAPACK(LAPACKE) で C++ をコンパイル/リンク/実行するには、CentOS マシンに GNU Fortran をインストールする必要がありますか?
どうもありがとう!!!
python - C と Python の固有ベクトル ルーチンの結果の違い
そのため、すべて 1 の 4x4 行列の固有値分解に対して異なる答えが得られることに気付きました。
Python で numpy.linalg.eig を使用する場合:
パイソンの結果:
LAPACK DSYEV を使用した C の場合:
C DSYEV 結果:
LAPACK DGEEV を使用した C の場合:
C DGEEV 結果:
結果が全然違う!
だから私は2つの大きな質問があります:
- なんで?これは 1 行列の縮退によるものですか?
- Python In C の結果を複製するにはどうすればよいですか?
任意の洞察をいただければ幸いです。