The MATLAB CMTF Toolbox has two different versions of the Coupled Matrix and Tensor Factorization (CMTF) approach used to jointly analyze datasets of different orders: (i) CMTF and (ii) ACMTF. First-order unconstrained optimization is used to fit both versions. The MATLAB CMTF Toolbox has the functions necessary to compute function values and gradients for CMTF and ACMTF. For the optimization routines, it uses the Poblano Toolbox. The Tensor Toolbox is also needed to run the functions in the MATLAB CMTF Toolbox.


In order to learn about the coupled models in the toolbox and see example scripts showing how to use CMTF and ACMTF, please visit the examples page.


What is new in Version 1.1? (Dec., 2014)

  • Compatibility with sptensor is added to make CMTF_OPT and ACMTF_OPT work with tensors in sptensor form.
  • TESTER_CMTF and TESTER_ACMTF have been modified to have the option of generating data sets in dense or sparse tensor format.
  • TESTER_CMTF_MISSING and TESTER_ACMTF_MISSING functions have been added to demonstrate the use of CMTF_OPT and ACMTF_OPT with data sets with missing entries.
  • CREATE_COUPLED_SPARSE function has been added to generate coupled sparse data sets using sparse factor matrices.
  • For smooth approximation of the l1-terms in SCP_FG, SCP_WFG, SPCA_FG, SPCA_WFG, eps is set to 1e-8.


Download the latest version:  The MATLAB CMTF Toolbox (v1.1) (released Dec., 2014)

Older versions: The MATLAB CMTF Toolbox (v1.0) (released April, 2013)


References: If you use the MATLAB CMTF Toolbox, please cite the software along with the relevant publication:

  • Article on CMTF: E. Acar, T. G. Kolda, and D. M. Dunlavy, All-at-once Optimization for Coupled Matrix and Tensor Factorizations, KDD Workshop on Mining and Learning with Graphs, 2011 (arXiv:1105.3422v1)


Contact: Please send comments and questions to Evrim Acar.