The square symmetric data matrices and
map to the columns of
through the
operator
,
which is defined as
For example, the problem:
> b = [ 1 1 ]'; > AAC = [ [ 1.0 0 0 ]' [ 0 0 1.0 ]' [ 4.0 -1.0 5.0 ]' ]; > AC{1,1} = 'SDP'; > AC{1,2} = [2]; > AC{1,3} = AAC; > [STAT,y,X]=dsdp(b,AC); > XX=dmat(X{1});The solution
y' = [ 3 4 ]'
and the solution X = [ 3 x 1 double ]
,
X{1}'=[ 1.0 1.0 1.0 ]
, and dmat(X{1})=[ 1 1 ; 1 1 ]
.
Each semidefinite block can be stated in a separate cone of the cell array; only the available memory on the machine limits the number of cones that can be specified.
Each semidefinite block may, however, be grouped into a single cone in the cell array.
To group these blocks together, the second cell entry must be an array
of integers stating the dimension of each
block. The data from the blocks should be concatenated such that
the number of rows in the data matrix increases whereas the number of columns remains constant.
The following lines indicate how to group the semidefinite blocks in
rows and
of cell array
into a new cell array
> AC2{1,1} = 'SDP'; > AC2{1,2} = [AC1{1,2} AC1{2,2}]; > AC2{1,3} = [AC1{1,3}; AC1{2,3}]The new cell array
This distribution contains several examples files in SDPA format. A utility routine
called readsdpa( ) can read these files and put the problems in
DSDP format. They may serve as examples on how to format an
application for use by the
DSDP
solver. Another example can be seen in the file
maxcut( ) , which takes a graph and creates an SDP relaxation of the
maximum cut problem from a graph.