The Product Z of two continuous variables X and Y (Z=X*Y) is non-convex in general!
Even if gurobi is accepting this QuadExpr, you might run into the problem of non-convexity ("Q Matrix is not PSD") and gurobi will not solve you problem!
It's sometimes hard to tell, when your model is convex and when it is not. If may depend on the interaction of constraints!
But remember: Z=X*Y is non-convex in general and maybe needs to be linearized.
Frobenius norm:
This might be described by second-order cone constraints but i can't give you some example.
A general advice:
- Read some stuff about Convex Optimization and maybe check out the work on "Disciplined Convex Programming".
- There are even some libraries, supporting Disciplined Convex Programming, which will generate the Frobenius-Norm on some matrix M for you! (but Z=X*Y is still not allowed in DCP!) -> CVX (Matlab), CVXPY (Python), Convex.jl (Julia)
Sascha