# Hermitian symmetric positive definite

Hello,
I’m currently facing the simple constraint but I don’t know how to implement in CVX. The constraint is as follows
Trace(A^H * inv(X) ) <= C, where A is constant Hermitian positive definite matrix and X is variable of the Hermitian positive definite matrix. Could anyone help me how to implement that constraint?

Thanks so much,

If you use
`trace_inv(X*inv(A^H)) <= C`
I believe that would constrain `X*inv(A^H)` to be psd, which I think. you don’t want, but if you do, great.

But I think you can modify the Schur complement approach to `trace_inv`, as found in the code `cvx/functions/@cvx/trace_inv.m`

Re-write `trace(inv(X)*inv(A^H))` as `trace(sqrtm(inv(A^H))*inv(X)*sqrtm(inv(A^H)))`

Then incorporate into Schur complement by changing
`[Y,eye(n);eye(n),X] >= 0;`
to
`[Y sqrtm(inv(A^H));sqrtm(inv(A^H)) X] >= 0;`

I.e., Add an extra argument to `trace_inv`, and apart from any error checking, use this extra argument in place of `eye(n)`. I don’t guarantee that this is correct. Consider this post to be for entertainment purposes only.

Edit: Other than the assumed dimensions, I guess what I describe is pretty much the same as what is done in `matrix_frac`, which is at `cvx/functions/@cvx/marix_frac.m`

1 Like