問題タブ [scalapack]
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.
c - Scalapack が間違った答えを返す
scalapack の pzheevd ルーチンを使用して、大きな行列のすべての固有値を見つけるための C コードを作成しようとしています。単純な 4x4 マトリックスをハードコーディングした次の単純な例があります。1 つのプロセス、2 つのプロセス、または 4 つのプロセスを使用して、正しい固有値 (-2.0396、-2、2、2.0396) を取得します。ただし、すべての行列要素が正しく割り当てられているように見えても、3 のような不整合な数値を使用すると、返される固有値は正しくありません。
コードをビルドするには、次を使用します。
動作する例:
そうでないもの:
そしてコード:
python - python ctypesは複数の共有ライブラリをgsl gslcblasの例とリンクします
Python で共有ライブラリのいくつかの関数を使用したいと考えています。python doc から、ctypes が適切な選択であることがわかっています。ただし、そのようなライブラリには未定義のシンボルがいくつかあるため、別の共有ライブラリにリンクしてシンボルを取得する必要があります。
g++ では、単純です: g++ main.cpp -la -lb. 必要な関数は liba.so にあり、liba.so には未定義の関数があり、libb.so で解決できます。
しかし、ctypesでそれを行う方法は? ctypes.cdll.LoadLibrary('liba.so') は、未定義のシンボルがいくつかあると言いました。ctypes に libb.so を見つけるように指示するにはどうすればよいですか? ldd liba.so は libb.so へのリンクを表示しないためです。
例: gsl でいくつかの関数を使用したいと考えています。g++ の場合:
ldd libgsl.so は libgslcblas へのリンクを表示しません
パイソンでは:
ctypesにlibgslcblasを見つけるように指示する方法は?
scalapack を使用すると、同じ問題が発生します。私はubuntu 16.04を使用しています
makefile - 「ld: -lblacsF77init のライブラリが見つかりません」
Macbook で mpi を使用してコードをコンパイルしようとしていますが、「ld: -lblacsF77init のライブラリが見つかりません」というエラーが表示されます。このライブラリがどこにあるのか、正しいパスを作成する方法がわかりません。
これは makefile です: # シリアル Fortran コンパイラ プログラム
どうぞよろしくお願いいたします。