Line | |
---|
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.