[Csdp] Sizes of matrices

Brian Borchers borchers at nmt.edu
Fri Dec 14 13:22:33 EST 2007


>I am using CSDP in a model that has many small matrices constrained  
>to be PSD, typically 2x2 up to 5x5.
>
>For instance, a 3x3 matrix restriction models an inequality of the  
>form x1^2 + x2^2 <= t (x1, x2, t unknowns). I could reformulate this  
>as x1^2 <= t1, x2^2 <= t2, replacing the 3x3 matrix by two 2x2  
>matrices and adding one unknown.

Reformulating second order cone constraints as SDP constraints can
lead to numerical problems.  If you can use one of the MATLAB based
solvers (SeDuMi or SDPT3) to solve your problem as a second order cone
problem you might get better solutions.

>What is best (in time, and space?) for CSDP: having fewer but larger  
>matrices, or more but smaller matrices?

Chances are that this won't have a big impact on performance.  It's most
likely that solution times for your problem will be dominated by the time
to compute the Cholesky factorization of the m by m (where m is the number
of constraints) Schur complement matrix.  In that case, operations on the
X and Z matrices with either 3x3 or 2x2 blocks will be insignificant.  
 
I would start with the 3x3 formulation and run some tests to check for 
numerical problems.  While you're at it, look at the end of the output
to see how much time was spent in the different parts of CSDP.  If the
Cholesky factorization time is the biggest portion of the total run time,
then the 2x2 formulation wouldn't help any.  

However, if the "Other Time" dominates, then you might start to look
at the 2x2 formulation.  
 
It's worth noting that problems like these sometimes have a sparse Schur
complement matrix.  If that's the case, then CSDP will perform poorly
in comparison with SDPT3 or SeDuMi, which use sparse Cholesky factorization
routines.  



More information about the Csdp mailing list