You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix some issues with CG and certain coefficient rules when using restart (#604)
* refactor CGRule
* Fix some issues with CG + HZ
* provide a proper test + formatting
* fix CG test
* Refactor CG rules.
* Fix 2 cases where we implicitly relied on storage being updated in case it was not filled and now fill it explicitly.
* bump version.
---------
Co-authored-by: Ronny Bergmann <git@ronnybergmann.net>
Copy file name to clipboardExpand all lines: Changelog.md
+8Lines changed: 8 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,14 @@ The file was started with Version `0.4`.
6
6
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
7
7
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
8
8
9
+
## [0.5.37] May 5, 2026
10
+
11
+
### Changed
12
+
13
+
* The default restart rule for `conjugate_gradient_descent` is now `RestartOnNonDescent` instead of `NeverRestart`, which makes the algorithm more robust to non-convexity and numerical issues. The old default can still be used by explicitly passing `restart_condition=NeverRestart()`. (#604)
14
+
*`HagerZhangCoefficientRule` now has a safeguard against the denominator being too close to zero (the `denom_threshold` field). By default it is set to 1.0e-10. You can set it to a lower positive value (or even zero) to weaken the safeguard, but it is recommended to keep it to avoid numerical issues. (#604)
15
+
* introduce for all `Rule`s also a variant without being encapsulated in a memory, where the old values have to be passed as keywords. This is now used by the `ConjugateGradientBealeRestartRule` when evaluating its inner rule. (#604)
0 commit comments