# PICOS: A Python Interface for Conic Optimization Solvers¶

Welcome to the documentation of PICOS,
a user-friendly python interface to many linear and conic optimization solvers,
see more about PICOS in the *introduction*.

The latest version can be downloaded *here*,
and can be installed by following *these instructions*.
Alternatively, you can clone the latest development version from **github**:
`$ git clone https://github.com/gsagnol/picos.git`. If you whish to collaborate on PICOS,
please make a pull request on github.

This documentation contains a *tutorial* and some *examples*,
which should already be enough for a quick start with PICOS.
There is also a *summary* of useful implemented functions.
To go deeper,
have a look at the *picos reference*, which provides information
on every function of PICOS.

**News**

- 15 Apr. 15:
Picos1.1.0Released

- PICOS is now compatible with
python 3+(and remains compatible with python 2.6+). Many thanks to Sergio Callegari for this compatibility layer ! If you plan to work with PICOS and python3, think to install the most recent version of your solver (Mosek, Cplex, Gurobi, or Cvxopt). SCIP is not supported in python3+ at this point (but remains supported with python 2.x).- PICOS is now available on github.

- 30 Jan. 15:
Picos1.0.2Released

- Major release with following new functionalities:

- Support (read and write) for
.cbfproblem files (conic benchmark format ), which should be the standard for (mixed integer) conic optimization problems, cf.write_to_fileandimport_cbf.- Improved support for complex SDP (more efficient implementation of
to_real(), corrected bug in the implementation of the scalar product for Hermitian matrices and the conjugate of a complex expression, support for equality constraints involving complex coefficients)- Support for inequalities involving the sum of k largest elements of an affine expression, or the k largest eigenvalues of a symmetric matrix expression, cf. the functions
sum_k_largest(),sum_k_smallest(),sum_k_largest_lambda(),sum_k_smallest_lambda(),lambda_max()andlambda_min().- Support for inequalities involving the norm of an affine expresison, cf.
norm().- New
vtypefor antisymmetric matrix variables (vtype= antisym).- Constraints can be specified as membership in a
Set. Sets can be created by the functionsball(),simplex(), andtruncated_simplex().- New functions
maximizeandmaximizeto specify the objective function of a problem and solve it.- And many thanks to Petter Wittek for the following improvements, who were motivated by the use of PICOS in the package ncpol2sdpa for optimization over noncommutative polynomials:

- More efficient implementation of the writer to the sparse - SDPA file format (
write_to_file)- Hadamard (elementwise) product of affine expression is implemented, as an overload of the
^operator, cf. an examplehere.- Partial transposition of an Affine Expression, cf.
partial_transpose()or theTxattribute.Former changes are listed

here.

**PICOS Documentation contents**