Hello. Matlab has the ability of solving equations consisting variables of type syms. The same as follows:

syms a b c x

eqn = a*x^2 + b*x + c == 0;

solx = solve(eqn, x)

which has the following solutions:

solx =

-(b + (b^2 - 4*a*c)^(1/2))/(2*a)*

-(b - (b^2 - 4a*c)^(1/2))/(2*a)

I want to ask if it is possible to do the same thing to equations consisting of CVX variables. This equation is one of the constraints of my CVX program and I want to find the infimum of the maximum root of this equation.

Nonlinear equalites (constraints) are not convex. So the only algebraic equations (equalities) allowed in CVX are linear. However, there are may nonlinear convex inequality constrains supported by CVX.

http://ask.cvxr.com/t/why-isnt-cvx-accepting-my-model-read-this-first/570http://ask.cvxr.com/t/why-isnt-cvx-accepting-my-model-read-this-first/570

Thanks. Is it possible to use polyhedral approximation to linearize the constraints? If yes, how is that possible in CVX?

Any linearization you need to do on your own, outside of CVX. When you have determined your linear constraints, you enter them in CVX, per the CVX User’s Guide. You might get some ideas for a mixed-integer formulation in chapter 9 of https://docs.mosek.com/modeling-cookbook/mio.html. If you need more guidance, I suggest https://or.stackexchange.com/ .You can easily spend a lot of effort and end up with a pile of garbage if you don’t really know what you’re doing.

However, you may be better off using a nonlinear optimizer, available for instance, under YALMIP.