Norm( {convex} ) error

Uncategorized
Jul 23, 2013
B

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!

M

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.

B

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!

M

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.