Tensors (also known as multidimensional arrays or Nway arrays) are
used in a variety of applications ranging from chemometrics to
network analysis. The Tensor Toolbox provides the following classes for
manipulating dense, sparse, and structured tensors using MATLAB's
objectoriented features:
 tensor  A (dense) multidimensional array
(extends MATLAB's current 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 an sptensor as a sparse matrix in
coordinate format, with extra information so
that it can be converted back into an sptensor.
 ttensor  Store a tensor decomposed as a Tucker operator
(see Glossary).
 ktensor  Store a tensor decomposed as a Kruskal operator
(see Glossary).
The Tensor Toolbox for MATLAB is free for research and evaluation, but we ask that you agree to the license terms below and please cite the appropriate references (listed below) so that we can continue to show the relevance of this work.
What's New in Version 2.6?
Version 2.6 adds
 cp_apr  Improvements for Poisson Tensor Factorization for canonical (CP) factorizations of sparse count data
 eig_sshopm  Adaptive shift now added to Shifted Symmetric HigherOrder Power Method for computing tensor eigenpairs
 eig_geap  Generalized eigensolver
We have also fixed many bugs. To see a complete list of changes, view
the RELEASE_NOTES.txt file.
Download
To obtain a free license for our software for research and evaluation, visit the
Tensor Toolbox License, Registration, and Download page. Commercial licenses are available at low cost.
How to Cite
If you have used the Tensor Toolbox in your work in any way, please cite the software itself along with at least one publication or preprint. BibTeX for each item can be seen by clicking "[BibTeX]". Thanks very much for your support.
— Software reference —
Brett W. Bader, Tamara G. Kolda and others.
MATLAB Tensor Toolbox Version 2.6,
Available online, February 2015.
URL: http://www.sandia.gov/~tgkolda/TensorToolbox/.
[BibTeX]

@misc{TTB_Software,
author = {Brett W. Bader and Tamara G. Kolda and others},
title = {MATLAB Tensor Toolbox Version 2.6},
howpublished = {Available online},
month = {February},
year = {2015},
url = {http://www.sandia.gov/~tgkolda/TensorToolbox/}
}

— Default article to cite for dense computations with the Tensor Toolbox —
B. W. Bader and T. G. Kolda.
Algorithm 862: MATLAB tensor classes for fast algorithm prototyping,
ACM Transactions on Mathematical Software
32(4):635653,
December
2006.
DOI: 10.1145/1186785.1186794.
[BibTeX]

@article{TTB_Dense,
author = {Brett W. Bader and Tamara G. Kolda},
title = {Algorithm 862: {MATLAB} tensor classes for fast algorithm prototyping},
journal = {ACM Transactions on Mathematical Software},
month = {December},
year = {2006},
volume = {32},
number = {4},
pages = {635653},
doi = {10.1145/1186785.1186794}
}

— Default article to cite for sparse computation with the Tensor Toolbox —
B. W. Bader and T. G. Kolda.
Efficient MATLAB computations with sparse and factored tensors,
SIAM Journal on Scientific Computing
30(1):205231,
December
2007.
DOI: 10.1137/060676489.
[BibTeX]

@article{TTB_Sparse,
author = {Brett W. Bader and Tamara G. Kolda},
title = {Efficient {MATLAB} computations with sparse and factored tensors},
journal = {SIAM Journal on Scientific Computing},
month = {December},
year = {2007},
volume = {30},
number = {1},
pages = {205231},
doi = {10.1137/060676489}
}

— Article for MemoryEfficient Tucker (tucker_me and ttm_me) —
T. G. Kolda and J. Sun.
Scalable Tensor Decompositions for Multiaspect Data Mining,
ICDM 2008: Proceedings of the 8th IEEE International Conference on Data Mining,
pp. 363372,
December
2008.
DOI: 10.1109/ICDM.2008.89.
[BibTeX]

@inproceedings{TTB_MET,
author = {Tamara G. Kolda and Jimeng Sun},
title = {Scalable Tensor Decompositions for Multiaspect Data Mining},
booktitle = {ICDM 2008: Proceedings of the 8th IEEE International Conference on Data Mining},
month = {December},
year = {2008},
pages = {363372},
doi = {10.1109/ICDM.2008.89}
}

— Article on allatonce optimization for CP factorization (cp_opt) —
E. Acar, D. M. Dunlavy and T. G. Kolda.
A Scalable Optimization Approach for Fitting Canonical Tensor Decompositions,
Journal of Chemometrics
25(2):6786,
February
2011.
DOI: 10.1002/cem.1335.
[BibTeX]

@article{TTB_CPOPT,
author = {Evrim Acar and Daniel M. Dunlavy and Tamara G. Kolda},
title = {A Scalable Optimization Approach for Fitting Canonical Tensor Decompositions},
journal = {Journal of Chemometrics},
month = {February},
year = {2011},
volume = {25},
number = {2},
pages = {6786},
doi = {10.1002/cem.1335}
}

— Article on CP factorization with missing data (cp_wopt) —
E. Acar, D. M. Dunlavy, T. G. Kolda and M. Mørup.
Scalable Tensor Factorizations for Incomplete Data,
Chemometrics and Intelligent Laboratory Systems
106(1):4156,
March
2011.
DOI: 10.1016/j.chemolab.2010.08.004.
[BibTeX]

@article{TTB_CPWOPT,
author = {Evrim Acar and Daniel M. Dunlavy and Tamara G. Kolda and Morten M{\o}rup},
title = {Scalable Tensor Factorizations for Incomplete Data},
journal = {Chemometrics and Intelligent Laboratory Systems},
month = {March},
year = {2011},
volume = {106},
number = {1},
pages = {4156},
doi = {10.1016/j.chemolab.2010.08.004}
}

— Article on Shifted Symmetric HigherOrder Power Method for Tensor Eigenvalues (eig_sshopm) —
T. G. Kolda and J. R. Mayo.
Shifted Power Method for Computing Tensor Eigenpairs,
SIAM Journal on Matrix Analysis and Applications
32(4):10951124,
October
2011.
DOI: 10.1137/100801482.
[BibTeX]

@article{TTB_SSHOPM,
author = {Tamara G. Kolda and Jackson R. Mayo},
title = {Shifted Power Method for Computing Tensor Eigenpairs},
journal = {SIAM Journal on Matrix Analysis and Applications},
month = {October},
year = {2011},
volume = {32},
number = {4},
pages = {10951124},
doi = {10.1137/100801482}
}

— Article on Method for Generalized Tensor Eigenvalues (eig_geap) —
T. G. Kolda and J. R. Mayo.
An Adaptive Shifted Power Method for Computing Generalized Tensor Eigenpairs,
SIAM Journal on Matrix Analysis and Applications
35(4):15631581,
December
2014.
DOI: 10.1137/100801482.
[BibTeX]

@Article{KoMa14,
title = {An Adaptive Shifted Power Method for Computing Generalized Tensor Eigenpairs},
author = {Tamara G. Kolda and Jackson R. Mayo},
doi = {10.1137/140951758},
journal = {SIAM Journal on Matrix Analysis and Applications},
number = {4},
volume = {35},
year = {2014},
month = dec,
pages = {15631581},
url = {http://epubs.siam.org/toc/sjmael/35/4},
}

— Articles on Poisson Tensor Factorization (cp_apr) —
E. C. Chi and T. G. Kolda.
On Tensors, Sparsity, and Nonnegative Factorizations,
SIAM Journal on Matrix Analysis and Applications 33(4):12721299,
December
2012.
URL: http://arxiv.org/abs/1112.2414.
[BibTeX]

@Article{{TTB_CPAPR,
title = {On Tensors, Sparsity, and Nonnegative Factorizations},
author = {Eric C. Chi and Tamara G. Kolda},
doi = {10.1137/110859063},
journal = {SIAM Journal on Matrix Analysis and Applications},
number = {4},
volume = {33},
year = {2012},
month = dec,
pages = {12721299},
}

S. Hansen, T. Plantenga and T. G. Kolda.
NewtonBased Optimization for KullbackLeibler Nonnegative Tensor Factorizations,
to appear in Optimization Methods and Software, 2015.
URL: http://arxiv.org/abs/1112.2414.
[BibTeX]

@Article{{TTB_CPAPRB,
title = {NewtonBased Optimization for {KullbackLeibler} Nonnegative Tensor Factorizations},
author = {Samantha Hansen and Todd Plantenga and Tamara G. Kolda},
journal = {Optimization Methods and Software},
eprint = {1304.4964},
date = {2015},
url = {http://arxiv.org/abs/1304.4964},
}

A tensor is a multidimensional or Nway array. A 1way tensor
is a vector and a 2way tensor is a matrix. A 3way tensor is a cube of
data. And so on.
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.
Contributors (in chronological order)
 Tamara G. Kolda (Sandia)
 Brett W. Bader (Digital Globe; formerly at Sandia)
 Jimeng Sun (IBM)
 Daniel M. Dunlavy (Sandia)
 Evrim Acar (U. Copenhagen; former postdoc at Sandia)
 Jackson Mayo (Sandia)
 Eric C. Chi (former student intern at Sandia)
 Sammy Hansen (former student intern at Sandia)
Mailing List
Join the
Tensor Toolbox Mailing List to get important information on new
releases and more.
Questions or Comments
Links to Previous Versions

Tensor objects in MATLAB — The tensor
toolbox allows for the manipulation of multiway arrays.
Contacts
Tamara Kolda
(tgkolda@sandia.gov)
(925)2944769
Dependencies
Poblano Toolbox for
Matlab
Related Links
The Nway toolbox for MATLAB
