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.pyprecompiled 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.solveaccepts 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
PrimalSageConeobjects.coniclifts:
compile_objective.coniclifts: an option to eliminate all equality constraints when compiling a
PrimalSageCone.coniclifts:
PrimalSageConeviolation now computed by evaluating the support function ofX.symbolic: SigDomain objects have a
suppfuncmethod, to evaluate support function.
[0.5.0] - 2020-03-25¶
- Removed
coniclifts: private compilation constants (e.g.
_REDUCTION_SOLVER_) insage_cones.pyconiclifts: 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
alphaandcare required.
- Added
symbolic:
Signomial.from_dictandPolynomial.from_dictconvenience functions for construction.relaxations: keyword argument checking in
sig_constrained_relaxationandpoly_constrained_relaxation.coniclifts: an option to reduce epigraph variable usage in dual SAGE relaxations.
coniclifts: mixed-integer support for MOSEK.
coniclifts:
PrimalSageCone.settingsandDualSageCone.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.partialandPolynomial.partialto correctly work with nonconstant coefficients.symbolic: Essentially all “attributes” of Signomial or Polynomial objects have become “properties”.
- Added
sageopt:
sageopt.interopa subpackage for interacting with other python projects.symbolic: A
metadatafield to Signomial and Polynomial objects.
[0.4.1] - 2019-10-13¶
- Removed
coniclifts:
Variable.set_scalar_variables.coniclifts: The
namefield 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.valueis now a settable property.
- Added
coniclifts: An
indexfield to the ScalarVariable class.coniclifts: A
_DEACTIVATE_SCALING_static attribute in theMosekclass.
[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_datais nowinfer_domain.relaxations: The signature of
sig_relaxationandsig_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_locsdict fromconiclifts.compilers.compile_constrained_system.coniclifts: Several fields in the
coniclifts.Problemclass.coniclifts: How
ElementwiseConstraintobjects 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
.valueinstead 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.relaxationsinit 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_signomialfunction to Polynomial objects.symbolic: Added
log_domain_convertertosage_polys.py.relaxations: a function
local_refine_polys_from_sigs.relaxations: Track the constraint functions which generate the set
Xin 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.