Why is cvxpy.square(x) >= 0
in the constraints not DCP (disciplined convex programming; explicit rules can be found here), whereas the expression cvxpy.square(x)
as an objective is DCP?
A more general question would be: what role does >=
play in the automatic curvature analysis? / what does the "curvature" of an inequality/equality expression mean?