(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.
LMaFit Copyright (C) 2009, Yin Zhang