私はEigenとBlasについて基本的な読み方をしました。どちらのライブラリも行列行列、行列ベクトル乗法をサポートしています。私はどちらの場合に使用すべきか理解できません。私にとっては、どちらもほぼ同じ性能を持っているようです。もし誰かが私に資源を与えてくれたり、あるライブラリが持っている利点が何であるか教えてくれればいいですね。または、行列とベクトルの操作の場合、これらの2つの違いはどのようになりますか?前もって感謝します。固有値を使うときとBlasを使うとき
2
A
答えて
1
この質問に対する回答はここにあります。
http://eigen.tuxfamily.org/index.php?title=FAQ#How_does_Eigen_compare_to_BLAS.2FLAPACK.3F
多かれ少なかれ、それはcomforableインタフェースを持っているので、私は、主に固有を使用しています。速度とマルチコアの並列処理が必要な場合や、時間がかかりますがコード内に線形代数を入れる必要がある場合は、GotoBlas2を使用してください。通常、Intelマシン上では最も高速です。
3
Eigenを使用すると、より完全で使いやすくなります。次に、完全に最適化された別のBLAS実装がより高いパフォーマンスをもたらすかどうか疑問に思うなら、コードを-DEIGEN_USE_BLAS
で再コンパイルし、お気に入りのblasにリンクして自分で見てください。
また、Eigenを使用する場合、コンパイラーの最適化を有効にすることを忘れないでください。 -O3
、最新のEigenを使用している場合は-mavx -mfma
など、ハードウェアがサポートする命令セットを設定します。
関連する問題
- 1. cvBlobsLibを使った固有ベクトルと固有値
- 2. 固定サイズの行列の `std :: vector 'を使うとき、Ivy Bridge上のAVXを使った固有セグメンテーション
- 3. スペクトルクラスタリング固有ベクトルと固有値
- 4. Fortranでmkl lapackライブラリを使用した固有値と固有ベクトル
- 5. `{{}}`と `{!! !!} `フォームを使うときは?
- 6. SparseArray setValueAt()を使うべきときは?
- 7. ブートストラップ4 - 行を使うべきとき?
- 8. VLOOKUPとカウント固有の値
- 9. dom要素をループするとき、 "this"を使うときと、いつループ変数を使うのか?
- 10. activitiを使用すると、jBPMのようなドメイン固有の拡張機能を定義できますか?
- 11. Mathematica:Solveを使うときに数値を抽出する
- 12. LapackppとブーストBLAS
- 13. sh.exe.stackdump git stashを使うとき
- 14. Fillモデル私がHttpPostedFileBaseを使うとき
- 15. cvBlobsLibによる固有ベクトルと固有値
- 16. 一般化された固有値と固有ベクトルのベクトル
- 17. MingWとmakefilesを使うときにライブラリとリンクする方法
- 18. System.ArgumentException DataGridViewComboBoxとValueMemberを使用しようとしたとき
- 19. は、2次元で固有値を持つ収縮を行うことはできませんか?
- 20. Numpyを使った固有ベクトルの値
- 21. 最低固有値と固有ベクトルの2つを使用してnumpyでプロットする
- 22. np.eigとnp.svdの異なる固有値
- 23. Numpy - Modal行列と対角固有値
- 24. ロータススクリプトで多値配列を使って作業しようとしたとき
- 25. 私はNSObjectを使うことができるときになぜidを使うのですか?
- 26. #defineで固定式を使うと、数値を使うよりも効率が悪くなりますか?
- 27. NAを行と列に固有の値に置き換えてください。
- 28. Fortranで最初の固有値と固有ベクトルを計算する方法
- 29. sklearnスペクトルクラスタリングから固有値と固有ベクトルを取得する方法は?
- 30. GPUで固有値と固有ベクトルを計算する際のパフォーマンスが低い