Download and Installation

The entire package for is available as a gzipped tar file from the Python Package Index, containing the source, documentation, and examples.

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.

Optional dependencies include:

  • SciPy allows faster execution with the default CPython interpreter, and enables removal of equations and chordal graph extensions.
  • Chompack improves the sparsity of the chordal graph extension.
  • PICOS is necessary for converting the problem to a PICOS problem.
  • MOSEK Python module is necessary to work with the MOSEK converter.
  • Cvxopt is required by both Chompack and PICOS.

Installation

Follow the standard procedure for installing Python modules:

$ pip install ncpol2sdpa --user

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 --user