Rev | Line | |
---|
[37] | 1 | function test_complexsdp2 |
---|
| 2 | |
---|
| 3 | h = [1 2 3 4]+sqrt(-1)*[4 3 2 1]; |
---|
| 4 | |
---|
| 5 | N=size(h,2); |
---|
| 6 | A= sdpvar(N,N,'hermitian','complex'); |
---|
| 7 | F= set(-diag(A)==-1/N*ones(N,1)); |
---|
| 8 | F= F+set(A>=0); |
---|
| 9 | obj= h*(eye(N)-A)*h'; |
---|
| 10 | options=sdpsettings('verbose',1); |
---|
| 11 | solvesdp(F,obj,options); |
---|
| 12 | R1=double(A); |
---|
| 13 | cg1 = trace(R1*dual(F(2))); |
---|
| 14 | |
---|
| 15 | y = sdpvar(N,1); |
---|
| 16 | F2 = set(-h'*h - diag(y) > 0); |
---|
| 17 | solvesdp(F2,-sum(y)/N) |
---|
| 18 | R2 = dual(F2(1)); |
---|
| 19 | cg2 = trace(R2*double(F2(1))); |
---|
| 20 | |
---|
| 21 | mbg_asserttrue(norm(R1-R2) < 1e-4) |
---|
| 22 | mbg_asserttrue(cg1 < 1e-7) |
---|
| 23 | mbg_asserttrue(cg2 < 1e-7) |
---|
Note: See
TracBrowser
for help on using the repository browser.