The DCP less-than inequality expression rule is descriped as
A less-than inequality constraint, using <=, where the left side (f) is convex and the right side(g) is concave. (http://cvxr.com/cvx/doc/dcp.html)
In my function f is convex, while g is affine. When running the function there are no warnings or errors.
I suspect my function is right or not.
What’s more ,the constrain condition is alphaf(x)<g(x), where x is variable ,alpha is known parameter.
f(x)=norm(sum(w_i(x))),g(x)=Aabs(w_j(x)),A is known real vector ,w_i(x) is the expression of x. x is real vevtor , but w_i(x) is complex vector.
I try to change the value of alpha, but the result of x remain unchanged.
f(x) has negative value when the end of cvx, the result is normal if value of x is substituted into f(x).I do not know how to explain this phenomenon.
I try to change the expresion of f(x) or g(x) ,but convex<= convex is also forbidden.
May I convert f(x) into affine type? or approximate f(x) ? But how to do it?
Thanks !
do not do what you think. In each statement, you are declaring nonnegative to be an expression. You are not constraining f or g to be nonnegative. To do that, you need to specify constraints such as f >= 0, g >= 0. And do that only after you have assigned whatever you want to f and g…