Sandia National Laboratories

MATLAB Tensor Toolbox Version 2.0

Tensors (also known as mutidimensional arrays or N-way arrays) are used in a variety of applications ranging from chemometrics to psychometrics. The MATLAB tensor toolbox provides the following classes for manipulating dense, sparse, and structured tensors using MATLAB's object-oriented features:

  • tensor - An extension of MATLAB's native multidimensional array capabilities.
  • sptensor - A sparse multidimensional array.
  • tenmat - Store a tensor as a matrix, with extra information so that it can be converted back into a tensor.
  • sptenmat - Store a sptensor as sparse matrix in coordinate format, with extra information so that it can be converted back into a sptensor.
  • ttensor - Store a tensor decomposed as a Tucker operator (see below).
  • ktensor - Store a tensor decomposed as a Kruskal operator (see below).

Glossary

A sparse tensor is a tensor where only a small fraction of the elements are nonzero. In this case, it is more efficient to store just the nonzeros and their indices.

A tensor that is decomposed as a Tucker Operator comprises a core tensor multiplied in each mode by a matrix. For a three-way array, this means the tensor X can be written as:

xijk = Σr Σs Σt grst air bjs ckt for all i,j,k

Thus, the tensor X may be stored in terms of its components, the core tensor G and the factor matrices A,B,C.

A tensor that is decomposed as a Kruskal Operator comprises a component matrix for each mode and an optional scaling vector. For a three-way array, this means the tensor X can be written as:

xijk = Σr λr air bjr ckr for all i,j,k.

Thus, the tensor X may be stored in terms of its components, the vector λ and the factor matrices A,B,C.

Download

To download the software, proceed first to the Tensor Toolbox License and Registration page.

Mailing List

Please join our Tensor Toolbox Mailing List to keep updated on the latest releases and uses for the MATLAB Tensor Toolbox.

How to Cite

Please cite the following two references for the MATLAB Tensor Toolbox Version 2.0.

Questions or Comments

Click here to send a question or comment on the Tensor Toolbox.

Related Papers

Do you have a paper that uses the MATLAB Tensor Toolbox? If so, let us know and we'll post it here. Thanks!

 

Tensor objects in MATLAB — The tensor toolbox allows for the manipulation of multiway arrays.


Contacts
Tamara Kolda
(tgkolda@sandia.gov)
(925)294-4769

Brett Bader
(bwbader@sandia.gov)
(505)845-0514


Related Links
The N-way toolbox for MATLAB

2004 Tensor Decomposition Workshop in Palo Alto

2005 Tensor Decomposition Workshop in Marseille

TRICAP2006 in Chania, Greece