solve obj constraints
solves the SDP problem: max{ c^T x + tr(obj X) | b_1^- <= a_1^T x + tr(A_1 X) <= a_1^+,..., b_m^- <= a_m x + tr(A_m X) <= b_m^+, d_1^- <= x_1 <= d_1^+,..., d_n^- <= x_n <= d_n^+, X psd } with [(a_1, A_1, b_1^-, b_1^+);...; (a_m,
A_m, b_m^-, b_m^+)]
the constraints
list and [(d_1^-,
d_1^+),..., (d_n^-, d_n^+)]
the bounds
list (missing bounds are considered as (neg_infinity, infinity)
, bounds about variables x_i not appearing in the objective or constraints may be ignored). It returns both the primal and dual objective values and a witness for (x, X) (primal) and (y, Z) (dual, see Sdp). In case of success (or partial success), the vector (resp. block diagonal matrix) returned for x (resp. X) contains exactly the indices, sorted by increasing order, that appear in the linear (resp. matrix) part of the objective or one of the constraints. Size of each diagonal block in X or Z is the maximum size appearing for that block in the objective or one of the constraints. In case of success (or partial success), the array returned for y has the same size and same order than the input list of constraints.