Tensors (also known as mutidimensional arrays or Nway 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
objectoriented 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 threeway array,
this means the tensor X can be written as:
x_{ijk} = Σ_{r }Σ_{s} Σ_{t} g_{rst}
a_{ir} b_{js} c_{kt} 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
threeway array, this means the tensor X can be written as:
x_{ijk} = Σ_{r} λ_{r} a_{ir} b_{jr} c_{kr} 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!

E. Acar, S. A.
Çamtepe, M. Krishnamoorthy and B. Yener,
Modeling and
Multiway Analysis of Chatroom Tensors, Proc. of IEEE International
Conference on Intelligence and Security Informatics, LNCS, Vol.
3495,
Kantor P. and Muresan G.; Roberts, F.; et al. (Eds.), pp 256268,
2005.

Brett W. Bader and Tamara G. Kolda,
MATLAB Tensor Classes for Fast Algorithm Prototyping,
ACM Trans. Math. Software, to appear.
 D. FitzGerald, M. Cranitch, and E. Coyle,
Shifted Nonnegative Matrix Factorisation for Sound Source
Separation, Proc. IEEE Conf. on Statistics in Signal Processing,
Bordeaux, France, July 2005.

D. FitzGerald, M. Cranitch, and E. Coyle.,
Nonnegative Tensor Factorisation for Sound Source Separation,
Proc. Irish Signals and Systems Conf., Dublin, September 2005.

D. FitzGerald, M. Cranitch, and E. Coyle,
Sound Source Separation using shifted Nonnegative Tensor
Factorisation, Proc. ICASSP06, Toulouse, France, 2006.

D. FitzGerald, M. Cranitch, and E. Coyle,
Shifted 2D Nonnegative Tensor Factorisation, Proc. Irish
Signals and Systems Conference, Dublin, June 2006.

Tensor objects in MATLAB — The tensor
toolbox allows for the manipulation of multiway arrays.
Contacts
Tamara Kolda
(tgkolda@sandia.gov)
(925)2944769
Brett Bader
(bwbader@sandia.gov)
(505)8450514
Related Links
The Nway toolbox for MATLAB
2004 Tensor
Decomposition Workshop in Palo Alto
2005 Tensor Decomposition
Workshop in Marseille
TRICAP2006 in Chania, Greece
