CVXOPT
Python Software for Convex Optimization
CVXOPT is a free software package for convex optimization based on the
Python programming language. It can be used with the interactive Python
interpreter, on the command line by executing Python scripts, or
integrated in other software via Python extension modules. Its main purpose
is to make the development of software for convex optimization applications
straightforward by building on Python’s extensive standard library
and on the strengths of Python as a high-level programming language.
Current release
Version 1.1.1 includes:
- efficient Python classes for dense and sparse matrices (real and complex),
with Python indexing and slicing and overloaded operations for matrix
arithmetic
- an interface to most of the double-precision real and complex BLAS
- an interface to LAPACK routines for solving linear equations and
least-squares problems, matrix factorizations (LU, Cholesky,
LDLT and QR),
symmetric eigenvalue and singular value decomposition, and Schur
factorization
- an interface to the fast Fourier transform routines from FFTW
- interfaces to the sparse LU and Cholesky solvers from UMFPACK and CHOLMOD
- routines for linear, second-order cone, and semidefinite programming
problems
- routines for nonlinear convex optimization
- interfaces to the linear programming solver in GLPK, the semidefinite
programming solver in DSDP5, and the linear, quadratic and second-order
cone programming solvers in MOSEK
- a modeling tool for specifying convex piecewise-linear optimization
problems. (This has been superseded by the more powerful
CVXMOD package.)
Availability
A platform-independent source package and a binary Windows installer are
available from the Download section. CVXOPT is also available precompiled
for the major platforms:
Authors
CVXOPT is developed by Joachim Dahl
(dahl.joachim@gmail.com)
and Lieven Vandenberghe
(vandenbe@ee.ucla.edu).