sdpb1
Semidefinite program solver
Usage
sdpb [OPTIONS]
[SOLVER
PARAMETERS]
Overview
ERROR: the option '--sdpFile' is required but missing
Basic options:
-
-h [ --help ] -
Show this helpful message.
-s[--sdpFile] arg-
SDP data file in XML format.
-p[--paramFile] arg-
Any parameter can optionally be set via this file in key=value format. Command line arguments override values in the parameter file.
-o[--outFile] arg-
The optimal solution is saved to this file in Mathematica format. Defaults to sdpFile with '.out' extension.
-c[--checkpointFile] arg-
Checkpoints are saved to this file every checkpointInterval. Defaults to sdpFile with '.ck' extension.
Solver parameters:
--precisionarg (=400)-
Precision in binary digits. GMP will round up to the nearest multiple of 64 (or 32 on older systems).
--maxThreadsarg (=4)-
Maximum number of threads to use for parallel calculation.
--checkpointIntervalarg (=3600)-
Save checkpoints to checkpointFile every checkpointInterval seconds.
-
--noFinalCheckpoint -
Don't save a final checkpoint after terminating (useful when debugging).
-
--findPrimalFeasible -
Terminate once a primal feasible solution is found.
-
--findDualFeasible -
Terminate once a dual feasible solution is found.
-
--detectPrimalFeasibleJump -
Terminate if a primal-step of 1 is taken. This often indicates that a primal feasible solution would be found if the precision were high enough. Try increasing either primalErrorThreshold or precision and run from the latest checkpoint.
-
--detectDualFeasibleJump -
Terminate if a dual-step of 1 is taken. This often indicates that a dual feasible solution would be found if the precision were high enough. Try increasing either dualErrorThreshold or precision and run from the latest checkpoint.
--maxIterationsarg (=500)-
Maximum number of iterations to run the solver.
--maxRuntimearg (=86400)-
Maximum amount of time to run the solver in seconds.
--dualityGapThresholdarg (=1e-30)-
Threshold for duality gap (roughly the difference in primal and dual objective) at which the solution is considered optimal. Corresponds to SDPA's epsilonStar.
--primalErrorThresholdarg (=1e-30)-
Threshold for feasibility of the primal problem. Corresponds to SDPA's epsilonBar.
--dualErrorThresholdarg (=1e-30)-
Threshold for feasibility of the dual problem. Corresponds to SDPA's epsilonBar.
--initialMatrixScalePrimalarg (=1e+20)-
The primal matrix X begins at initialMatrixScalePrimal times the identity matrix. Corresponds to SDPA's lambdaStar.
--initialMatrixScaleDualarg (=1e+20) The dual matrix Y begins at-
initialMatrixScaleDual times the identity matrix. Corresponds to SDPA's lambdaStar.
--feasibleCenteringParameterarg (=0.1)-
Shrink the complementarity X Y by this factor when the primal and dual problems are feasible. Corresponds to SDPA's betaStar.
--infeasibleCenteringParameterarg (=0.3)-
Shrink the complementarity X Y by this factor when either the primal or dual problems are infeasible. Corresponds to SDPA's betaBar.
--stepLengthReductionarg (=0.7)-
Shrink each newton step by this factor (smaller means slower, more stable convergence). Corresponds to SDPA's gammaStar.
--choleskyStabilizeThresholdarg (=1e-40)-
Adds stabilizing terms to the cholesky decomposition of the schur complement matrix for diagonal entries which are smaller than this threshold times the geometric mean of other diagonal entries. Somewhat higher choleskyStabilizeThreshold can improve numerical stability but if the threshold is large enough that a high proportion of eigenvalues are being stabilized, the computation will slow substantially.
--maxComplementarityarg (=1e+100)-
Terminate if the complementarity mu = Tr(X Y)/dim(X) exceeds this value.
Examples
The example files are contained in the package sdpb-doc and can be found at /usr/share/doc/sdpb-doc/examples/.
The input format for SDPB is XML-based and described in the manual. The Mathematica file mathematica/SDPB.m includes code to export semidefinite programs in this format, along with some examples. An example input file test.xml is included as well.
Two python wrappers for SDPB are also available:
PyCFTBoot by Connor Behan (arXiv:1602.02810)
cboot by Tomoki Ohtsuki (arXiv:1602.07295).
History
- Debian 13 (Trixie) to Debian 11 (Bullseye): the text shown here
- Debian 10 (Buster)