Given a convex function cost(x)
, we wish to solve the following:
cvx_begin quiet
cvx_precision best
variables x(d) c(d)
maximize(x’ * c)
subject to
cost(x) <= 1;
c <= ones(2,1);
-ones(2,1) <= c;
cvx_end
However the following fails and the error is given by the following statement:
Error using cvx/quad_form (line 230)
The second argument must be positive or negative semidefinite.Error in * (line 261)
[ z2, success ] = quad_form( xx, P, Q, R );
My intentions is to find a point which cost(x) = 1 and my wish is to maximize the l1 norm of such point, i.e. find the point with maximal l1 norm such that cost(x) == 1.
Is there any way to fix this? Can it be done?
Please do advise and thanks in advance.
P.s. For simplicity, let cost(x) = norm(P*x,2) where P is nxd matrix.