 |
 |
 |
CVXOPT: A Python Package for Convex Optimization |
 |
 |
 |
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 0.8.2 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, and routines for sparse matrix-vector and matrix-matrix
multiplication (see chapters 2
and 6).
- cvxopt.random
- Routines for generating random matrices
with uniformly or normally distributed entries
(see section 2.7).
- 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
(chapter 8).
- cvxopt.modeling
- Routines for specifying and solving
linear programs and convex optimization problems with piecewise-linear
cost and constraint functions (chapter 9).
- cvxopt.info
- Defines a string
version
with
the version number of the CVXOPT installation and a function
license() that prints the CVXOPT license.
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.
Release 0.8.2, documentation updated on February 6, 2007.