Release History¶
The notes here are a summary from Sageopt’s changelog. Each item in the lists that follow is prefaced by a term like “coniclifts”, “symbolic”, or “relaxations”; these terms indicate the primary subpackage of sageopt which was affected.
[0.5.3] - 2020-09-07¶
- Changed
coniclifts: Fix regression introduced in 0.5.2 (optimization based dimension reduction was inadvertently disabled).
coniclifts: Remove an unstated assumption in the
relent.py
precompiled atom.coniclifts: Minor change to how DualSageCones compute violations.
[0.5.2] - 2020-07-05¶
- Changed
coniclifts: heavily refactor precompiled affine atoms.
relaxations: dual SAGE relaxations no longer introduce high-level slack variables by default.
- Added
coniclifts: the mosek interface now automatically performs low-level dualization for certain problems.
coniclifts:
prob.solve
accepts an argument to override or force dualization (when using MOSEK).
[0.5.1] - 2020-06-21¶
- Removed
coniclifts: compile_linear_expression.
- Changed
symbolic: signomials now broadcast in certain arithmetic with ndarrays.
- Added
coniclifts: “abs” and “pos” NonlinearScalarAtoms.
coniclifts: a field “age_witnesses” to
PrimalSageCone
objects.coniclifts:
compile_objective
.coniclifts: an option to eliminate all equality constraints when compiling a
PrimalSageCone
.coniclifts:
PrimalSageCone
violation now computed by evaluating the support function ofX
.symbolic: SigDomain objects have a
suppfunc
method, to evaluate support function.
[0.5.0] - 2020-03-25¶
- Removed
coniclifts: private compilation constants (e.g.
_REDUCTION_SOLVER_
) insage_cones.py
coniclifts: private solver parameters (e.g.
_DEACTIVATE_SCALING
) inmosek.py
- Changed
symbolic: Signomials are now represented primarily by arrays, rather than a dictionary.
symbolic: Signomial and Polynomial constructors: both parameters
alpha
andc
are required.
- Added
symbolic:
Signomial.from_dict
andPolynomial.from_dict
convenience functions for construction.relaxations: keyword argument checking in
sig_constrained_relaxation
andpoly_constrained_relaxation
.coniclifts: an option to reduce epigraph variable usage in dual SAGE relaxations.
coniclifts: mixed-integer support for MOSEK.
coniclifts:
PrimalSageCone.settings
andDualSageCone.settings
: dictionary-valued properties which record compilation settings (e.g. pre-solve behavior)coniclifts: Properly expose all MOSEK solver options.
interop: Proper tests for GPKit integration.
interop: CVXPY integration.
[0.4.2] - 2019-11-18¶
- Changed
symbolic:
Signomial.partial
andPolynomial.partial
to correctly work with nonconstant coefficients.symbolic: Essentially all “attributes” of Signomial or Polynomial objects have become “properties”.
- Added
sageopt:
sageopt.interop
a subpackage for interacting with other python projects.symbolic: A
metadata
field to Signomial and Polynomial objects.
[0.4.1] - 2019-10-13¶
- Removed
coniclifts:
Variable.set_scalar_variables
.coniclifts: The
name
field of the ScalarVariable class.coniclifts: Some unused functions in
coniclifts.base.ScalarAtom
.
- Changed
symbolic: Fixed a bug in SigDomain and PolyDomain.
relaxations: Fixed a bug in the function
clcons_from_standard_gprep
.coniclifts:
Variable.value
is now a settable property.
- Added
coniclifts: An
index
field to the ScalarVariable class.coniclifts: A
_DEACTIVATE_SCALING_
static attribute in theMosek
class.
[0.4.0] - 2019-10-06¶
- Removed
sageopt: sig_primal, sig_dual, poly_primal, poly_dual (and the four constrained variations thereof) as top-level imports within sageopt. These should have been removed in v0.3.4.
coniclifts: conditional_sage_cone.py
coniclifts: sage_cone.py.
- Changed
relaxations:
conditional_sage_data
is nowinfer_domain
.relaxations: The signature of
sig_relaxation
andsig_constrained_relaxation
.relaxations: Fixed a bug in
conditional_sage_data
(now,infer_domain
). Equality constraints were being incorrectly compiled into weaker forms.coniclifts: Conditional SAGE constraints now assume that the “conditioning” is feasible.
coniclifts: The
var_name_to_locs
dict fromconiclifts.compilers.compile_constrained_system
.coniclifts: Several fields in the
coniclifts.Problem
class.coniclifts: How
ElementwiseConstraint
objects report their variables.
- Added
symbolic: SigDomain and PolyDomain classes, to represent “X” with conditional SAGE cones.
coniclifts: sage_cones.py.
coniclifts: the option to eliminate trivial AGE cones from SAGE relaxations.
coniclifts: the option to allow AGE vectors to sum <= c, or == c. The default is <= c.
[0.3.4] - 2019-09-09¶
- Changed
coniclifts: Major changes to the compilation process. Refer to commit 7cb07866e55c6618ce17d090d52281512ea2351f.
- Added
relaxations: sig_relaxation and sig_constrained_relaxation (and variants for polynomial problems).
[0.3.3] - 2019-08-10¶
- Changed
relaxations: Updated polynomial magnitude recovery to be consistent with the latest version of the arXiv paper.
coniclifts: Constraint violation computations (to resolve several syntax bugs which showed up in version 0.3.2).
- Added
relaxations: An option for the user to specify skipping constrained least-squares step of solution recovery.
coniclifts: unittests for primal and dual SAGE cone constraint violations.
[0.3.2] - 2019-07-12¶
- Changed
coniclifts: Expression objects get value by
.value
instead of.value()
coniclifts: fixed a bug in
__contains__
for coniclifts PrimalCondSageCone
[0.3.1] - 2019-07-09¶
- Changed
relaxations: least-squares solution recovery for polynomial problems.
coniclifts: conditional SAGE cones with m=2 were being compiled into overly restrictive terms, this is now fixed.
- Added
relaxations: Documentation to helper functions defined in
sageopt.relaxations
init file.relaxations: Some unittests for conditional sage polynomials.
[0.3.0] - 2019-06-30¶
- Removed
symbolic: Removed the ability to call signomials in geometric format.
relaxations: Removed the local_refine implementation for polynomials.
- Changed
relaxations: Changed references to “AbK” and “logAbK” in user-facing functions to “X”.
- Added
Several functions as top-level imports in
sageopt
.symbolic: Added
as_signomial
function to Polynomial objects.symbolic: Added
log_domain_converter
tosage_polys.py
.relaxations: a function
local_refine_polys_from_sigs
.relaxations: Track the constraint functions which generate the set
X
in conditional SAGE relaxations.
[0.2.0] - 2019-05-24¶
Bumping version from 0.1 to 0.2, because I’ve made a ton of changes to 0.1 without noting them in a changelog. This is effectively me starting from scratch with version numbers, in preparation for a public release.
- Added
This changelog.md file.
A README file.
License information.