I am solving a complex optimization problem using YALMIP with mosek, where there is a semidefinite constraint A≥0, and A is a complex block matrix. Each block contains different optimization matrix variables, for example, A=[B,D;C,E]. When I use dual(A >= 0), the Lagrange dual variables I obtain are NaN.(
That's because A is a complex matrix, and MOSEK seems unable to directly obtain the values of the dual variables.
) I understand that the dual variables for semidefinite constraints are stored in sol.solveroutput.res.sol.itr.barx, but it clearly contains both the real and imaginary parts of the dual variables. The documentation also tells me that barx only stores the lower triangular part. I would like to know how the dual variables are arranged in barx, which block corresponds to the real part and which corresponds to the imaginary part, so that I can correctly recover them.
Thank you in advance.