2011-08-04 40 views
2

高密度BLASの機能をコピーするスパース行列ライブラリはありますか?スパース行列ライブラリが必要

私はしたいと思います少なくとも:

  1. 効率的SYRとスパース入力(そしておそらく密な出力)とSYRK(ランクkの更新)、スパース対称保存のための
  2. オプション、
  3. DOT 、NRM2、転置および他の標準的なグッズ。

ただし、ジョブを実行している限り、命名とAPIはBLAS中心である必要はありません。 CまたはFortranが優先されますが、C++もOKです。

私はMKLscipy.sparseuBLASEigen3を見て、彼らは私が必要なものをサポートしていませんでしいずれか、または私は彼らが行うかどうかを見つけ出すことができませんでした。

+0

スパースBLASの実装があります。他にもあるが、私は自分のコンピュータから離れている。 – Iterator

答えて

2

私は失望して申し訳ありませんが、私が知る限り、私は答えはノーです。私は疎なデータで広範囲に研究し、疎な行列操作のための深いライブラリ(すなわちBLASレベル)を発見していない。 BLASよりも高いレベルでは、Matlab、R、Pythonなどの言語で幅広いサポートが提供されています。

これは、疎な行列の種類(分散、対称、帯状または三重対角、ブロック対角)、その内容(2進数、整数、実数)、およびそれらの数学的プロパティ(例えば、正定値 - 保証されていない、フルランク - 共通でない)などは、最適化を複雑にする傾向がある。

代わりに、私は疎な行列を処理するために私自身のコードを書いて、記憶のためにできるものと乗算のような簡単な計算を再利用する傾向があります。

良いレベルのライブラリが作成されますが、まだ見ていません。マトリックス、sparseM、およびスパム:

関連する問題