TTeMPS Toolbox

Numerical Linear Algebra Group

TTeMPS Toolbox for Tensor Train / Matrix Product States

This MATLAB toolbox is designed to experiment with algorithms in the Tensor Train (TT) / Matrix Product States (MPS) format, making use of the object oriented programming techniques introduced in current MATLAB versions. A particular focus is on the use of the Riemannian optimization algorithms on the manifold of tensors of fixed TT rank.

It also provides implementations of

  • the EVAMEn algorithm discussed in [1] for calculating multiple eigenvalues of high-dimensional symmetric eigenvalue problems.
  • the RTTC tensor completion algorithm discussed in [2] for tensor completion of high-dimensional data.
  • Riemannian approximate Newton as well as ALS and AMEn algorithms discussed in [3] for high-dimensional linear systems.

The TTeMPS toolbox is licensed under a 2-clause BSD license, see LICENSE.txt contained in the download.

TTeMPS is experimental and not a finished product. If you are searching for a more complete toolbox for the TT format, we refer to the TT Toolbox [5] instead.


Download the code here: (Version dated 30.06.2016)

To run the eigenvalue algorithms, Knyazev's implementation of LOBPCG [6] is required to be installed in the current MATLAB path.

The TTeMPS toolbox was sucessfully tested on

  • Linux: Matlab R2014a, R2015b
  • Mac OS: Matlab R2013a, R2014b
Earlier versions may not work, especially due to the use of MATLAB's relatively recent addition of object oriented programming techniques.

Example code for EVAMEn, reproducing two plots from the paper, is found in the subdirectory examples.

This code is research code and not intended for production use. If you publish a research paper using the EVAMEn code, we would appreciate a reference to the corresponding paper describing our implementation.


  1. D. Kressner, M. Steinlechner, A. Uschmajew: Low-rank tensor methods with subspace correction for symmetric eigenvalue problems. SIAM J. Sci. Comput., 36(5):A2346-A2368, 2014
  2. M. Steinlechner: Riemannian optimization for high-dimensional tensor completion. Technical report, March 2015, revised December 2015. To appear in SIAM J. Sci. Comput..
  3. D. Kressner, M. Steinlechner, and B. Vandereycken: Preconditioned low-rank Riemannian optimization for linear systems with tensor product structure. Technical report, July 2015. Revised February 2016. To appear in SIAM J. Sci. Comput..
  4. M. Steinlechner: Riemannian Optimization for Solving High-Dimensional Problems with Low-Rank Tensor Structure. EPFL PhD Thesis No. 6958, 2016.
  5. I. V. Oseledets et al.: TT Toolbox 2.2
  6. A. V. Knyazev: MATLAB implementation of LOBPCG

Author & Contact

Questions and suggestions about TTeMPS should be sent to Michael Steinlechner.


The toolbox is published under the BSD 2-clause license. Note the following disclaimer:

This software is provided by the author ``as is'' and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the author or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.