Scroll to navigation

SDPB(1) User Commands SDPB(1)

NAME

sdpb - arbitrary-precision, parallelized semidefinite program solver, designed for the conformal bootstrap.

SYNOPSIS

sdpb [OPTIONS] [SOLVER PARAMETERS]

DESCRIPTION

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:

--precision arg (=400)
Precision in binary digits. GMP will round up to the nearest multiple of 64 (or 32 on older systems).
--maxThreads arg (=4)
Maximum number of threads to use for parallel calculation.
--checkpointInterval arg (=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.
--maxIterations arg (=500)
Maximum number of iterations to run the solver.
--maxRuntime arg (=86400)
Maximum amount of time to run the solver in seconds.
--dualityGapThreshold arg (=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.
--primalErrorThreshold arg (=1e-30)
Threshold for feasibility of the primal problem. Corresponds to SDPA's epsilonBar.
--dualErrorThreshold arg (=1e-30)
Threshold for feasibility of the dual problem. Corresponds to SDPA's epsilonBar.
--initialMatrixScalePrimal arg (=1e+20)
The primal matrix X begins at initialMatrixScalePrimal times the identity matrix. Corresponds to SDPA's lambdaStar.
--initialMatrixScaleDual arg (=1e+20) The dual matrix Y begins at
initialMatrixScaleDual times the identity matrix. Corresponds to SDPA's lambdaStar.
--feasibleCenteringParameter arg (=0.1)
Shrink the complementarity X Y by this factor when the primal and dual problems are feasible. Corresponds to SDPA's betaStar.
--infeasibleCenteringParameter arg (=0.3)
Shrink the complementarity X Y by this factor when either the primal or dual problems are infeasible. Corresponds to SDPA's betaBar.
--stepLengthReduction arg (=0.7)
Shrink each newton step by this factor (smaller means slower, more stable convergence). Corresponds to SDPA's gammaStar.
--choleskyStabilizeThreshold arg (=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.
--maxComplementarity arg (=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).

SEE ALSO

The SDPB manual and the README file are contained in the package sdpb-doc and can be found at /usr/share/doc/sdpb-doc/.
November 2018 sdpb 1.0