@juliohm thank you a lot for finding the time to answer my question
You are right in noticing this inconsistency, but actually the matlab code should read variable xsi(n,n) complex
, since xsi
is a matrix with complex entries. I am editing the initial post to reflect this.
I know this, but the point is that xsi
is not a Semidefinite matrix, it is a more or less arbitrary complex matrix (actually if I choose the coordinates of the problem wisely it can be Hermitian).
On the other hand, the matrices M0
and M1
are always Hermitian, but these matrices are not the variables themselves, they are just combinations of the elements of xsi
. Possibly I could rewrite the problem using M0
as my variable, but I am not sure.
Anyway, the point is that I would like to know if it is possible to do what I did in CVX also with Convex.jl, regardless of the details: i.e. how do I create a new matrix from elements of my variable matrix and enforce matrix inequalities on this newly created matrix?
In any case if you are interested, the mathematical problem in its full form is the following (slightly modified from this quantum physics paper):
P.S. I apologize for my bad knowledge of the Greek alphabet, xsi
in my code actually corresponds to the \chi letter in the mathematical description!