Efficient MATLAB Computations with Sparse and Factored Tensors

Abstract

In this paper, the term tensor refers simply to a multidimensional or $N$-way array, and we consider how specially structured tensors allow for efficient storage and computation. First, we study sparse tensors, which have the property that the vast majority of the elements are zero. We propose storing sparse tensors using coordinate format and describe the computational efficiency of this scheme for various mathematical operations, including those typical to tensor decomposition algorithms. Second, we study factored tensors, which have the property that they can be assembled from more basic components. We consider two specific types: A Tucker tensor can be expressed as the product of a core tensor (which itself may be dense, sparse, or factored) and a matrix along each mode, and a Kruskal tensor can be expressed as the sum of rank-1 tensors. We are interested in the case where the storage of the components is less than the storage of the full tensor, and we demonstrate that many elementary operations can be computed using only the components. All of the efficiencies described in this paper are implemented in the Tensor Toolbox for MATLAB.

Publication
SIAM Journal on Scientific Computing
Date
Citation
B. W. Bader, T. G. Kolda. Efficient MATLAB Computations with Sparse and Factored Tensors. SIAM Journal on Scientific Computing, Vol. 30, No. 1, pp. 205-231, 2007. https://doi.org/10.1137/060676489

Keywords

sparse multidimensional arrays; multilinear algebraic computations; tensor decompositions; Tucker model; parallel factors (PARAFAC) model; MATLAB classes; canonical decomposition (CANDECOMP)

BibTeX

@article{BaKo07,  
author = {Brett W. Bader and Tamara G. Kolda}, 
title = {Efficient {MATLAB} Computations with Sparse and Factored Tensors}, 
journal = {SIAM Journal on Scientific Computing}, 
volume = {30}, 
number = {1}, 
pages = {205--231}, 
month = {December}, 
year = {2007},
doi = {10.1137/060676489},
}