condition not needed
support quadratic constraints