LMaFit: Low-rank Matrix Fitting

(Pronounced as "ell mafit")

Yin Zhang
Department of CAAM
Rice University, Houston, Texas 77005

(Number of access to this page is since 08/02/2009)


The current version can solve 3 classes of low-rank matrix fitting problems:

(1) Matrix Completion (MC):

       Find a rank-r matrix U such that Uij ~= Aij, (i,j) in E
(2) Sparse Matrix Separation (SMS):
       Find a rank-r matrix U and a sparse matrix S such that U + S ~= A.
(3) Matrix Compressive Sensing (MCS):
       Find a rank-r matrix U such that L(U) ~= b.
where the matrix A is given either in part as in (1) or completely as in (2), while L in (3) is an "underdetermined" linear operator. In general, we assume that data in A or b contain noise. Currently, we also assume L*L'=I. The matrix completion code does not require users to set any parameter, while the other two codes requires the choice of a balancing parameter.

Preliminary testing showed that the MC code is highly competitive with existing codes. For example, within 2 minutes on a MacBook Pro laptop, LMatFit vb3 MC code can complete a 100,000 by 100,000 matrix of rank-10 using a 0.12% sample. LMatFit vb3 MC code only requires an over-estimate of the rank and then tries to estimate the correct rank. Moreover, the code can handle noisy data.

The code for sparse matrix separation was tested on removing both impulsive and white noise from a 512 by 512 checker board image; see the noisy and denoised images (and another set of images here). Limited testing was done for the MCS code as well.


News


Go to the Download Request Page.


LMaFit Copyright (C) 2009, Yin Zhang