Exercise 4.47: Maximum determinant PSD matrix completion
n = 4;
cvx_begin sdp
variable A(n,n) symmetric;
A >= 0;
A(1,1) == 3;
A(2,2) == 2;
A(3,3) == 1;
A(4,4) == 5;
A(1,2) == .5;
A(1,4) == .25;
A(2,3) == .75;
maximize( log_det( A ) )
cvx_end
disp(['Matrix A with maximum determinant (' num2str(det(A)) ') is:'])
A
disp(['Its eigenvalues are:'])
eigs = eig(A)
Successive approximation method to be employed.
SDPT3 will be called several times to refine the solution.
Original size: 58 variables, 17 equality constraints
For improved efficiency, SDPT3 is solving the dual problem.
Approximation size: 67 variables, 22 equality constraints
-----------------------------------------------------------------
Target Conic Solver
Precision Error Status
---------------------------
1.221e-04 4.919e-03 Solved
1.221e-04 0.000e+00 Solved
1.490e-08 0.000e+00 Solved
-----------------------------------------------------------------
Status: Solved
Optimal value (cvx_optval): +3.02422
Matrix A with maximum determinant (20.578) is:
A =
3.0000 0.5000 0.1875 0.2500
0.5000 2.0000 0.7500 0.0417
0.1875 0.7500 1.0000 0.0156
0.2500 0.0417 0.0156 5.0000
Its eigenvalues are:
eigs =
0.5964
2.0908
3.2773
5.0355