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.