skip to main content

Algorithm 862: MATLAB tensor classes for fast algorithm prototyping

Published:01 December 2006Publication History
Skip Abstract Section

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.

Skip Supplemental Material Section

Supplemental Material

References

  1. 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 ScholarGoogle ScholarCross RefCross Ref
  2. 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 ScholarGoogle ScholarCross RefCross Ref
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle Scholar
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle Scholar
  8. 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 ScholarGoogle ScholarCross RefCross Ref
  9. Kiers, H. A. L. 2000. Towards a standardized notation and terminology in multiway analysis. J. Chemometrics 14, 105--122.Google ScholarGoogle Scholar
  10. 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 ScholarGoogle Scholar
  11. Smilde, A., Bro, R., and Geladi, P. 2004. Multi-Way Analysis: Applications in the Chemical Sciences. Wiley.Google ScholarGoogle Scholar
  12. 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 ScholarGoogle Scholar
  13. The MathWorks, Inc. 2004b. Documentation: MATLAB: Programming: Multidimensional arrays. http://www.mathworks.com/access/helpdesk_r13/help/techdoc/matlab_prog/ch12_ndf.html.Google ScholarGoogle Scholar
  14. Tucker, L. R. 1966. Some mathematical notes on three-mode factor analysis. Psychometrika 31, 279--311.Google ScholarGoogle ScholarCross RefCross Ref
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Algorithm 862: MATLAB tensor classes for fast algorithm prototyping

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM Transactions on Mathematical Software
        ACM Transactions on Mathematical Software  Volume 32, Issue 4
        December 2006
        145 pages
        ISSN:0098-3500
        EISSN:1557-7295
        DOI:10.1145/1186785
        Issue’s Table of Contents

        Copyright © 2006 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 1 December 2006
        Published in toms Volume 32, Issue 4

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader