[Csdp] How to add diagonal constrain to Csdp?‏

Brian Borchers borchers at nmt.edu
Tue Jul 7 14:44:26 EDT 2015


On Tue, Jul 7, 2015 at 9:56 AM, Jingyu He <jingyuhe at hotmail.com> wrote:

> Hi all,
>
> Sorry, there is a little typo in the last email. I correct it here.
>
> We are trying to use Csdp to solve a programming problem.
>      min trace(Sigma - X)
> s.t.
>      X is a diagonal matrix
>      (Sigma - X ) >= 0, positive definite
>
> Where Sigma is a known covariance matrix of several random variables.
> We have problems when trying to add "X is a diagonal matrix" constraint.
>

The natural way to formulate this as an SDP is

min sum(y(i),i=1..n)

Sigma-sum(y(i)*Eii,i=1..n) is PSD

where Eii is an n by n zero matrix with a 1 in the (i,i) position.  Once
you've got a solution, your matrix is simply X=diag(y).  This problem is in
the dual form, but since CSDP (and other SDP solvers) produce both primal
and dual solutions, you'll get the solution that you need.

-- 
Brian Borchers                          borchers at nmt.edu
Department of Mathematics      http://www.nmt.edu/~borchers/
New Mexico Tech                       Phone: (575) 322-2592
Socorro, NM 87801                   FAX: (575) 835-5366
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/csdp/attachments/20150707/93cdbe10/attachment.html>


More information about the Csdp mailing list