# Convex optimization problem about complex numbers

I want to solve a convex optimization problem about complex numbers, but I don’t know which example to refer to. I hope you can give me some advice. The form of convex optimization problems is as follows:

``````                                  Um=arg ⁡min⁡ Tr(Qm *Um )
subject to Um=Um(Um)†,diag(Um)=1,Um>=0
``````

I hope that the operation time can be shortened as much as possible.

Variables can be declared complex, as documented at http://cvxr.com/cvx/doc/basics.html#variables . Does that address your question?

Thank you for your answer, which is very useful to me. I have two questions to ask:

1. It takes me about 40 minutes to restore a complex matrix (461 * 461). It takes about two days to calculate 100 times. It takes a long time. Can I optimize it?

2. When the amount of complex data that I want to recover becomes smaller, the program will remind me that the calculated data is sparse and can not be processed later. How do I deal with this error to eliminate?

The code part is as follows：（N=461）
cvx_begin SDP
variable U(N,N) complex
minimize(real(trace(Qm*U)))
subject to
U==GEZZ(U)
diag(U)==ones(N,1)
U>=0
cvx_end