My primal problem is convex, and I derived its dual form. Futher, a simplified equivalent problem of the Lagrangian dual was constructed which is formulated as follows:

maximize log det { ( diag (x) - x*x’ ) * A }
subject to
e’*x = 1
x >= 0

where x are the dual variables to be optimized, A is a known symmetric positive definite matrix and e is a column vector with all entries be one. “diag” represents the diagonal matrix with x as the diagonal elements.

There was an error during execution : “Disciplined convex programming error:
Only scalar quadratic forms can be specified in CVX” .

I have known the expression violated the ruleset. But I still want to confirm whether the above problem originated from a convex one can be solved with CVX if I reformulate it in the right form which is in accordance with the DCP ruleset.

How did you prove that your original problem was convex? I am not certain it is, frankly. But that’s not why I am asking: I’m asking because that proof may reveal how to express the problem in CVX.

Thanks for your prompt reply.
I am sure my original problem was convex because it originated from the typical convex problem listed in the book “Convex Optimization” . So the problem above is just an equivalent of the primal convex one.
It seems the expression x*x’ in the objective violated the DCP ruleset, but I have no idea how to handle it.

I am sure my original problem was convex because it originated from the typical convex problem listed in the book “Convex Optimization”

No, no, no. This is not a reasonable justification. Prove it is convex, and then let’s talk. Until you do I am tagging this as Nonconvex. We cannot deal with problems whose authors cannot prove convexity. Do read the FAQ, there are actually technical reasons why this must be so.

You say that this is a “simplified” dual. One other suggestion is to back out some of those simplifications. Perhaps it was one of those simplifications that broke DCP structure.