D
violates CVX rules. CVX can’t handle {imaginary}*{convex)
or {imaginary}*{concave)
because those are neither concave or complex.
If h
were real, CVX would accept D
.
With h
complex, CVX would accept real(RHS of D
if it is rearranged to D = real(h * h') * phi2
I don’t know what you intend to do with D
. So it is possible that the D
as is in your program, but never explicitly formed, might still be compatible with a DCP-compliant convex optimization problem. But that would require not forming D
, and proceeding directly to the way in which it is used, and seeing whether a DCP-compliant formulation can be created.
Your first step is to prove that your problem is a convex optimization problem. If not, CVX is not the right tool for it.