<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Dec 9, 2017 at 4:16 AM, G Chandramouli <span dir="ltr"><<a href="mailto:gcmouli1@gmail.com" target="_blank">gcmouli1@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div><div><div>Hello all, <br></div>This is  my first time with CSDP solver. I want to know whether the problem of finding minimum volume inscribed ellipsoid can be solved in CSDP. One of its formulation is:<br><br></div>Max  log det(M)<br></div>st: (Ma_i-z)^T (Ma_i-z) <= 1   for i=1,...,m<br></div>     M >0<br><br></div><div>Actually a_i for i=1,2....m are given points in R^n space.  I want to fit an ellipsoid with minimum volume to cover all those points. The problem is convex. The objective function is maximizing  the log determinant of M.  However the CSDP manual says only about tr(M). Can this problem be solved using CSDP ?</div></div></blockquote><div><br></div><div>Although it's relatively easy to add this feature to a primal-dual interior point method for SDP, most solvers historically haven't supported it.  One reason is that the commonly used SDPA file format for SDP problems doesn't include a way to specify a log(det()) term in the objective.   </div><div><br></div><div>CSDP can't directly solve problems involving the log(det()) function.  However, it is possible to solve such problems by solving a sequence of SDP's.  See for example:</div><div> </div><div>Hamza Fawzi, James Saunderson, Pablo A. Parrilo. Semidefinite approximations of the matrix logarithm.  <a href="https://arxiv.org/abs/1705.00812">ArXiv preprint 1705.00812.</a><br></div><div><br></div><div>CVX uses a similar scheme with it's SDP solvers- however, I don't believe that this scheme was ever formally published.  If anyone does have a published reference for that scheme, I'd love to read it.    </div><div> </div><div>It is possible to directly solve log(det()) problems with the MATLAB based SDPT3 solver, but you've asked for something in C or Fortran.  </div><div><br></div><div>Another option that might work is the <a href="https://github.com/cvxgrp/scs">Splitting Cone Solver (SCS)</a>.  As I recall, it can handle log(det()) problems.  This is a first order method, which is capable of handling larger problems than the primal-dual interior point methods, but the accuracy of the solutions is typically not as good.  </div><div><br></div><div>-- </div></div><div class="gmail_signature">Brian Borchers                          <a href="mailto:borchers@nmt.edu" target="_blank">borchers@nmt.edu</a><br>Department of Mathematics      <a href="http://www.nmt.edu/~borchers/" target="_blank">http://www.nmt.edu/~borchers/</a><br>New Mexico Tech                       Phone: (575) 322-2592<br>Socorro, NM 87801                   FAX: (575) 835-5366</div>
</div></div>