You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When I ask YALMIP to give me the dual variables, it gives me instead their complex conjugate. Below is a MWE with an SDP for calculating the least eigenvalue:
function test_duality(d)
x = randn(d,d) +1i*randn(d,d);
x =x+x';
lambda =sdpvar;
constraints = [(x+lambda*eye(d) >=0):'PPT'];
ops = sdpsettings(sdpsettings,'verbose',1,'solver','sedumi');
optimize(constraints,lambda,ops)
lambda = value(lambda);
W = dual(constraints('PPT'));
trace(W*x) %wrong answer
trace(W.'*x) %right answerend
The text was updated successfully, but these errors were encountered:
I've investigated a bit, and it seems that YALMIP reports correctly the dual variable that is returned by SeDuMi; it is when YALMIP is reading user input and sending it to SeDuMi in the first place that the complex conjugation must be happening.
When I ask YALMIP to give me the dual variables, it gives me instead their complex conjugate. Below is a MWE with an SDP for calculating the least eigenvalue:
The text was updated successfully, but these errors were encountered: