l1 example in quickstart


#1

The Matlab l1 (ell-1) example in the quickstart doesn’t work for me…
specifically, it bombs on the statement:
x_l1 = xzz(1:n,:) - xzz(n+1:end,:);
because the 2 subarray are different sizes

this l1->LP conversion looks different that what I remember from compressive sensing.
perhaps linprog changed recently?

mlewis


(Michael C. Grant) #2

Did you install MOSEK? I believe there’s actually a bug in MOSEK’s implementation of linprog — or more specifically, I believe it returns a different result than MATLAB’s linprog does. If you change that line to

x_l1 = xzz(1:n,:) - xzz(n+1:2*n,:)

then I believe it will work. Regardless, I will work on this to make sure it works with both MATLAB’s version of linprog and MOSEK’s.

EDIT: I have included this change in the latest build of CVX, available on the web site.


(Nat) #3

Hi,

sorry to wake up this old link, but I just installed CVX and looked through quickstart.

In this example x_lp is not equal to x from CVX.

My question is why

x_lp = xzz(1:n,:) - xzz(n+1:2*n,:);

Shouldn’t it be

x_lp = xzz(1:n,:)

instead?