# Objective: linear # Constraints: convex nonlinear function kth_diag; param eps, default 0; param n; param m; set N := {1..n}; set M := {1..m}; param A{i in N,j in N,M: j>=i}, default 0; param C{i in N,j in N: j>=i}, default 0; param b{M}, default 0; var X{i in N,j in N: j>=i}; minimize cost: sum {i in N, j in N: j>i} 2*C[i,j]*X[i,j] + sum {j in N} C[j,j]*X[j,j]; subject to equalities{k in M}: sum {i in N, j in N: j>i} 2*A[i,j,k]*X[i,j] + sum {j in N} A[j,j,k]*X[j,j] = b[k]; subject to pos_kth_diag{k in N}: kth_diag({i in N, j in N: j>=i} X[i,j]) >= eps; data sdp.dat; let {i in N, j in N: j>i} X[i,j] := 0; let {i in N} X[i,i] := 1; option presolve 0; # must be turned off for kth_diag to work properly option loqo_options $loqo_options" convex sdp sigfig=6"; solve; display X; display equalities;