This report describes CSDP, a library of routines that implements a predictor corrector variant of the semidefinite programming algorithm of Helmberg, Rendl, Vanderbei, and Wolkowicz. The main advantages of this code are that it is written to be used as a callable subroutine, it is written in C and Fortran for efficiency, it makes effective use of sparsity in the constraint matrices, and that it includes support for linear inequality constraints in addition to linear equality constraints. This report discusses the algorithm used, some implementation issues, and how to use the library routine. Benchmark results for the problem of computing the Lovasz $\vartheta$ number of a graph are presented.
March 25, 1997.