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.

I am thankful for your answers in advance.
Best,
Sina

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.

Thanks a lot Michael.