the var is X(n), complex; cvx rejects to minimize norm(Ls*abs(X),2). abs is convex, Ls is n by n matrix, linear operation, and norm 2 is convex. but cvx still rejects it, why?

In order to be compliant with cvx’s ruleset, the first argument of norm needs to be affine, which abs(X) is not.

Mark is right, as usual. However, if the elements of `Ls`

are nonnegative, then your expression is convex—and this is one of those instances where the ruleset does reject genuinely convex expressions.

There *is* a way to solve this problem, however. This is equivalent:

```
variable y(n)
minimize(norm(y))
Ls*abs(X) <= y
```

Again, this assumes that `Ls`

is positive. If it is not, then the expression is not convex, and CVX cannot solve it under any circumstances.

As usual, mcg’s answer is more complete and illuminating than mine, however, there appears to be a “typo”. The objective function should be minimize(norm(y)) , not minimize(norm(Ls*y)) ,

There is a typo. Either one of the `Ls`

terms can be removed. I’ll fix this.