CMAPP: Clustered matrix approximations

Method description

Clustered matrix approximation is a fast and memory efficient framework for dimensionality reduction of matrices. The method is suited for large and sparse matrices that have some kind of cluster structure. This is the case for many matrices arizing from graphs or networks, bipartite graphs, and large scale information retrieval problems. The method involves three to four steps:
  1. a clustering or co-clustering step so that the rows and columns of a given matrix are partitioned into a number of groups;
  2. reordering the rows and columns according to cluster belonging and extracting sufficiently dense blocks;
  3. computing low rank approximations of these dense blocks; and
  4. combining the block-wise approximations into an approximation of the entire matrix.
Detailed descriptions of these methods, motivation, and numerous experimental results showing benefits of the clustered matrix approximation are presented in Savas and Dhillon 2011, and Savas and Dhillon 2015.

MATLAB code for clustered matrix approximations

Test examples with MATLAB Publish

We illustrate various versions of the clustered matrix approximation and their MATLAB implementations with a number of published documents. A complete list of available MATLAB-functions is given in this pdf-file.

Dependencies, additional software packages, and related algorithms

The clustered matrix approximation package uses additional software packages. These are:



When using the clustered matrix approximation code, please acknowledge its use with citations:

Questions? Comments?

Contact Berkant Savas.