I am trying to write the following objective function in DCP format:
f(Z,\Omega) = \text{Tr}[Z \Omega]
with Z, \Omega square, PSD matrices. This is just one term in an overall larger objective function. I tried rewriting it using norm and quad_form in different ways, but I can’t seem to get around that inner matrix-matrix multiplication and keep getting rejected by CVX for violating the DCP rules. Would anyone have a suggestion on how to cram this thing into CVX following the DCP rules?
For example, the code below is rejected with the error “Disciplined convex programming error: Only scalar quadratic forms can be specified in CVX.”
cvx_begin sdp
variable Omega(q,q) semidefinite
variable Z(q,q) semidefinite
minimize( norm(Z*Omega,‘fro’)
cvx_end