POEM – History
To comply with our ChangeLog on gitlab, we present the versions and their changes in chronological order.
Version 0.1.0.0
Date: 2018-02-12
Features:
- Read polynomials from string, as matrix/vector-pair or generate new random instances.
- Compute lower bounds for unconstraint polynomial minimization problems via various methods:
- SONC, using cvxpy and ECOS/SCS in Python
- SONC, using cvx and SeDuMi/SDPT3 in Matlab
- SOS, using cvxpy and SCS in Python
- SOS, using cvx and SeDuMi/SDPT3 in Matlab
- SOS, using SOStools in Matlab
- SOS, using Gloptipoly in Matlab
- all methods are accessed via a Python interface.
- obtain the decomposition into non-negative polynomials (see Known Issues).
Citing:
@Misc{poem:software,
Title = {{POEM}: Effective Methods in Polynomial Optimization, version 0.1.0.0},
Author = {Seidler, Henning and de Wolff, Timo},
HowPublished = {\url{http://www.user.tu-berlin.de/henning.seidler/POEM/}},
Month = {feb},
Year = {2018}
}
Version 0.1.1.0
Date: 2018-07-24
Added Features:
- Coefficients for solution written in sparse matrix/tensor
- First Version for reallocation of coefficients for negative points
- Greatly reduced number of variables in big GP
Fixed Issues
- Decomposition for SONC works in all cases
Known Issues
- Decomposition into squares will fail, if Gloptipoly/SOStools do not return a full-sized matrix, i.e. if some monomials do not appear in the solution.
- Reallocation of coefficients often fails, since ECOS tends to fail after some iterations
Citing:
@Misc{poem:software,
Title = {{POEM}: Effective Methods in Polynomial Optimization, version 0.1.1.0},
Author = {Seidler, Henning and de Wolff, Timo},
HowPublished = {\url{http://www.user.tu-berlin.de/henning.seidler/POEM/}},
Month = {jul},
Year = {2018}
}
Version 0.1.1.1
Date: 2019-01-11
Fixed Issues
- Adjusted syntax for new versions of cvxpy and sympy
Citing:
@Misc{poem:software,
Title = {{POEM}: Effective Methods in Polynomial Optimization, version 0.1.1.1},
Author = {Seidler, Henning and de Wolff, Timo},
HowPublished = {\url{http://www.user.tu-berlin.de/henning.seidler/POEM/}},
Month = {jan},
Year = {2019}
}
Version 0.2.0.0
Date: 2019-01-30
Added Features:
- Computer lower bounds via SAGE
- Obtain rational lower bound in exact arithmetic; and decomposition with rational coefficients in exact arithmetic, both via SONC and SAGE
- Compute local minimizers
Notable Changes
- Function calls for SONC unified
- separate class polynomial_base for input/output
- own classes for AGE- and circuit-polynomials
Known Issues
- Matlab currently not available, was not tested in a while, may become deprecated
- Decomposition for SOS will fail, if psd-matrix does not have full size, i.e. if some monomials do not appear in the solution.
- Symbolic decomposition of SAGE fails in many instances
Citing:
@Misc{poem:software,
Title = {{POEM}: Effective Methods in Polynomial Optimization, version 0.2.0.0},
Author = {Seidler, Henning and de Wolff, Timo},
HowPublished = {\url{http://www.user.tu-berlin.de/henning.seidler/POEM/}},
Month = {jan},
Year = {2019}
}
Version 0.2.0.1
Date: 2019-02-14
Fixed Issues
- Some imports were missing in setup.py.
- When reading from string (or database), coefficients alsways had type "object".
- In detect_infinity, reduced digits for rounding from 23 to 7 (error happened, when going from decimal to binary).
Citing:
@Misc{poem:software,
Title = {{POEM}: Effective Methods in Polynomial Optimization, version 0.2.0.1},
Author = {Seidler, Henning and de Wolff, Timo},
HowPublished = {\url{http://www.user.tu-berlin.de/henning.seidler/POEM/}},
Month = {feb},
Year = {2019}
}
Version 0.2.1.0
Date: 2019-07-04
Added Features:
- Divided required packages into minimal/standard/full
- Additional flags for setup
- Compute minimiser of a Circuit Polynomial
- SONC/SAGE solvable with MOSEK 9
- Check nonnegativity exactly with Z3
Other Changes
- Use cdd as default solver for exact LP.
- rename Polynomial.symbolic() -> Polynomial.to_symbolic()
Fixed Issues
- Specified Exceptions
- Changed some objects from numpy.matrix to numpy.array
- Added missing docstrings
- Removing some unused imports
Citing:
@Misc{poem:software,
Title = {{POEM}: Effective Methods in Polynomial Optimization, version 0.2.1.0},
Author = {Seidler, Henning and de Wolff, Timo},
HowPublished = {\url{http://www.user.tu-berlin.de/henning.seidler/POEM/}},
Month = {jul},
Year = {2019}
}
Version 0.3.0.0
Date: 2021-05-27
Added Features:
- Improved Lower Bounds via branch-and-bound
- alternative approach by running orthants in parallel
Other Changes
- removed SONC optimisation in Matlab
- removed dependency of polymake, directly uses cddlib
- aux.py has type annotations
Fixed Issues
- Additional error handling
- Fixed Matlab bridge
- Clean-up of files
Citing:
@Misc{poem:software,
Title = {{POEM}: Effective Methods in Polynomial Optimization, version 0.3.0.0},
Author = {Seidler, Henning},
HowPublished = {\url{http://www.user.tu-berlin.de/henning.seidler/POEM/}},
Month = {may},
Year = {2021}
}
Version 0.3.0.1
Date: 2021-08-25
Fixed Issues
- fixed example in Readme
- handle MatlabError
Citing:
@Misc{poem:software,
Title = {{POEM}: Effective Methods in Polynomial Optimization, version 0.3.0.1},
Author = {Seidler, Henning},
HowPublished = {\url{http://www.user.tu-berlin.de/henning.seidler/POEM/}},
Month = {aug},
Year = {2021}
}
Last Update: May 5, 2022