DSDP
Semidefinite Blocks (Basics)

Routines that create the SDPCone object, set the data, and get the solution for problems.

#include dsdp5.h

In DSDP Standard Form, a semidefinite program is given by the pair of problems

\[
  \begin{array}{llllllllll}
(P) \ \ \ & \mbox{minimize} & {\displaystyle \sum_{j=0}^{n_b-1} C_j \bullet  X_j }
   &\mbox{subject to}& {\displaystyle \sum_{j=0}^{n_b-1} A_{i,j} \bullet X_{j}  = b_i } ,& i=1,\ldots, m,
   &                 &  X_j \succeq 0, \\
  \end{array} 
\]

\[
  \begin{array}{lllllllll}
(D) \ \ \ & \mbox{maximize} & {\displaystyle \sum_{i=1}^m b_i \ y_i }
   &\mbox{subject to}&{\displaystyle \sum_{i=1}^m A_{i,j}y_i + S_{j} } = C_{j},  & j=0, \ldots, n_b-1, & S_j \succeq 0 \\
  \end{array}
\]

where the data $A_{i,j}$ and $C_j$ are symmetric matrices of the same dimension and the inner product of two $n \times n$ matrices $C=(c_{k,l})$ and $X=(x_{k,l})$ is defined by $ C \bullet X  := trace (C^T X) = \sum_{k,l}c_{k,l} x_{k,l} $.

Blocks are labelled from 0 to nblocks, where nblocks is the total number of blocks in the SDPCone object.

Variables y are numbered 1 through m. Variable 0 designates the C matrices, which are also denoted $ A_{0,j}$.

By default, this cone represents symmetric $ n \times n$ matrices in packed symmetric format. This format uses an array of length $ n(n+1)/2 $ and orders the the elements of the matrix as follows:

\[
\begin{array}{llllllll}
[ a_{1,1} & a_{2,1} & a_{2,2} & a_{3,1} & a_{3,2} & a_{3,3} & \ldots & a_{n,n} ] \\  
\end{array}.
\]

Return values
0if successful