Rev | Line | |
---|
[37] | 1 | function sdp1 |
---|
| 2 | |
---|
| 3 | % TEST 1 |
---|
| 4 | A = randn(3,3);A = -A*A'; |
---|
| 5 | P = sdpvar(3,3); |
---|
| 6 | t = sdpvar(1,1); |
---|
| 7 | y = sdpvar(1,1); |
---|
| 8 | F = set(A'*P+P*A < -eye(3)); |
---|
| 9 | F = F + set(P > A*A') + set(P(3,3)>0) + set(t+y > 7) + set(P(2,2)>4)+set(P(1,1:2)>t) + set(t>12); |
---|
| 10 | obj = trace(P)+y; |
---|
| 11 | |
---|
| 12 | sol1 = solvesdp(F,obj); |
---|
| 13 | obj1 = double(obj); |
---|
| 14 | p1 = checkset(F); |
---|
| 15 | |
---|
| 16 | sol2 = solvesdp(F,obj,sdpsettings('dualize',1)); |
---|
| 17 | obj2 = double(obj); |
---|
| 18 | p2 = checkset(F); |
---|
| 19 | |
---|
| 20 | mbg_asserttolequal(sol1.problem,0); |
---|
| 21 | mbg_asserttolequal(sol2.problem,0); |
---|
| 22 | mbg_asserttolequal(obj1,obj2, 1e-5); |
---|
| 23 | mbg_asserttolequal(min(p1),0, 1e-5); |
---|
| 24 | mbg_asserttolequal(min(p2),0, 1e-5); |
---|
Note: See
TracBrowser
for help on using the repository browser.