SDP trace equality

Uncategorized
Feb 4, 2013
A

Hello dear friends,

I am trying to solve the following problem:


cvx_begin SDP quiet

variable landa_R( N_R(i) , N_R(i) ) hermitian
variable t


maximize t

subject to

landa_R        >= 0;
trace(landa_R)  = P_R;


cvx_end

However, when the compiler reaches the line " trace(landa_R) = P_R ", it generates the following error:

Error using subsindex
Function ‘subsindex’ is not defined for values of class ‘cvx’.

CVX works with for example " trace(landa_R) <= P_R ", but it generates an error when using equality. Does anybody know where does the problem come from?

Thank you in advance.

Yours,
Ashkan.

M

Your equality constraint needs to be == , not = . (See the cvx user’s guide.)

Change it to trace(landa_R) == P_R;

A

Dear Mark,

Thank you for solving my problem.