张量分解工具

TensorToolbox的Python项目详细描述


张量工具箱提供了张量序列格式[1]和谱张量序列格式[2]的张量分解功能。

工具箱提供以下工具:

  • TT SVD
  • TT交叉
  • TT DMRG
  • TT向量
  • TT矩阵
  • 四元tt向量/矩阵(cross和dmrg)
  • TT集成
  • TT格式的基本操作
  • tt格式的多线性代数(最速下降、cg和gmres)
  • STT结构
  • stt投影/插值
  • 单个数量和字段的stt

状态

PyPi

http://southpacific.no-ip.org:8080/buildStatus/icon?job=pypi-TensorToolbox

LaunchPad

http://southpacific.no-ip.org:8080/buildStatus/icon?job=TensorToolbox

TestPyPi

http://southpacific.no-ip.org:8080/buildStatus/icon?job=testpypi-TensorToolbox

安装

确保安装了最新版本的pip:

$ pip install –upgrade pip

自动安装

您可以首先使用

$ pip install TensorToolbox

如果不起作用,请继续逐步安装

逐步安装

为了使一切顺利进行,我建议您首先单独安装一些依赖项:numpyscipymatplotlib可以通过以下方式安装:

$ pip install numpy scipy matplotlib

如果在tensortoolbox中需要mpi支持,则需要在计算机上安装mpi后端,并在$LD_LIBRARY_PATH上添加正确的路径,以便mpi4py可以链接到它。您应该通过

手动安装mpi4py
$ pip install mpi4py

tensortoolbox现在通过python包在cPickle文件和hd5中存储数据。然后,您需要在您的计算机上拥有必需的库包libhdf5libhdf5-dev,或类似的库包。有关手动安装h5py的详细信息,请单击here

一旦满足了hdf5依赖项,我们就可以继续了。包依赖于Cython,需要链接到mpi后端,并找到文件mpi.h。为了手动解决依赖关系,请执行以下操作:

$ pip install cython

$ C_INCLUDE_PATH=<path-to-mpi.h-folder> pip install h5py

设置好所有内容后,可以使用:

安装TensorToolbox
$ pip install TensorToolbox

有些用户可能希望在不支持mpi的情况下安装工具箱。这是可能的,但不能通过pip命令:

$ pip download TensorToolbox

$ cd /pth/to/downloaded/files

$ tar xzf TensorToolbox-x.x.x.tar.gz

$ cd TensorToolbox-x.x.x

$ python setup.py install –without-mpi4py

测试安装

您可以通过运行单元测试来测试所有功能是否工作。

>>> import TensorToolbox
>>> TensorToolbox.RunUnitTests(maxprocs=None)

其中maxprocs定义在激活MPI支持时要使用的处理器数。耐心点。单元测试的数量随着软件中实现的功能的数量而增长。

示例

示例可以在包中找到。要找到它们,请下载源代码:

$ pip download TensorToolbox

$ cd /pth/to/downloaded/files

$ tar xzf TensorToolbox-x.x.x.tar.gz

$ cd TensorToolbox-x.x.x

$ cd Examples

参考文献

[1]Oseledets,I.(2011年)。张量列分解。暹罗科学计算杂志,33(5),2295-2317。检索自http://epubs.siam.org/doi/pdf/10.1137/090752286

[2]Bigoni,D.和Marzouk,Y.M.和Engsig Karup,A.P.(2014)谱张量序列分解。(已提交)arxiv:http://arxiv.org/abs/1405.5713

更改日志

1.0.2:
  • 修复了tensorwrapper中的错误
1.0.1:
  • 修正了tensorwrapper单元测试
1.0.0:
  • 增加了对python3的支持。更新了SpectralToolbox 0.2.0的接口。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用安卓中不同Java类中声明的变量   java Paypal重新授权失败DCC\u不允许重新授权\u   java删除Nattable中的行号   Java扫描器在循环时数据类型验证中输入错误后未读取换行符   java如何使用jsoup计算div的数量?   java嵌套这样的try/finally子句安全吗?   Java中的安卓格式浮点数(#.#.#.#.#)   java为什么maven总是指向JRE的较低版本   Java中的对象GUI网格   具有中心值和基于值的背景的java单元格   在java中,如何检查布尔值是否存在介于两个数字之间的数字?   等于Java 1.7对hashCode()的重写,其行为不符合我的预期   java使用来自Netbeans的JDBC资源和servlet