Releases: ukaea/PyVMCON
v2.4.1
What's Changed
- Catch and propogate DCPError's out of solve_qsp by @timothy-nunn in #41
- Use upper triangle of B to enforce symmetry rather than averaging errors by @timothy-nunn in #42
Full Changelog: v2.4.0...v2.4.1
v2.4.0
What's Changed
The main change of this release is the proper treatment of bounds by the VMCON solver. Before this version, bounds were tacked on to the quadratic programming problem as additional constraints; now, the proper CVXPY API is used.
- Use bounds on delta rather than additional constraints by @timothy-nunn in #34
Other changes improve the quality of the code by improving error propagations, removing old unnecessary code, and utilising more modern methods e.g. for adding singleton dimensions to numpy arrays.
- Propagate CVXPY solver error as QspSolverException by @timothy-nunn in #39
- Fixed missing spaces in logger messages by @timothy-nunn in #33
- Calculate complementary error over entire lagrange multiplier vector by @timothy-nunn in #38
Full Changelog: v2.3.1...v2.4.0
v2.3.1
What's Changed
- Stop B becoming unsymmetric due to numerical rounding error by @timothy-nunn in #30
Full Changelog: v2.3.0...v2.3.1
v2.3.0
What's Changed
- No longer assume the quadratic programming problem is positive definite by @timothy-nunn in #21
- Corrected BFGS update to user outer products by @timothy-nunn in #27
- Improve type hinting and documentation by @timothy-nunn in #25
Full Changelog: v2.2.2...v2.3.0
v2.2.2
What's Changed
- Fix additional convergence criteria (function was not called properly) by @jonmaddock in #16
- Remove restriction for
numpy<2.0by @timothy-nunn in #17
New Contributors
- @jonmaddock made their first contribution in #16
Full Changelog: v2.2.1...v2.2.2
v2.2.1
Patch release to disable numpy 2.0 #15
Full Changelog: v2.2.0...v2.2.1
v2.2.0
What's Changed
- Allow additional convergence criteria to be defined by @timothy-nunn in #13
Full Changelog: v2.1.2...v2.2.0
v2.1.2
v2.1.1
Fix a bug in the B (Hessian approximation) matrix where the size was set to the max of n or m (a relic from a long time ago in development).
v2.1.0
Add a callback which is called on each iteration. E.g. can be used to print convergence information on each iteration