Were it not for the -1
in term2, this would be allowed in CVX, due to CVX’s log-convexity rules, as documented at Log of sigmoid function - #3 by mcg . if the -1
were instead any nonnegative constant, it would still be allowed. But the -1
(or any negative value) destroys the log-convexity of term2. In that case, term2 would be convex, but not log-convex, and CVX does not allow log-convex times convex, which I believe is not necessarily convex.
It does appear that term1*term2
is convex, but not for the reasons you state (Edit: see my correction below).
As for CVXPY, which is off-topic for this forum, I am not familiar in detail with its log-convexity rules. But it does have such rules.