SparseCoLO の使い方で SDPA Sparse format データ → conversion (Domain or Range) → SDPA Sparse format データの変換方法について。これで conversion 後のデータを用いて、SDPA, CSDP, SDPT3, SeDuMi 等で比較実験が出来る。fromSDPA 後に一度転置しなくてはならないようだ。
SparseCoLO
http://www.is.titech.ac.jp/~kojima/SparseCoLO/SparseCoLO.htm
>> fname='/home/fujisawa/src/sdplib/mcp124-1.dat-s';
>> [A,b,c,K]=fromsdpa(fname);
>> At=A';
>> J.f=size(At,1);
>> parCoLO.domain = 1; parCoLO.range = 0; parCoLO.EQorLMI = 1;
>> [x,y,infoCoLO,cliqueDomain,cliqueRange,LOP] = sparseCoLO(At,b,c,K,J,parCoLO);
Applying the d-space conversion method using clique trees
LOP to be converted into equality standard form is already equality standard form
SeDuMi 1.2 by AdvOL, 2005-2008 and Jos F. Sturm, 1998-2003.
Alg = 2: xz-corrector, Adaptive Step-Differentiation, theta = 0.250, beta = 0.500
Detected 12 diagonal SDP block(s) with 12 linear variables
eqs m = 286, order n = 182, dim = 2256, blocks = 20
nnz(A) = 448 + 0, nnz(ADA) = 21396, nnz(L) = 10841
it : b*y gap delta rate t/tP* t/tD* feas cg cg prec
0 : 1.82E-02 0.000
1 : -7.82E+01 5.66E-03 0.000 0.3103 0.9000 0.9000 2.76 1 1 8.5E-01
2 : -1.21E+02 1.67E-03 0.000 0.2954 0.9000 0.9000 1.15 1 1 2.5E-01
3 : -1.36E+02 4.59E-04 0.000 0.2744 0.9000 0.9000 1.01 1 1 6.8E-02
4 : -1.40E+02 1.27E-04 0.000 0.2770 0.9000 0.9000 1.00 1 1 1.9E-02
5 : -1.42E+02 2.79E-05 0.000 0.2198 0.9000 0.9000 1.00 1 1 4.2E-03
6 : -1.42E+02 5.30E-06 0.000 0.1897 0.7645 0.9000 1.00 1 1 9.4E-04
7 : -1.42E+02 5.18E-07 0.000 0.0977 0.9900 0.9900 1.00 1 1 9.2E-05
8 : -1.42E+02 3.04E-08 0.067 0.0588 0.9900 0.9900 1.00 1 1 5.4E-06
9 : -1.42E+02 5.71E-09 0.000 0.1875 0.9000 0.9000 1.00 1 1 1.0E-06
10 : -1.42E+02 1.02E-09 0.000 0.1782 0.9000 0.9000 1.00 1 1 1.8E-07
11 : -1.42E+02 1.87E-10 0.000 0.1840 0.8910 0.9000 1.00 2 2 3.3E-08
12 : -1.42E+02 3.55E-11 0.000 0.1899 0.8841 0.9000 1.00 28 41 6.3E-09
13 : -1.42E+02 3.36E-12 0.481 0.0946 0.9900 0.9847 1.00 66 75 6.0E-10
iter seconds digits c*x b*y
13 0.3 Inf -1.4199047705e+02 -1.4199047705e+02
|Ax-b| = 2.1e-09, [Ay-c]_+ = 4.5E-10, |x|= 3.4e+01, |y|= 1.7e+01
Detailed timing (sec)
Pre IPM Post
1.000E-02 3.000E-01 0.000E+00
Max-norms: ||b||=1, ||c|| = 1.750000e+00,
Cholesky |add|=0, |skip| = 23, ||L.L|| = 398.093.
>> writeSDPA('mcp124-1D.dat-s',LOP.A,LOP.b,LOP.c,LOP.K);
## Write SeDuMi SDP data to the file tmp.dat-s.
SparseCoLO
http://www.is.titech.ac.jp/~kojima/SparseCoLO/SparseCoLO.htm
>> fname='/home/fujisawa/src/sdplib/mcp124-1.dat-s';
>> [A,b,c,K]=fromsdpa(fname);
>> At=A';
>> J.f=size(At,1);
>> parCoLO.domain = 1; parCoLO.range = 0; parCoLO.EQorLMI = 1;
>> [x,y,infoCoLO,cliqueDomain,cliqueRange,LOP] = sparseCoLO(At,b,c,K,J,parCoLO);
Applying the d-space conversion method using clique trees
LOP to be converted into equality standard form is already equality standard form
SeDuMi 1.2 by AdvOL, 2005-2008 and Jos F. Sturm, 1998-2003.
Alg = 2: xz-corrector, Adaptive Step-Differentiation, theta = 0.250, beta = 0.500
Detected 12 diagonal SDP block(s) with 12 linear variables
eqs m = 286, order n = 182, dim = 2256, blocks = 20
nnz(A) = 448 + 0, nnz(ADA) = 21396, nnz(L) = 10841
it : b*y gap delta rate t/tP* t/tD* feas cg cg prec
0 : 1.82E-02 0.000
1 : -7.82E+01 5.66E-03 0.000 0.3103 0.9000 0.9000 2.76 1 1 8.5E-01
2 : -1.21E+02 1.67E-03 0.000 0.2954 0.9000 0.9000 1.15 1 1 2.5E-01
3 : -1.36E+02 4.59E-04 0.000 0.2744 0.9000 0.9000 1.01 1 1 6.8E-02
4 : -1.40E+02 1.27E-04 0.000 0.2770 0.9000 0.9000 1.00 1 1 1.9E-02
5 : -1.42E+02 2.79E-05 0.000 0.2198 0.9000 0.9000 1.00 1 1 4.2E-03
6 : -1.42E+02 5.30E-06 0.000 0.1897 0.7645 0.9000 1.00 1 1 9.4E-04
7 : -1.42E+02 5.18E-07 0.000 0.0977 0.9900 0.9900 1.00 1 1 9.2E-05
8 : -1.42E+02 3.04E-08 0.067 0.0588 0.9900 0.9900 1.00 1 1 5.4E-06
9 : -1.42E+02 5.71E-09 0.000 0.1875 0.9000 0.9000 1.00 1 1 1.0E-06
10 : -1.42E+02 1.02E-09 0.000 0.1782 0.9000 0.9000 1.00 1 1 1.8E-07
11 : -1.42E+02 1.87E-10 0.000 0.1840 0.8910 0.9000 1.00 2 2 3.3E-08
12 : -1.42E+02 3.55E-11 0.000 0.1899 0.8841 0.9000 1.00 28 41 6.3E-09
13 : -1.42E+02 3.36E-12 0.481 0.0946 0.9900 0.9847 1.00 66 75 6.0E-10
iter seconds digits c*x b*y
13 0.3 Inf -1.4199047705e+02 -1.4199047705e+02
|Ax-b| = 2.1e-09, [Ay-c]_+ = 4.5E-10, |x|= 3.4e+01, |y|= 1.7e+01
Detailed timing (sec)
Pre IPM Post
1.000E-02 3.000E-01 0.000E+00
Max-norms: ||b||=1, ||c|| = 1.750000e+00,
Cholesky |add|=0, |skip| = 23, ||L.L|| = 398.093.
>> writeSDPA('mcp124-1D.dat-s',LOP.A,LOP.b,LOP.c,LOP.K);
## Write SeDuMi SDP data to the file tmp.dat-s.