Chapter 1
Introduction
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.
Release 1.0 of CVXOPT includes routines for basic linear algebra calculations,
interfaces to efficient libraries for solving dense and sparse linear equations, convex
optimization solvers written in Python, interfaces to a few other optimization
libraries, and a modeling tool for piecewise-linear convex optimization problems.
These components are organized in different modules.
-
cvxopt.base
- This module defines a Python type matrix for storing and
manipulating dense matrices, a Python type spmatrix for storing and
manipulating sparse matrices, routines for generating sparse dense
matrices (see section 2.7), and routines for sparse matrix-vector and
matrix-matrix multiplication (see chapters 2 and 6).
-
cvxopt.blas
- Interface to most of the double-precision real and complex BLAS
(chapter 3).
-
cvxopt.lapack
- Interface to the dense double-precision real and complex linear
equation solvers and eigenvalue routines from LAPACK (chapter 4).
-
cvxopt.fftw
- An optional interface to the discrete transform routines from
FFTW (section 5).
-
cvxopt.amd
- Interface to the approximate minimum degree ordering routine
from AMD (chapter 7.1).
-
cvxopt.umfpack
- Interface to the sparse LU solver from UMFPACK
(section 7.2).
-
cvxopt.cholmod
- Interface to the sparse Cholesky solver from CHOLMOD
(section 7.3).
-
cvxopt.solvers
- Convex optimization routines and optional interfaces to
solvers from GLPK, MOSEK and DSDP5 (chapters 8 and 9).
-
cvxopt.modeling
- Routines for specifying and solving linear programs and
convex optimization problems with piecewise-linear cost and constraint
functions (chapter 10).
-
cvxopt.info
- Defines a string version with the version number of the
CVXOPT installation and a function license() that prints the CVXOPT
license.
-
cvxopt.printing
- Contains functions and parameters that control how
matrices are formatted.
The modules are described in detail in this manual and in the on-line Python help
facility pydoc. Several example scripts are included in the distribution.