問題タブ [suitesparse]

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 投票する
2 に答える
1307 参照

c++ - CHOLMODまたはSuiteSparseQRでのスパース行列の作成

SparseSuiteQRでは、私が見つけることができるすべての例で、stdinまたは読み取られたファイルを使用してスパース行列を作成します。誰かがC++で直接作成する方法の簡単な例を提供できますか?

さらに良いことに、CHOLMODのドキュメントには、matlabで使用可能なsparse2関数についての言及があります。これは、sparseと同じように動作します。これはC++で使用できますか?

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

c++ - CHOLMODを使用してトリプレット行列に要素を追加するにはどうすればよいですか?

CHOLMODを使用してトリプレット行列に要素を追加する方法の簡単な例を教えてください。

私はこのようなことを試しました:

ただし、これによってマトリックスに要素が追加されることはありません。私は単に出力を取得します:

もちろん、私は検索とCHOLMODドキュメントの両方で解決策を見つけようとしましたが、助けは見つかりませんでした。

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

c - CHOLMODスパース行列コレスキー分解:誤った因子?

私はCHOLMODを使用して、行列Aを因数分解し、システムAx = bを解きました。ここで、Aはヘッセ行列(下に印刷)であり、b = [1、1、1]はcholmod_ones関数によって作成されます。

残念ながら、xの解は正しくなく([1.5、2.0、1.5]である必要があります)、確認のためにAとxを掛け合わせて、[1、1、1]を取得しません。何が間違っているのかよくわかりません。

さらに、因子を調べましたが、行列要素の値も意味がありません。

出力

コード

iterate_hessian()は、CHOLMODヘッセ行列に読み込まれるdoubleを返す外部関数です。

コードのエントリポイントはcholesky_determinant、(正方)行列の次元を与える引数で呼び出されます。

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

c++ - Cholmod と Cholmod-Extra を使用した疎行列の逆行列の計算

最近Cholmod、いくつかの C++ コードでスパース コレスキー分解を実行するためにインストールしました。次に、分解を使用して逆行列を計算したかった(次の問題があります:

ここdで、ベクトル^Tは転置を示し、AスパースBです)

の実際の逆数を計算したかったのでB、合計を含む解を線形に解くことができます。それを呼び出すコードは次のとおりです。

逆数を計算することを目的としたhttps://cholmod-extra.readthedocs.org/en/latest/functions.htmlこの関数を見つけましたが、逆数ではなく、逆数の2乗に関連する何かが得られます。誰かがこれを使用した経験があるかどうか、または C++ でスパース行列の逆数を計算するのと同等のことをしたかどうか疑問に思っていました。

乾杯リンドリー

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

c - cholmod ロング バージョン関数は null ポインターを返す — c プログラミング

Macports 経由でインストールされた SuiteSparse @4.2.1_3 を使用しており、cholmod_dense 構造を割り当てたいと考えています。次のコードを検討してください。

次の出力が得られます。

つまりcholmod_dense、長いバージョンの構造体の割り当ては機能しませんが、整数バージョンはうまく機能します。これが起こる理由を知っている人はいますか?

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

python - cholmod ライブラリに接続しようとしている Python Swig の NameError

SuiteSparseライブラリ ( SuiteSparse )の一部であるC Cholmodライブラリへの Python インターフェイスを作成しようとしています。

私は Swig を初めて使用するので、これが困難な作業であるかどうかはわかりません。Swig で行われたこのインターフェースへの参照は見つかりませんでした。

コンパイルは問題なく行われます。

これは、swig で生成された「_cholmod.py」ファイルをインポートしようとすると発生するエラーです。

この名前はどこで定義されていますか? 拡張機能をインポートしようとするに、簡単な grep では何も返されません 、インポートしようとすると次のようになります。

私は使用しています:

  • SWIG バージョン 3.0.5 g++ でコンパイル [x86_64-unknown-linux-gnu] 設定オプション: +pcre
  • SuiteSparse 4.4.3 の cholmod ライブラリ

最小限の例を次に示します。

ファイル setup.py:

そして、私はそれを次のように呼び出します:

ファイル cholmod.i:

typedef と C 構造体に問題があると思いますが、チュートリアル、公式ドキュメント、プレゼンテーションを何度も読んだ後、何が欠けているのか本当にわかりません。

ここで誰か助けてくれませんか?どうもありがとう!

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

c++ - cholmod_factorize セグメンテーション違反。エラーをどのようにローカライズしますか?

この質問があいまいすぎたり、素朴すぎる場合は申し訳ありません

最適化に基づいていくつかのメッシュ変形アルゴリズムを実装しています 最適化の最後のステップは、疎ソルバーによって大きな疎行列を解決することです

このタスクには cholmod を使用します。しかし、場合によっては、cholmod_factorize で segfault を受け取ります

だから私の質問は、cholmod_factorize が segfault を発生させることができるのはどのような場合ですか? そして、どうすれば問題の原因を見つけることができますか?

ここで A マトリックスを提供することはできません。このマトリックスは非常に大きいためです (9000 以上の行と列、45000 個の非ゼロ項目)。A マトリックスの構成は多くの場合 (8000 以上の行/列) で問題なく、アルゴリズムは正常に機能します。cholmod_common から error_handler を使用しようとしましたが、何も受信しませんでした

PS私の英語でごめんなさい

UPDプログラムが失敗したようで、L-> is_superがtrueです

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

c++ - Windows 7 でメイクファイルを実行できない

Windows 7 で MinGW を使用してライブラリhttps://github.com/PetterS/SuiteSparse/tree/master/CSparseをコンパイルしようとしています。

メイクファイルの内容:

私はcmd.exeに入力しています:

私のパス変数:

私はすでにWindowsを再起動しました。cmd.exe で path=C:\MinGW\bin も設定しようとしましたが、何も変わりませんでした。

誰が私が間違っているのか教えてもらえますか?

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

matlab - Matlabは線形直接スパースソルバーを選択します

SuiteSparse の QR ソルバーを使用して、Matalab でスパース線形システムを解く必要があります。どうすれば選べますか?マトリックス構造によっては、「\」演算子を呼び出すときに QR ソルバーが使用されることがわかっています。しかし、私はそれを直接使用する方法を見つけていません。ドキュメントはありますか?

乾杯

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

c - 自分のコードで CUDA アクセラレーションで CHOLMOD を使用できない

CHOLMODCUDAアクセラレーションを使用しようとしていますSuiteSparse 4.4.4。ユーザーガイドに従ってコンパイルしたところ、フォルダーgpu.shの下でDemo正常に実行できました。これは、GPU が作業の一部を行っていることを示していました。しかし、 を使用して独自のコードを実行しようとするとCHOLMOD、GPU 呼び出しの数が常に 0 であることがわかりましたCommon->useGPU。1 に設定し、環境変数CHOLMOD_USE_GPUも 1 に設定します。私の Makefile は次のようなものです。ライブラリ パスが正しい。私への提案はありますか?

実際には、線形システムを解くための最も単純なテスト ケースを実行しているだけであることに言及する必要がありました。

UF Sparse Matrix Collection からいくつかのマトリックスを試しましたが、アプリケーションがプロファイルされnvprofていないことが示されました。CUDA

私が試したいくつかの行列:

bmw7st_1: http://www.cise.ufl.edu/research/sparse/matrices/GHS_psdef/bmw7st_1.html

nd6k: http://www.cise.ufl.edu/research/sparse/matrices/ND/nd6k.html

nd24k: http://www.cise.ufl.edu/research/sparse/matrices/ND/nd24k.html

コード:

メイクファイル: