File Exchange

image thumbnail

Recovery of Low rank and sparse Matrix

version (4.39 KB) by Anuprriya Gogna
Code recovers a sparse (in transform domain) and low rank matrix from its lower dimension projection


Updated 05 Sep 2016

View License

This code is an implementation of Paper titled "Split Bregman algorithms for sparse/joint-sparse and low-rank signal recovery: Application in compressive hyper spectral imaging" presented in ICIP 2014.
This code solves the problem of recovering a low rank and sparse(in transform domain)matrix from its lower dimensional projections. There is no existing off the shelf algorithm for such a formulation.
Minimize (lambda1)||X||* + (lambda2)||Dx||_1 + 1/2 || A(X) - y ||_2^2

Formulated as an unconstarined nuclear norm and L1 minimization problem using Split bregman algorithm, formulation for the problem is as follows

% Minimize (lambda1)||W||* + (lambda2)||Dz||_1 + 1/2 || A(X) - y ||_2^2 + eta1/2 || W-X-B1 ||_2^2 +eta2/2 || W-Z-B2 ||_2^2

%W, Z are auxillary variable and B1, B2 are the bregman variable

Use of split bregman technique helps improve the accuracy and convergence behavior of the algorithm.

Cite As

Anuprriya Gogna (2020). Recovery of Low rank and sparse Matrix (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (5)

Atif Anwer

Dependencies are not specified in the description. The code requires Spot operator toolbox for Matlab ( Even after that there is an error in the demo.m:
Index exceeds the number of array elements (1). Error in opBlockDiag (line 26) of Demo.m

Thank you for sharing this code. However, function "opBinary" is not found. [Line 29 of DEMO.m].
Can you please check that?
Thank you





MATLAB Release Compatibility
Created with R2013a
Compatible with any release
Platform Compatibility
Windows macOS Linux