Algorithm 862: MATLAB tensor classes for fast algorithm prototyping

Brett W. Bader, Tamara G. Kolda

Code and Data Abstract

Tensors (also known as multidimensional arrays or N-way arrays) are used in a variety of applications ranging from chemometrics to psychometrics. We describe four MATLAB classes for tensor manipulations that can be used for fast algorithm prototyping. The tensor class extends the functionality of MATLAB's multidimensional arrays by supporting additional operations such as tensor multiplication. The tensor_as_matrix class supports the “matricization” of a tensor, that is, the conversion of a tensor to a matrix (and vice versa), a commonly used operation in many algorithms. Two additional classes represent tensors stored in decomposed formats: cp_tensor and tucker_tensor. We describe all of these classes and then demonstrate their use by showing how to implement several tensor algorithms that have appeared in the literature.


Brett W. Bader, Tamara G. Kolda, et al. "Algorithm 862: MATLAB tensor classes for fast algorithm prototyping." ACM Transactions on Mathematical Software.     doi:10.1145/1186785.1186794. Retrieved 06/24/2019 from

Compendium Type: Published Papers
Primary Research Field: Computer and Information Sciences
Secondary Research Field: Mathematics
Content License: Public Domain Mark
Code License: MIT License

Page Owner

created 12/12/2013

modified 01/16/2014

blog comments powered by Disqus