Hi,
I am trying to implement an optimization problem of minimizing the inverse of trace of the inverse psd matrix. However, the /
invokes X/Y as X.*(1./(Y)) with the condition being that Y is a constant. In my case X/Y = 1/(trace_inv(X)) or , Y = trace_inv(CVX variable). Here’s the code for you to check it out.
N = 8;
P = 0.1;
cvx_begin
variable X(Ns,Ns) symmetric
minimize(1/(trace_inv(X))) %% or (inv_pos(trace_inv(X)))
subject to
norm((trace(X)-P),2) <= 1e-5;
cvx_end
I’ve tried to implement it using a dummy variable (code below) which doesn’t work either.
N = 8;
P = 0.1;
cvx_begin
variable X1(Ns,Ns) symmetric
variable Y
minimize(-Y)
subject to
(trace_inv(X1).* Y) == 1;
norm((trace(X1)-P),2) <= 1e-5;
cvx_end
Please let me know if there is a way around this.