Friday, October 07, 2011

Nuit Blanche readers' mailbag

Over the course of my interaction with y'all I sometimes get feedback that I think need to be shared with the rest of y'all, here they are in no particular order:

First I contacted Marco Duarte about an implementation of a code:

A reader of the blog has asked me to ask you whether y'all are going to release an implementation as featured the distributed compressive sensing paper you wrote with Rich Baraniuk?

Marco kindly responded with:

The algorithmic work from the 2005 DCS paper has been followed up by a myriad of papers and researchers working and implementing sparsity recovery algorithms (such as SOMP, Block OMP, l2/l1 norm minimization, MMV, etc), which address models that are roughly similar to our JSM2 model. The recent contribution by Jalali et al. (dirty models for multi-task learning) addresses a model similar to our JSM1 and JSM3 models, and they have code available at

He then added in a follow-up:
I should also have mentioned that the "robust PCA" problem is similar to our JSM1 and JSM3 settings, when the signals are concatenated as rows/columns of a matrix - the observed matrix is the combination of a low-rank matrix (the common component provides a rank-1 matrix) and a sparse matrix (the innovation components of the different signals provide a sparse matrix). The measurement models can be different though, but for sure there are algorithmic connections to be made.

I requested the following from Ulugbeck Kamilov
Dear Ulugbeck,

I just re-ran your AMP solver on some older version of matlab with and have had a small problem with a wthres function which might be included in some toolbox that I don't have access to. Can you tell me what type of thresholding this function does ?

here is the error I get :

"...Error in ==> eta at 4
y = wthresh(x, 's', threshold);
Error in ==> reconstructAmp at 56
xhat = eta(gamma, threshold);

Error in ==> fincleansup3 at 40
x1 = reconstructAmp(A, y, T, tol);.."

Thanks in advance for your time,



Ulugbeck kindly replied:

Hi Igor,

Wow, I am glad that the code is being used and thanks for putting it up on your blog!

Concerning the wthresh, you can just replace it by:

y = max(abs(x)-threshold, 0) .* sign(x).

It is simply a soft-thresholding function!

- Ulugbek

I then contacted Tianyi David Zhou author of the GoDec robust low rank matrix decomposition:
Dear Tianyi,

I must have an old version of matlab, can you tell me what is the meaning of ~ in the following line (as I am getting an error running it )


it is at line 53 of godec

Thanks in advance,



Tianyi also kindly replied with:

Hi Igor,

You can replace "~" with a new variable such as "temp", this variable will not be used in the rest part of the code.

Sorry for the inconvenience! Thanks for your concern!

Finally, I inquired about a code that could not be found:on Mark Tygert's page anymore:

Back in July I found a matlab implementation for large scale PCA on your site but I cannot seem to find it anymore ( Are you expecting to put it back at some point in time or is there a new link from where it can be downloaded.....

Mark gently replied with:
Sorry about that; the code is still available at I'm reluctant to post the code on my web page, since there are now better methods for memory-constrained applications; see Algorithm 4.4 on page 27 of the paper by Halko, Martinsson, and Tropp available at
Wishing you all the best, Mark

Thanks MarcoTianyiUlugbeck and Mark.

Image Credit: NASA/JPL/Space Science Institute, N00177135.jpg was taken on October 04, 2011 and received on Earth October 05, 2011. The camera was pointing toward RHEA at approximately 1,149,503 kilometers away, and the image was taken using the RED and CL2 filters.

Liked this entry ? subscribe to Nuit Blanche's feed, there's more where that came from. You can also subscribe to Nuit Blanche by Email, explore the Big Picture in Compressive Sensing or the Matrix Factorization Jungle and join the conversations on compressive sensing, advanced matrix factorization and calibration issues on Linkedin.

No comments: