After installation, the command in Matlab that calls DDS is
[x,y,info]=DDS(c,A,b,cons,OPTIONS);
Input Arguments:
cons: A cell array that contains the information about the type of
constraints.
\(c,A,b\): Input data for DDS: \(A\) is the coefficient matrix, \(c\)
is the objective vector, \(b\) is the RHS vector (i.e., the shift in
the definition of the convex domain \(D\)).
OPTIONS: (optional): An array which contains information about the
tolerance or initial points.
Output Arguments:
\(x\): Primal point.
\(y\): Dual point which is a cell array. Each cell contains the dual solution for the constraints in the corresponding cell in \(A\).
info : a structure array containing performance information
such as info.time , which returns the CPU time for solving the
problem.
The following table shows the classes of function/set constraints the current version of
DDS accepts, plus the abbreviation we use to represent the
constraint.
We assume that the objective function is "\(\inf \ \langle
c,x\rangle\)". Note that A, b, and cons are cell
arrays in Matlab; to see how to define them for a combination of constraints, you can check the users' guide. cons{k,1} represents type of the \(k\)th
block of constraints by using the abbreviations of the following table.
We can input several blocks of set constraints into
DDS and the type of each block is given in cons{k,1}. For example, if the \(k\)th block is an SDP constraint, then
cons{k,1}='SDP'.
function/set constraint | abbreviation |
---|---|
LP | LP |
SOCP | SOCP |
rotated SOCP | SOCPR |
SDP | SDP |
Generalized Power Cone | GPC |
Quadratic Constraints | QC |
Epigraph of a matrix norm | MN |
Direct sum of 2-dimensional sets | TD |
Quantum Entropy | QE |
Quantum Relative Entropy | QRE |
Relative Entropy | RE |
Hyperbolic Polynomials | HB |
Equality Constraints | EQ |