1. What’s new in PEPit 0.1.0
Adding general constraints to your problem.
The methodadd_constraint
has been added to the classPEP
for general constraints not necessarily related to a specific function.For readability of your code, we suggest to use the methodset_initial_condition
when the constraint is the initial one, and the methodadd_constraint
for any other constraint.Adding LMI constraints to your problem.
The method
add_psd_matrix
has been added to the classPEP
and must be used to add LMI constraints to your problem.CVXPY options.
PEPit uses CVXPY to solve the underlying SDP of your problem.CVXPY solver options can be provided to the methodPEP.solve
.Optimizing dimension of the solution.
Thetracetrick
option of the methodPEP.solve
has been replaced bydimension_reduction_heuristic
.Set to None by default, this option can be set to “trace” or “logdet{followed by a number}” to use one of those heuristic.Granularity of the verbose mode has evolved.
The verbose mode of the methodPEP.solve
and of the provided examples files are now integers:0: No verbose at all
1: PEPit information is printed but not CVXPY’s
2: Both PEPit and CVXPY details are printed
Parameters of function classes.
The parameters that characterize a function class must be provided directly as arguments of this function class, not through the dict “param” anymore.Example:PEP.declare_function(function_class=SmoothStronglyConvexFunction, mu=.1, L=1.)
Initializing a Point or an Expression to 0.
null_point
andnull_expression
have been added to the modulePEPit
to facilitate the access to aPoint
or anExpression
initialized to 0.3 new function classes have been added:
ConvexSupportFunction
for convex support functions (see [1])ConvexQGFunction
, for convex and quadratically upper bounded functions (see [2])RsiEbFunction
, for functions verifying lower restricted secant inequality and upper error bound (see [3])