問題タブ [lapack]
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.
fortran - Fortran 関数を呼び出すにはどうすればよいですか?
Fortran 関数を呼び出すにはどうすればよいですか?
DLANSYを呼び出そうとしていますが、誤って 0 が返されます。以下のコードとプログラム出力を参照してください。
そして、それが印刷するもの:
入力配列は適切なサイズです。
何が起こっている?
sorting - zgeev から取得した固有システムの並べ替え
Fortran で非対称複素行列の (複素) 固有値と固有ベクトルを取得するために、Lapack ルーチンzgeevを使用しています。結果として得られる固有ベクトルの配列は、任意の順序になります。固有値の配列と固有ベクトルの行列の対応する列の両方を並べ替えて、固有値が各固有値の実部に対して昇順になるようにしたいと思います。もちろん、独自のソート ルーチンを展開することもできますが、これを実行できる Fortran ルーチンがすでにどこかにあるのではないかと考えていました。
c - 固有ベクトルを計算するために dstev を使用してゼロ値を取得しています
私は gcc を使用して mac os x でコンパイルしています。Intel の mkl_lapack.h ライブラリがインストールされています。プログラムには NxN の三重対角行列があるため、行列の値を格納するために 2 つのベクトルを使用するだけです。「d」ベクトルは主対角で、副対角の値は「e」に格納されます。まず最初に値を初期化し、次に行列が 16x16 であるため (入力では値 16 を argv[1] として与えている)、ベクトルを 2 つのベクトルに分割します (dstev を一度だけ使用することもできますが、それは実験目的)、d[0] から d[N/2-1] まで d[N/2] から d[N-1] までの最初のベクトルがあります。したがって、「e」と「d」の値を初期化したら、dstev を 2 回呼び出します。しかし、dstev を 2 回呼び出した後、すべての「z」ベクトルで、8x8 のゼロ以外の値の 2 つの部分行列のみを持つ必要があります。しかし、「z」を入力しようとすると、一部の値が 0.0 になり、なぜこれが起こるのか説明できません。
このことを明確に説明したことを願っています。不明な点がある場合はお知らせください。
python - numpy 用の lapack のインストール
Ubuntu 11.10 + python2.7を実行しています...ソースからnumpyをビルドしてインストールしましたが、インストールしようとすると、
numpy.linalg から lapack_lite をインポートしようとしたとき。lapack をゼロから再構築しようとしましたが、作成するだけのようです
および .so ファイル。.so.3gf はどこから来て、どのように修正すればよいですか?
fortran - LAPACK: パックされたストレージ マトリックスの操作は高速ですか?
Fortran と LAPACK を使用して、実対称行列を三重対角化したいと考えています。LAPACK は基本的に 2 つのルーチンを提供します。1 つは完全な行列を操作し、もう 1 つはパック ストレージ内の行列を操作します。後者は確かにメモリ使用量が少ないですが、速度の違いについて何か言えることはありますか?
linker - Armadillo + BLAS + LAPACK:リンクエラー?
Armadillo 2.4.2に付属のexample1.cppをコンパイルしようとすると、次のリンクエラーが発生し続けます。
誰かが助けることができますか?手動でインストールしました
- BLASの最新バージョン
- lapack-3.4.0
- ブースト-1.48.0
- ATLASの最新バージョン
MacBookPro7,1モデルでUbuntu11.04を使用しています
c - cblas_dgemm と cblas_sgemm が関数ポインター配列で異なるポインター型を持つのはなぜですか?
適切なものを呼び出すために使用する関数ポインター配列がありますcblas_xgemm
(たとえば、ATLAS/CBLAS からのcblas_dgemm
orなど)。cblas_sgemm
これはcblas_dgemm
、関数ポインターで使用するように指示するとうまく機能します。dgemm は適切な引数で呼び出され、正しい結果を返します。
ただし、cblas_sgemm
関数ポインターで呼び出すと、次の出力が得られます。
問題を示す短いテスト プログラムを作成しました。cblas_sgemm
関数ポインターなしでの呼び出しは正常に機能します。
特に次の gcc 警告に注意してください (完全な gcc 出力がある上記のリンクの要旨も参照してください)。
関数ポインター配列定義の行をコメントアウトすると、そのcblas_sgemm
行であってもそのような警告は表示されませんcblas_dgemm
。しかし、これらの関数はどちらも同じ戻り値の型を持つ必要があるため、意味がありません!
からの適切な行は次のcblas.h
とおりです。
それで、何が得られますか?xgemm
あるヘッダーから関数の1つを取得し、別のヘッダーから別の関数を取得していますか? または、奇妙な関数ポインターの問題に対処していますか?
python - NumPy と SciPy で BLAS/LAPACK リンケージを確認するには?
このウォークスルーに基づいて、多かれ少なかれblasとlapackに基づいてnumpy/scipy環境を構築しています。
完了したら、numpy/scipy 関数が以前に構築された blas/lapack 機能を実際に使用していることを確認するにはどうすればよいですか?
linux - Linux で clpack をリンクする
clapack を使用するプロジェクトを osx から Linux に移行していますが、いくつかの問題が発生しています。cmake プロジェクトをダウンロードし、必要な .h ファイルと .a ファイルをコンパイルしてプロジェクト内の適切な場所に移動することで、clapack を使用します。
両方のシナリオ (osx と Linux) で同じ手順を使用し、両方のマシンでまったく同じソース コードを使用しましたが、Linux ですべてを適切にリンクすることはできません。
私のcmakeファイルのコード行は次のようになります
そして、私が得ているエラーは次のようになります
osx から linux への移植を行ったのはこれが初めてで、リンクするために必要な要件がいくつかあるのかどうか、または問題が何であるかがわかりません。
どんな助けでも大歓迎です。
スコット
linux - ClapackをcmakeプロジェクトLinuxにリンクする
clapackをLinux上のcmakeプロジェクトにリンクするのに苦労しているので、助けていただければ幸いです。
私はclapackを構築し、osx上の同じプロジェクトにリンクすることに成功しました。これにより、この状況は特に苛立たしいものになります。
私は最初にclapack-3.2.1-cmakeをダウンロードし、プロジェクトをコンパイルしました。次に、.aファイルと関連する.hファイルを、プロジェクトのルートディレクトリの下にあるCLAPACKという名前のディレクトリにコピーしました。(libblas.a、libf2c.a、liblapack.a、libtmglib.aをCLAPACK / libに、blaswrap.h、clapack.h、f2c.hをCLAPACKに)
次に、プロジェクトのcmakeファイルを変更して次のようにしました
これらの手順により、Macでコンパイルできましたが、プロジェクトをLinuxボックスに転送し、clapackライブラリを再コンパイルすると、次のようなリンクエラーが発生します。
どんな助けでも素晴らしいでしょう。ありがとう、
スコット