# Complex Matrix Inequalities

I have the following matrices A(n,n), Y(n,m), X(n,m) and S(m,m) where A is unknown.
I need to have in my cvx code the following constraint:

``````(Y-A*X)'*(Y-A*X)-S>=0
``````

so what I did is I replaced by the matrix form inequality from the Schur complement condition:

``````[eye(n), j.*(Y-A*X); j.*(Y-A*X)', -S ] >= 0;
``````

where j is the complex number. Actually when I remove j cvx works fine.
I think that this error is mainly because in cxv inequalities cannot be used if either side is complex.
Actually I can set

``````Z==[eye(n), j.*(Y-A*X); j.*(Y-A*X)', -S ];
``````

Then put as a constraint

``````Z== hermitian_semidefinite(n+m);
``````

However I’m not sure if the hermitian semidefiniteness corresponds to the positive definiteness in this case.

So any suggestion to reformulate this problem of complex matrix inequality.

As you know I am the one who suggested that you try relaxing your non-convex equation

``````S==(Y-A*X)'*(Y-A*X)
``````

to the inequality

``````S>=(Y-A*X)'*(Y-A*X)
``````

because this inequality can in turn be translated to an LMI using a Schur complement approach. Of course, relaxing the equation very likely changes the nature of your model, so it may not be useful. But sometimes, these kinds of relaxations provide useful results or information about the original problem.

But you cannot simply take my suggestion and modify it any way you please, and expect things to work. There is a very specific reason that I chose `>=` instead of `<=` above—because using `>=` leads to a convex reformulation, and `<=` does not. You have tried to fix the problem by multiplying the `(1,2)` and `(2,1)` elements by `j`, but that is not Hermitian. Furthermore, unless `S` is negative definite, there is no way that `Z` will be positive definite, even if you fixed that problem.

Your problem simply isn’t convex. And if it is not, and cannot be converted into convex form by first principles, CVX is simply never going to be able to handle it. It is pointless to simply try and rearrange things hoping that CVX can accept it; you need to rely on convex analysis to construct a tractable problem.