2012-02-13 20 views
5

私は、数多くのテンソル積と高次テンソル演算を必要とする科学的コードをcで書いています。クロネッカー製品などです。私はこれを文献のような効率的なアルゴリズムを使用して実装し、良いBLASライブラリを採用する予定です。私はいくつかのことを探していて、実際にはc(C++、Pythonなど)には何も見つかりませんでした。私は何かを見逃しているのですか、これは本当にうまく実装されていませんか?テンソル乗算ライブラリ

ありがとうございました。

答えて

2

おそらく、tensor extensionsGSL - GNU Scientific Libraryに調査することができます。

+0

私が探しているものではありませんが、最高のものが見つかりました。ありがとう。 – Mosby

+0

私は、テンソル操作に使用できる汎用のArrayクラスについて取り組んできました。 [こちら](https://code.google.com/p/cpp-array/)にあります。 – aaragon

+0

@Mosbyあなたが探しているものではない答えをなぜ受け入れたのか不思議です。あなたが答えを受け入れるならば、それは将来の反応を失望させます。 – Jeff

3

科学計算にはテンソルの使用方法がさまざまです。詳細は無関係ではありません。

SciCompには、Eigen、Armadillo、deal.II、libtensor、およびlibdyndが記載されています。

大きなテンソルを並列に収縮させる場合は、複数の量子化学コードのバックエンドであるCyclops Tensor Framework(CTF)をご覧ください。多数の小さな収縮をしたい場合、CTFはあなたを助けないかもしれません。

他のオープンソースのテンソルライブラリには、libtensorTiledArrayがあり、量子化学でも使用されています。

MADNESSプロジェクトには、小さな寸法に関心がある場合には、お客様のニーズを満たすa tensor classがあります。

itensorは、DMRG計算をサポートすることを目的とする別のテンソルライブラリです。

FTensorは、一般相対性理論に基づいたC++テンソルライブラリです。

テンソル操作は機械学習にとって重要なので、FacebookやGoogleなどの企業はテンソルライブラリをそれぞれTHPPTensorFlowなどのリリースしました。

と呼ばれる非常に古いプロジェクトがありますが、お客様のニーズを満たすためにsupport small tensorsとなる可能性がありますが、このプロジェクトはもうアクティブではなく、サポートは一切必要ありません。

他のすべてが失敗した場合は、WikipediaまたはGoogleを参照してください(ここでの情報のうち約半分はGoogleで「テンソルライブラリ」を検索することによって特定されました。