Picos

Latest version: v2.6.0

Safety actively analyzes 706267 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 2

1.0.0

* Semidefinite Programming Interface for MOSEK 7.0 !!!
* New options ``handleBarVars`` and ``handleConeVars`` to customize how SOCP and SDPs are passed to MOSEK
(When these options are set to ``True`` , PICOS tries to minimize the number of variables of the
MOSEK instance).
* The function dualize() returns the Lagrangian dual of a Problem.
* The option ``solve_via_dual`` allows the user to pass the dual
of a problem to a solver, instead of the primal problem itself. This can yield important speed-up for
certain problems.
* In addition to the geometric mean function picos.geomean(), it is now possible
to pass rational powers of affine expressions (through an overload of the ``**`` operator), trace of
matrix powers with picos.tracepow(), (generalized) p-norms
with picos.norm(), and nth root of a determinant with
picos.detrootn(). These functions automatically reformulate the entered inequalities
as a set of equivalent SOCP or SDP constraints.
* It is now possible to specify variable bounds directly (rather than adding constraints of the type ``x >= 0`` ).
This can be done with the Keywords ``lower`` and ``upper`` of the function add_variable() ,
or by the methods set_lower(), set_upper(), set_sparse_lower(), and set_sparse_upper() of the class Variable.
* It is now more efficient to update a Problem and resolve it. This is done thanks to the attribute ``passed``
of the classes Constraint and Variable ,
that stores which solvers are already aware of a constraint / variable. There is also an
attribute ``obj_passed`` of the class Problem that lists the solver instances
where the objective function has already been passed. The option ``onlyChangeObjective`` has been
deprecated.

0.1.3

* geomean() function implemented, to handle inequalities involving
geometric mean and reformulate them as a set of SOCP constraints.
* Some options ['uboundlimit','lboundlimit'] were added to tell
CPLEX to stop the computation as soon as a given value for the
upper bound (or lower bound) is reached.
* The time used by the solver is now stored in the dictionary
returned bz solve().
* It is possible to get the evolution of the lower and upper bounds
over time, by using the option 'boundMonitor'.
* The weak inequalities operator can now be used.
* Minor bugs corrected (access to the duals of fixed variables with CPLEX,
evaluation of constant affine expressions with a zero coefficient appearing
in the dict of linear terms, number of constraints is now updated in remove_constraint() )

0.1.2

bug-fix release, correcting:
* The write_to_file() function for sparse SDPA files.
The function was writing the
coefficients of the lower triangular part
of the constraint matrices
instead of the upper triangle.
* An IndexError occuring with the function
remove_constraint()

0.1.1

* Picos now interfaces GUROBI !
* You can specify an initial solution to *warm-start* mixed integer optimizers.
* Minor bugs with quadratic expressions corrected
* It's possible to return a reference to a constraint added
with add_constraint()

0.1.0

Page 2 of 2

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.