Skip to main content

The Tensor Toolbox provides functionalities for the decomposition of tensors in tensor-train format [1] and spectral tensor-train format [2].

The toolbox provides the following tools:

  • TT-svd

  • TT-cross

  • TT-dmrg

  • TT-vectors

  • TT-matrices

  • Quatics TT-vectors/matrices (cross and dmrg)

  • TT-integration

  • Basic operations in TT format

  • Multi-linear algebra in TT format (Steepest descent, CG and GMRES)

  • STT-construction

  • STT-projection/interpolation

  • STT for single quantities and for fields

Installation

For everything to go smooth, I suggest that you first install some dependencies separately: numpy, scipy, matplotlib can be installed by:

$ pip install numpy scipy matplotlib

If you need MPI support in the TensorToolbox, you need to have an MPI back-end installed on your machine and add the right path on the $LD_LIBRARY_PATH, so that mpi4py can link to it. You should install mpi4py manually by

$ pip install mpi4py

TensorToolbox now stores data in both cPickle files and hd5 through the python package h5py. You need then to have the necessary library package libhdf5 and libhdf5-dev, or similar on your machine. Click here for more detailed information about the manual installation of h5py.

Once the hdf5 dependency is satisfied, we can proceed further. The package depends on Cython and requires to link to an mpi backend, and find the file mpi.h. In order to manually solve the dependencies do:

$ pip install cython

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

When everything is set, you can install the TensorToolbox using:

$ pip install TensorToolbox

Some users might want to install the toolbox without MPI support. This is possible, but not through the pip command:

$ pip install –download=”/pth/to/downloaded/files” 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

Test Installation

You can test whether all the functionalities work by running the unit tests.

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

where maxprocs defines the number of processors to be used if MPI support is activated. Be patient. The number of unit tests grows with the number of functionalities implemented in the software.

Examples

Examples can be found inside the package. To find them, download the source:

$ pip install –download=”/pth/to/downloaded/files” TensorToolbox

$ cd /pth/to/downloaded/files

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

$ cd TensorToolbox-x.x.x

$ cd Examples

References

[1] Oseledets, I. (2011). Tensor-train decomposition. SIAM Journal on Scientific Computing, 33(5), 2295–2317. Retrieved from http://epubs.siam.org/doi/pdf/10.1137/090752286

[2] Bigoni, D. and Marzouk, Y.M. and Engsig-Karup, A.P. (2014) Spectral tensor-train decomposition. (Submitted) ArXiv: http://arxiv.org/abs/1405.5713

Change Log

1.0.2:
  • Fixed bug in TensorWrapper

1.0.1:
  • Fixed TensorWrapper unit tests

1.0.0:
  • Added support for Python3. Updated interface to SpectralToolbox 0.2.0.

Release files for TensorToolbox 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for TensorToolbox 1.0.2
File Size Uploaded
TensorToolbox-1.0.2.tar.gz 275.8 kB Details

Release files / TensorToolbox-1.0.2.tar.gz

Download URL TensorToolbox-1.0.2.tar.gz
Size 275.8 kB
Tags Source
SHA-256 checksum
How to use checksums
fea9e1b0d82888c4078c62189ff98c46ffc2d1128d086e1f71beae21f628d09b
BLAKE2b-256 checksum
How to use checksums
d8fb2231b52a19a369d1ba070eb23cec00bf0b31193d266aeb0094be0a7d1a4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

1.0.22

2 release files

1.0.21

2 release files

1.0.20

2 release files

1.0.19

2 release files

1.0.18

2 release files

1.0.17

2 release files

1.0.16

1 release file

1.0.15

1 release file

1.0.14

1 release file

1.0.13

1 release file

1.0.12

1 release file

1.0.11

1 release file

1.0.10

1 release file

1.0.9

1 release file

1.0.8

1 release file

1.0.7

1 release file

1.0.6

1 release file

1.0.5

1 release file

1.0.4

1 release file

1.0.3

1 release file

This release

1.0.2 This release

1 release file

1.0.1

1 release file

1.0.0

1 release file

0.3.8

1 release file

0.3.7

1 release file

0.3.6

1 release file

0.3.5

1 release file

0.3.4

1 release file

0.3.3

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.1.9

1 release file

0.1.8

1 release file

0.1.7

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page