source: proiecte/pmake3d/make3d_original/Make3dSingleImageStanford_version0.1/third_party/opt/yalmip/dev/tests-mbg/sdpvar/test_ndsdpvar_sudoku.m @ 37

Last change on this file since 37 was 37, checked in by (none), 14 years ago

Added original make3d

File size: 1012 bytes
Line 
1function test_ndsdpvar
2
3S = [0,0,1,9,0,0,0,0,8;6,0,0,0,8,5,0,3,0;0,0,7,0,6,0,1,0,0;...
4     0,3,4,0,9,0,0,0,0;0,0,0,5,0,4,0,0,0;0,0,0,0,1,0,4,2,0;...
5     0,0,5,0,7,0,9,0,0;0,1,0,8,4,0,0,0,7;7,0,0,0,0,9,2,0,0];
6
7p = 3;
8A = ndsdpvar(p^2,p^2,p^2,'full');
9F = set(binary(A));
10F = F + set(sum(A,1) == 1);
11F = F + set(sum(A,2) == 1);
12F = F + set(sum(A,3) == 1);
13
14for m = 1:p
15    for n = 1:p
16        for k = 1:9
17%            s = 0;                     
18            s = sum(sum(A((m-1)*p+(1:p),(n-1)*p+(1:p),k))); 
19 %           for i = 1:p
20  %              for j = 1:p
21  %                  s = s + A((m-1)*p+i,(n-1)*p+j,k); 
22   %             end
23    %        end
24            F = F + set(s == 1);
25        end
26    end
27end
28
29for i = 1:p^2
30    for j = 1:p^2
31        if S(i,j)
32            F = F + set(A(i,j,S(i,j)) == 1);
33        end
34    end
35end
36
37sol = solvesdp(F);
38
39Z = 0;
40for i = 1:p^2
41      Z = Z  + i*double(A(:,:,i));
42end
43mbg_asserttrue(sol.problem == 0);
44mbg_asserttolequal(norm(sort(Z(:,1)) - (1:p^2)'),0, 1e-4);
45
Note: See TracBrowser for help on using the repository browser.