Tools for the decomposition of tensors
Project description
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
Status
PyPi:
Installation
Make sure to have the latest version of pip installed:
$ pip install –upgrade pip
Automatic installation
You can first try the out-of-the-box installation using
$ pip install TensorToolbox
If this doesn’t work, proceed with the step by step installation
Step-by-step 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 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
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 download 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file TensorToolbox-1.0.22.tar.gz
.
File metadata
- Download URL: TensorToolbox-1.0.22.tar.gz
- Upload date:
- Size: 277.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.9.1 tqdm/4.29.1 CPython/3.6.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7053f4a734d41e68450eca311b8ab0aaee8c7ee1e072ad06f031b2f9ec3bb6f |
|
MD5 | 125b9df1ccf49539e19116969f412f2a |
|
BLAKE2b-256 | b0558141caa1fb6d7bbdd2001f51f30a232ca8009725f24b087d0df8f0efc848 |
File details
Details for the file TensorToolbox-1.0.22-py3-none-any.whl
.
File metadata
- Download URL: TensorToolbox-1.0.22-py3-none-any.whl
- Upload date:
- Size: 163.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.9.1 tqdm/4.29.1 CPython/3.6.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 452a13c3ffeed350aa09f70a21bef46512ebf65e2d634f33aa34ab76d616c442 |
|
MD5 | f77ea32ae757fe568f96caaa30a618e2 |
|
BLAKE2b-256 | 314649c9fd4e30d2bef5b7b57b3cdeefc29a9063f57e1a57628beac960e82041 |