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.
Supplemental Material
Available for Download
Software for "MATLAB tensor classes for fast algorithm prototyping"
- Andersson, C. A. and Bro, R. 2000. The N-way toolbox for MATLAB. Chemometrics Intel. Lab. Syst. 52, 1, 1--4. http://www.models.kvl.dk/source/nwaytoolbox/.Google ScholarCross Ref
- Carroll, J. D. and Chang, J. J. 1970. Analysis of individual differences in multidimensional scaling via an n-way generalization of 'Eckart-Young' decomposition. Psychometrika 35, 283--319.Google ScholarCross Ref
- Chen, B., Petropolu, A., and De Lathauwer, L. 2002. Blind identification of convolutive mim systems with 3 sources and 2 sensors. Appl. Signal Processing 5, 487--496. Google ScholarDigital Library
- Comon, P. 2001. Tensor decompositions. In Mathematics in Signal Processing V, J. G. McWhirter and I. K. Proudler, Eds. Oxford University Press, Oxford, UK, 1--24.Google Scholar
- De Lathauwer, L., De Moor, B., and Vandewalle, J. 2000a. A multilinear singular value decomposition. SIAM J. Matrix Anal. Appl. 21, 4, 1253--1278. Google ScholarDigital Library
- De Lathauwer, L., De Moor, B., and Vandewalle, J. 2000b. On the best rank-1 and rank-(R1, R2, …, RN) approximation of higher-order tensors. SIAM J. Matrix Anal. Appl. 21, 4, 1324--1342. Google ScholarDigital Library
- Harshman, R. A. 1970. Foundations of the PARAFAC procedure: Models and conditions for an “explanatory” multi-modal factor analysis. UCLA Working Papers in Phonetics 16, 1--84.Google Scholar
- Harshman, R. A. 2001. An index formulism that generalizes the capabilities of matrix notation and algebra to n-way arrays. J. Chemometrics 15, 689--714.Google ScholarCross Ref
- Kiers, H. A. L. 2000. Towards a standardized notation and terminology in multiway analysis. J. Chemometrics 14, 105--122.Google Scholar
- Kroonenberg, P. 2004. Applications of three-mode techniques: Overview, problems, and prospects. Presentation at the AIM Tensor Decompositions Workshop (Palo Alto, CA, July 19--23, 2004. http://csmr.ca.sandia.gov/~tgkolda/tdw2004/Kroonenberg%20-%20Talk.pdf.Google Scholar
- Smilde, A., Bro, R., and Geladi, P. 2004. Multi-Way Analysis: Applications in the Chemical Sciences. Wiley.Google Scholar
- The MathWorks, Inc. 2004a. Documentation: MATLAB: Programming: Classes and objects. http://www.mathworks.com/access/helpdesk_r13/help/techdoc/matlab_prog/ch14_oop.html.Google Scholar
- The MathWorks, Inc. 2004b. Documentation: MATLAB: Programming: Multidimensional arrays. http://www.mathworks.com/access/helpdesk_r13/help/techdoc/matlab_prog/ch12_ndf.html.Google Scholar
- Tucker, L. R. 1966. Some mathematical notes on three-mode factor analysis. Psychometrika 31, 279--311.Google ScholarCross Ref
- Vasilescu, M. A. O. and Terzopoulos, D. 2002. Multilinear analysis of image ensembles: Tensorfaces. In Proceedings of the 7th European Conference on Computer Vision (ECCV'02). Copenhagen, Denmark, May. Lecture Notes in Computer Science vol. 2350. Springer Verlag, 447--460. Google ScholarDigital Library
Index Terms
- Algorithm 862: MATLAB tensor classes for fast algorithm prototyping
Recommendations
Algorithm 941: htucker---A Matlab Toolbox for Tensors in Hierarchical Tucker Format
The hierarchical Tucker format is a storage-efficient scheme to approximate and represent tensors of possibly high order. This article presents a Matlab toolbox, along with the underlying methodology and algorithms, which provides a convenient way to ...
Tensor Decompositions and Applications
This survey provides an overview of higher-order tensor decompositions, their applications, and available software. A tensor is a multidimensional or $N$-way array. Decompositions of higher-order tensors (i.e., $N$-way arrays with $N \geq 3$) have ...
On the Best Rank-1 and Rank-(R1,R2,. . .,RN) Approximation of Higher-Order Tensors
In this paper we discuss a multilinear generalization of the best rank-R approximation problem for matrices, namely, the approximation of a given higher-order tensor, in an optimal least-squares sense, by a tensor that has prespecified column rank value,...
Comments