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
Copy file name to clipboardExpand all lines: Changelog.md
+14-18Lines changed: 14 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,6 +17,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
17
17
*`linesearch_backtrack(M, F, p, X, s, decrease, contract, η, f0; kwargs...)` now has `lf0=` and `gradient=` keyword arguments instead of positional ones for `X` and the last `f0`, respectively. It additionally has a `Dlf0=` keyword argument to pass the evaluated differential instead of the gradient, which otherwise defaults to calling the inner product.
18
18
* refactor the nonmonotone linesearch stepsize to have an initial guess that can be set. For now it still afterwards performs the Barzilein Borwein initial guess,
19
19
so a constant initial guess is recommended here for not.
20
+
* covers one last line in `proximal_gradient_plan`
20
21
21
22
## [0.5.27] November 11, 2025
22
23
@@ -83,6 +84,7 @@ so a constant initial guess is recommended here for not.
83
84
* Add Distance over Gradients (RDoG) stepsize: `DistanceOverGradientsStepsize` and factory `DistanceOverGradients`, a learning‑rate‑free, curvature‑aware stepsize with `show`/`repr` and tests on Euclidean, Sphere, and Hyperbolic manifolds.
84
85
85
86
### Fixed
87
+
86
88
* the typo in the name `AdaptiveRgularizationWithCubicsModelObjective` is fixed to `AdaptiveRegularizationWithCubicsModelObjective`.
87
89
88
90
## [0.5.21] September 5, 2025
@@ -103,7 +105,6 @@ so a constant initial guess is recommended here for not.
103
105
* a `restart_condition` functor to `conjugate_gradient_descent`, which allows the algorithm to restart if the search direction is sub-par (#492)
104
106
* two literature references
105
107
106
-
107
108
### Changed
108
109
109
110
* remodelled the docs for the extensions a bit, added `JuMP` to the DocumenterInterlinks.
@@ -223,7 +224,6 @@ present; they were changed to `retact_fused!`.
223
224
* fixes a scaling error in quasi newton
224
225
* Fixes printing of JuMP models containg Manopt solver.
225
226
226
-
227
227
## [0.5.12] April 13, 2025
228
228
229
229
### Added
@@ -233,7 +233,6 @@ present; they were changed to `retact_fused!`.
233
233
* Introduce a `ManifoldConstrainedSetObjective`
234
234
* Introduce a `projected_gradient_method`
235
235
236
-
237
236
## [0.5.11] April 8, 2025
238
237
239
238
### Added
@@ -335,7 +334,7 @@ present; they were changed to `retact_fused!`.
335
334
336
335
### Changed
337
336
338
-
* slightly improves the test for the `ExponentialFamilyProjection` text on the about page.
337
+
* slightly improves the test for the `ExponentialFamilyProjection` text on the about page.
339
338
340
339
### Added
341
340
@@ -419,6 +418,7 @@ In general this introduces a few factories, that avoid having to pass the manifo
419
418
*`DifferenceOfConvexState(M, sub_problem; evaluation=...)` was added and `DifferenceOfConvexState(M, sub_problem, sub_state; evaluation=...)` now has `p=rand(M)` as keyword argument instead of being the second positional one
420
419
*`DifferenceOfConvexProximalState(M, sub_problem; evaluation=...)` was added and `DifferenceOfConvexProximalState(M, sub_problem, sub_state; evaluation=...)` now has `p=rand(M)` as keyword argument instead of being the second positional one
421
420
* bumped `Manifolds.jl`to version 0.10; this mainly means that any algorithm working on a product manifold and requiring `ArrayPartition` now has to explicitly do `using RecursiveArrayTools`.
421
+
422
422
### Fixed
423
423
424
424
* the `AverageGradientRule` filled its internal vector of gradients wrongly or mixed it up in parallel transport. This is now fixed.
@@ -432,14 +432,13 @@ In general this introduces a few factories, that avoid having to pass the manifo
432
432
* all deprecated keyword arguments and a few function signatures were removed:
433
433
*`get_equality_constraints`, `get_equality_constraints!`, `get_inequality_constraints`, `get_inequality_constraints!` are removed. Use their singular forms and set the index to `:` instead.
434
434
*`StopWhenChangeLess(ε)` is removed, use ``StopWhenChangeLess(M, ε)` instead to fill for example the retraction properly used to determine the change
435
-
* In the `WolfePowellLinesearch` and `WolfeBinaryLinesearch`the `linesearch_stopsize=` keyword is replaced by `stop_when_stepsize_less=`
436
-
*`DebugChange` and `RecordChange` had a `manifold=` and a `invretr` keyword that were replaced by the first positional argument `M` and `inverse_retraction_method=`, respectively
437
-
* in the `NonlinearLeastSquaresObjective` and `LevenbergMarquardt` the `jacB=` keyword is now called `jacobian_tangent_basis=`
438
-
* in `particle_swarm` the `n=` keyword is replaced by `swarm_size=`.
439
-
*`update_stopping_criterion!` has been removed and unified with `set_parameter!`. The code adaptions are
440
-
* to set a parameter of a stopping criterion, just replace `update_stopping_criterion!(sc, :Val, v)` with `set_parameter!(sc, :Val, v)`
441
-
* to update a stopping criterion in a solver state, replace the old `update_stopping_criterion!(state, :Val, v)` tat passed down to the stopping criterion by the explicit pass down with `set_parameter!(state, :StoppingCriterion, :Val, v)`
442
-
435
+
* In the `WolfePowellLinesearch` and `WolfeBinaryLinesearch`the `linesearch_stopsize=` keyword is replaced by `stop_when_stepsize_less=`
436
+
*`DebugChange` and `RecordChange` had a `manifold=` and a `invretr` keyword that were replaced by the first positional argument `M` and `inverse_retraction_method=`, respectively
437
+
* in the `NonlinearLeastSquaresObjective` and `LevenbergMarquardt` the `jacB=` keyword is now called `jacobian_tangent_basis=`
438
+
* in `particle_swarm` the `n=` keyword is replaced by `swarm_size=`.
439
+
*`update_stopping_criterion!` has been removed and unified with `set_parameter!`. The code adaptions are
440
+
* to set a parameter of a stopping criterion, just replace `update_stopping_criterion!(sc, :Val, v)` with `set_parameter!(sc, :Val, v)`
441
+
* to update a stopping criterion in a solver state, replace the old `update_stopping_criterion!(state, :Val, v)` tat passed down to the stopping criterion by the explicit pass down with `set_parameter!(state, :StoppingCriterion, :Val, v)`
443
442
444
443
## [0.4.69] August 3, 2024
445
444
@@ -476,7 +475,6 @@ In general this introduces a few factories, that avoid having to pass the manifo
476
475
* a few typos in the documentation
477
476
*`WolfePowellLinesearch` no longer uses `max_stepsize` with invalid point by default.
478
477
479
-
480
478
## [0.4.66] June 27, 2024
481
479
482
480
### Changed
@@ -562,7 +560,6 @@ In general this introduces a few factories, that avoid having to pass the manifo
562
560
* semantic symbols are now all nouns in upper case letters
563
561
*`:active` is changed to `:Activity`
564
562
565
-
566
563
## [0.4.60] April 10, 2024
567
564
568
565
### Added
@@ -898,7 +895,7 @@ and their documentation and testing has been extended.
898
895
### Added
899
896
900
897
* A `:Subsolver` keyword in the `debug=` keyword argument, that activates the new `DebugWhenActive``
901
-
to de/activate subsolver debug from the main solvers`DebugEvery`.
898
+
to de/activate subsolver debug from the main solvers`DebugEvery`.
902
899
903
900
## [0.4.30] August 3, 2023
904
901
@@ -987,7 +984,6 @@ and their documentation and testing has been extended.
987
984
988
985
* Switch all Requires weak dependencies to actual weak dependencies starting in Julia 1.9
989
986
990
-
991
987
## [0.4.20] May 11, 2023
992
988
993
989
### Changed
@@ -1050,9 +1046,11 @@ and their documentation and testing has been extended.
1050
1046
## [0.4.14] April 06, 2023
1051
1047
1052
1048
### Changed
1049
+
1053
1050
*`particle_swarm` now uses much more in-place operations
1054
1051
1055
1052
### Fixed
1053
+
1056
1054
*`particle_swarm` used quite a few `deepcopy(p)` commands still, which were replaced by `copy(M, p)`
1057
1055
1058
1056
## [0.4.13] April 09, 2023
@@ -1135,7 +1133,6 @@ and their documentation and testing has been extended.
1135
1133
1136
1134
* fix a type in `HestenesStiefelCoefficient`
1137
1135
1138
-
1139
1136
## [0.4.3] January 17, 2023
1140
1137
1141
1138
### Fixed
@@ -1150,7 +1147,6 @@ and their documentation and testing has been extended.
1150
1147
* the usage of `inner` in line search methods, such that they work well with
0 commit comments