How to minimize the L1 norm of weighted residuals using CVX?

Hi All,

I would like to solve for unknown parameters X using L1 norm minimization of the absolute sum of the residuals in the form AX = b. My question is, since I also have a proper knowledge about my problem, how can I minimize the weighted absolute sum of the residuals by knowing the weight matrix of observations?
I’ll try to make my problem more understandable:

The CVX commands for minimizing the L1 norm of the sum of the residuals are as follows:

``````cvx_begin
variable X(n)
minimize( norm(A*X-b,1) )
cvx_end
``````

Now I would like to minimize the weighted sum and I use the following code:

``````cvx_begin
variable X(n)
minimize( norm (w'*(A*X-b,1)) )
cvx_end
``````

where w is a vector with the same size as observations and contains the diagonal elements of my observations weight matrix.

I was wondering am I using the correct syntax?
I am getting bad results which are worse that minimizing the residuals without weight.

No, your syntax is not correct. `w'*(A*X-b)` is actually a scalar, so you’re just minimizing `abs(w'*(A*X-b))` in the second problem. What you want is `w.*(A*X-b)` instead.