Hello! when I’m trying to minimize such a cost function:

`minimise( norm(abs(S)) )`

I get this error:

`Disciplined convex programming error: Cannot perform the operation norm( {convex}, 2 )`

what is the correct way of doing this? I thank you for your help!

mcg
(Michael C. Grant)
July 23, 2013, 1:29pm
2
It is true that this is convex. Here’s how to express this in a compliant manner.

```
variable S2(n)
abs(S) <= S2
minimize(norm(S2))
```

It should be clear that the inequalities will be tight at the solution.

I really thank you for your answer! is there any way not define a new variable? my S is actually a big 3D matrix so defining it twice is not the best!

mcg
(Michael C. Grant)
July 23, 2013, 6:14pm
4
No, there is no way to avoid this. Don’t worry, CVX’s presolver will likely eliminate the redundancy. CVX actually generates quite a few extra variables during the modeling process; many are eliminated before solving.