The package is available in the Python Package Index. The latest development version is available on GitHub.

## Dependencies¶

The implementation requires SymPy and Numpy. The code is compatible with both Python 2 and 3, but using version 3 incurs a major decrease in performance.

While the default CPython interpreter is sufficient for small to medium-scale problems, execution time becomes excessive for larger problems. The code is compatible with Pypy. Using it yields a 10-20x speedup. If you use Pypy, you will need the Pypy fork of Numpy.

By default, Ncpol2sdpa does not require a solver, but then it will not be able to solve a generated relaxation either. Install any supported solver and it will be detected automatically.

Optional dependencies include:

• SDPA is a possible target solver.
• SciPy yields faster execution with the default CPython interpreter.
• PICOS is necessary for using the Cvxopt solver and for converting the problem to a PICOS instance.
• MOSEK Python module is necessary to work with the MOSEK solver.
• CVXPY is required for converting the problem to or by solving it by CVXPY.
• Cvxopt is required by both Chompack and PICOS.
• Chompack improves the sparsity of the chordal graph extension.

## Installation¶

Follow the standard procedure for installing Python modules:

$pip install ncpol2sdpa  If you use the development version, install it from the source code: $ git clone https://github.com/peterwittek/ncpol2sdpa.git
$cd ncpol2sdpa$ python setup.py install