Dual function an complex SDP

42 views
Skip to first unread message

Arne

unread,
Apr 29, 2013, 3:46:07 AM4/29/13
to yal...@googlegroups.com
Hej

I've set up the following SDP (transpose_channel transposes 'vectorized' matrices)

if isreal(b)
  y = sdpvar(prod(dims)^2,1,'full');
  y = 1/2 * (y + transpose_channel(prod(dims))*y); % make y symmetric
else
  y = sdpvar(prod(dims)^2,1,'full','complex');
  y = 1/2 * (y + conj(transpose_channel(prod(dims))*y)); % make y Hermitian
end

F = [mat(A'*y) <= 0];
h = - b'*y;

diagnostics = solvesdp(F,h,ops)
Y = double(y);
X = dual(F);

everything works fine, as long as b is real. If b is complex then, the Y is returned properly while, X only contains NaN entries… I ran into the problem with all three solvers, SeDuMi, SDPT3 and SDPA. Do I have an error somewhere or is there an issue calling dual with complex SDP's?

Thanks in advance

cheers

Arne

Johan Löfberg

unread,
Apr 29, 2013, 4:05:17 AM4/29/13
to yal...@googlegroups.com
duals are currently not supported when YALMIP has to convert the problem to a real problem. If you need duals, you would have to convert to a real problem manually, and then compute the duals from the lifted problem

Arne

unread,
Apr 29, 2013, 4:11:23 AM4/29/13
to yal...@googlegroups.com
Thanks a lot for the immediate answer. Are there any plans for the near future to change this?

Johan Löfberg

unread,
Apr 29, 2013, 4:13:20 AM4/29/13
to yal...@googlegroups.com
Not immediate, but it is on the to-do list
Reply all
Reply to author
Forward
Message has been deleted
0 new messages