CSDP(1)
π CSDP β the semidefinite program solver, bestie edition π
okay so this is the manual for csdp (that's the General Commands Manual one, section 1, iykyk) and honestly? it's a whole vibe. sit down, grab a strawberry π, and let's get into it.
β¨ NAME β¨
csdp β semidefinite program solver. that's it. that's the girl. π
πΈ SYNOPSIS πΈ
csdp <problemfile> <finalsolution> <initialsolution>
csdp-complement <inputgraph> <outputgraph>
csdp-graphtoprob <graph> <problemfile>
csdp-randgraph <rand_graph> <file> <n> <p> [<seed>]
csdp-theta <graph>
five icons, five little command lines, no notes. π
π¦ DESCRIPTION π¦
this page is the quick lil rundown on csdp, csdp-complement, csdp-graphtoprob, csdp-randgraph and csdp-theta. brief but iconic.
csdpβ the interface to solve general semi-definite programs. main character energy fr.csdp-complementβ computes the complement of a graph and outputs it in csdp problem format.csdp-graphtoprobβ converts a graph into a csdp problem format file.csdp-randgraphβ generates a random graph. chaos, but make it structured β¨csdp-thetaβ solves the Lovasz thetha problem. (yes, "thetha", we're keeping it exactly as written, no cap.)
π OPTIONS π
here's a summary of the options. for the complete description, go read /usr/share/doc/coinor-csdp-doc/csdpuser.pdf β she's got the full lore.
csdpβ input problem in the SDPA sparse format.problemfileβ the name of a file containing the SDP problem in SDPA sparse format. like, the whole point.finalsolutionβ the optional name of a file where the final solution gets saved. cute lil souvenir πinitialsolutionβ the optional name of a file to take the initial solution from. starting off strong.
π§ the param.csdp situation π§
so here's the tea: CSDP goes looking for a file named param.csdp in the current directory. if that file doesn't exist? no worries, it just uses default values for all of CSDP's parameters. but if the parameter file is there, then CSDP reads the parameter values from it.
here are the default parameter values, and yes you can literally paste this into a file:
axtol=1.0e-8
atytol=1.0e-8
objtol=1.0e-8
pinftol=1.0e8
dinftol=1.0e8
maxiter=100
minstepfrac=0.90
maxstepfrac=0.97
minstepp=1.0e-8
minstepd=1.0e-8
usexzgap=1
tweakgap=0
affine=0
printlevel=1
perturbobj=1
fastmode=0
π param.csdp file parameter description π
axtolatytolobjtolβ tolerances for primal feasibility, dual feasibility, and relative duality gap.pinftoldinftolβ tolerances used in determining primal and dual infeasibility.maxiterβplimitthe total number of iterations that CSDP may use.minstepfracmaxstepfracβ determine how close to the edge of the feasible region CSDP will step. if the primal or dual step is shorter thanminstepporminstepd, then CSDP declares a line search failure. πusexzgapβ if this parameter is0, then CSDP will use the objective function duality gap instead of thetr(XZ)gap.tweakgapβ if set to1, andusexzgapis set to0, then CSDP will attempt to "fix" negative duality gaps. it's giving damage control.affineβ if the parameteraffineis set to1, then CSDP will take only primalβdual affine steps and not make use of the barrier term. this can be useful for some problems that do not have feasible solutions that are strictly in the interior of the cone of semidefinite matrices.printlevelβ determines how much debugging information is output. useprintlevel=0for no output andprintlevel=1for normal output. higher values ofprintlevelwill generate more debugging output. (basically: the higher the number, the more it yaps.)perturbobjβ determines whether the objective function will be perturbed to help deal with problems that have unbounded optimal solution sets. ifperturbobjis0, then the objective will not be perturbed. ifperturbobj=1, then the objective function will be perturbed by a default amount. larger values ofperturbobj(e.g.100.0) increase the size of the perturbation. this can be helpful in solving some difficult problems. πfastmodeβ determines whether or not CSDP will skip certain time consuming operations that slightly improve the accuracy of the solutions. iffastmodeis set to1, then CSDP may be somewhat faster, but also somewhat less accurate. speed vs. accuracy, the eternal struggle π
β SEE ALSO β
the programs are documented fully in the accompanying .pdf documentation, which can be found in /usr/share/doc/coinor-csdp-doc if the coinor-csdp-doc package is installed. (conditional queen π«Ά)
π AUTHOR π
csdp was written by Brian Borchers et al. β shoutout, legend.
this manual page was written by Soeren Sonnenburg <sonne@debian.org>, for the Debian project (but may be used by others). generous, iconic, we love to see it π
and that's the whole thing bestie!! this page is dated April 11, 2009, and it's page CSDP(1) from the General Commands Manual. go solve some semidefinite programs, you've absolutely got this. slay πβ¨π
π¦ where this page comes from
- debian bookworm: coinor-csdp 6.2.0-4+b1 Β· CPL
- debian trixie: coinor-csdp 6.2.0-5+b2 Β· CPL
- ubuntu jammy: coinor-csdp 6.2.0-4 Β· CPL
- ubuntu noble: coinor-csdp 6.2.0-5build1 Β· CPL
- ubuntu questing: coinor-csdp 6.2.0-6
- ubuntu resolute: coinor-csdp 6.2.0-6build1 Β· CPL
- ubuntu stonking: coinor-csdp 6.2.0-8 Β· CPL
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms