A semidefinite program solver for the conformal bootstrap.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.




SDPB is an open-source, arbitrary-precision, parallelized semidefinite program solver, designed for the conformal bootstrap. It solves the following problem:

maximize:  b_0 + \sum_n b_n y_n over (y_1,...,y_N), such that: M_{0j}(x) + \sum_n y_n M_{nj}(x) is positive semidefinite for all x >= 0 and 1 <= j <= J, where each M_{nj}(x) is a polynomial matrix in x.

For more information, see A Semidefinite Program Solver for the Conformal Bootstrap and the manual.

Author: David Simmons-Duffin (davidsd@gmail.com). As of February 2015, I am supported by DOE grant number DE-SC0009988 and a William D. Loughlin Membership at the Institute for Advanced Study.

Installation and Usage

Installation instructions for Linux, Mac OS X, and Windows (using Cygwin) can be found in Install.md.

Type sdpb --help for the syntax and a list of options.

The input format for SDPB is XML-based and described in the manual. The Mathematica file SDPB.m includes code to export semidefinite programs in this format, along with some examples. An example input file test.xml is included with the source code.

Two python wrappers for SDPB are also available:


If you use SDPB in work that results in publication, please cite

Depending on how SDPB is used, the following other sources might be relevant:

The first use of semidefinite programming in the bootstrap:

  • D. Poland, D. Simmons-Duffin and A. Vichi, "Carving Out the Space of 4D CFTs," JHEP 1205, 110 (2012) arXiv:1109.5176 [hep-th].

The generalization of semidefinite programming methods to arbitrary spacetime dimension:

  • F. Kos, D. Poland and D. Simmons-Duffin, "Bootstrapping the O(N) Vector Models," JHEP 1406, 091 (2014) arXiv:1307.6856 [hep-th].

The generalization of semidefinite programming methods to arbitrary systems of correlation functions:

  • F. Kos, D. Poland and D. Simmons-Duffin, "Bootstrapping Mixed Correlators in the 3D Ising Model," arXiv:1406.4858 [hep-th].


  • SDPB Makes extensive use of MPACK, the multiple precision linear algebra library written by Nakata Maho. Several source files from MPACK are included in the SDPB source tree (see the license at the top of those files).

  • SDPB uses Lee Thomason's tinyxml2 library (included in the source tree) for parsing.

  • The design of SDPB was partially based on the solvers SDPA and SDPA-GMP, which were essential sources of inspiration and examples.

  • Thanks to Filip Kos, David Poland, and Alessandro Vichi for collaboration in developing semidefinite programming methods for the conformal bootstrap and assistance testing SDPB.

  • Thanks to Amir Ali Ahmadi, Hande Benson, Pablo Parrilo, and Robert Vanderbei for advice and discussions about semidefinite programming.

  • Thanks also to Noah Stein, who first suggested the idea of semidefinite programming to me in this Math Overflow question.

Works Using SDPB

(Please let me know if you would like your paper to be included in this list!)