张量乘法库

Mos*_*sby 5 c

我正在用c编写一个科学代码,它需要许多张量积,高阶张量运算,例如收缩,kronecker积等.我打算用文献中的高效算法自己实现这个,并采用一个好的BLAS图书馆.我做了一些看,并没有真正找到任何c(大量的c ++,python等).我是否遗漏了某些东西,或者这在c中实施得不是很好?

谢谢.

Jef*_*eff 6

张量在科学计算中有许多不同的用途,因此如果没有更多细节,这个问题很难回答。

SciComp上有一个相关答案,提到了 Eigen、Armadillo、deal.II、libtensor 和 libdynd。

如果您对并行收缩大张量感兴趣,请查看Cyclops 张量框架(CTF),它是多个量子化学代码的后端。如果你想做大量的小收缩,CTF可能帮不了你。

其他开源张量库包括libtensorTiledArray,它们也用于量子化学。

如果您对小尺寸感兴趣,MADNESS项目有一个张量类可能会满足您的需求。

itensor是另一个张量库,旨在支持 DMRG 计算。

FTensor是一个面向广义相对论的 C++ 张量库。

由于张量运算对于机器学习很重要,因此 Facebook 和 Google 等公司分别发布了THPPTensorFlow等张量库。

有一个名为POOMA的非常古老的项目,它可能支持小张量来满足您的需求,但该项目不再活跃,您应该期望不会得到任何支持。

当所有其他方法都失败时,请参阅维基百科或谷歌(这里大约一半的信息是通过在谷歌上搜索“张量库”找到的,尽管我对其中的大部分内容都非常熟悉)。


Ale*_*lds 2

也许您可以研究GSL \xe2\x80\x94 GNU 科学库的张量扩展

\n