Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 14 additions & 18 deletions Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
* Change the construction of the product manifold in `interior_point_newton` from `×` to `ProductManifold`, so that the algorithm also work on Product manifolds `M`, where it now correctly wraps `M` instead of extending it.
* unifies the doc strings for constrained problems
* fixes a few typos in the doc strings of matrix update formulae within the quasi-Newton and CG solver.
* covers one last line in `proximal_gradient_plan`

## [0.5.27] November 11, 2025

Expand Down Expand Up @@ -79,6 +80,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
* 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.

### Fixed

* the typo in the name `AdaptiveRgularizationWithCubicsModelObjective` is fixed to `AdaptiveRegularizationWithCubicsModelObjective`.

## [0.5.21] September 5, 2025
Expand All @@ -99,7 +101,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
* a `restart_condition` functor to `conjugate_gradient_descent`, which allows the algorithm to restart if the search direction is sub-par (#492)
* two literature references


### Changed

* remodelled the docs for the extensions a bit, added `JuMP` to the DocumenterInterlinks.
Expand Down Expand Up @@ -219,7 +220,6 @@ present; they were changed to `retact_fused!`.
* fixes a scaling error in quasi newton
* Fixes printing of JuMP models containg Manopt solver.


## [0.5.12] April 13, 2025

### Added
Expand All @@ -229,7 +229,6 @@ present; they were changed to `retact_fused!`.
* Introduce a `ManifoldConstrainedSetObjective`
* Introduce a `projected_gradient_method`


## [0.5.11] April 8, 2025

### Added
Expand Down Expand Up @@ -331,7 +330,7 @@ present; they were changed to `retact_fused!`.

### Changed

* slightly improves the test for the ` ExponentialFamilyProjection` text on the about page.
* slightly improves the test for the `ExponentialFamilyProjection` text on the about page.

### Added

Expand Down Expand Up @@ -415,6 +414,7 @@ In general this introduces a few factories, that avoid having to pass the manifo
* `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
* `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
* 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`.

### Fixed

* the `AverageGradientRule` filled its internal vector of gradients wrongly or mixed it up in parallel transport. This is now fixed.
Expand All @@ -428,14 +428,13 @@ In general this introduces a few factories, that avoid having to pass the manifo
* all deprecated keyword arguments and a few function signatures were removed:
* `get_equality_constraints`, `get_equality_constraints!`, `get_inequality_constraints`, `get_inequality_constraints!` are removed. Use their singular forms and set the index to `:` instead.
* `StopWhenChangeLess(ε)` is removed, use ``StopWhenChangeLess(M, ε)` instead to fill for example the retraction properly used to determine the change
* In the `WolfePowellLinesearch` and `WolfeBinaryLinesearch`the `linesearch_stopsize=` keyword is replaced by `stop_when_stepsize_less=`
* `DebugChange` and `RecordChange` had a `manifold=` and a `invretr` keyword that were replaced by the first positional argument `M` and `inverse_retraction_method=`, respectively
* in the `NonlinearLeastSquaresObjective` and `LevenbergMarquardt` the `jacB=` keyword is now called `jacobian_tangent_basis=`
* in `particle_swarm` the `n=` keyword is replaced by `swarm_size=`.
* `update_stopping_criterion!` has been removed and unified with `set_parameter!`. The code adaptions are
* to set a parameter of a stopping criterion, just replace `update_stopping_criterion!(sc, :Val, v)` with `set_parameter!(sc, :Val, v)`
* 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)`

* In the `WolfePowellLinesearch` and `WolfeBinaryLinesearch`the `linesearch_stopsize=` keyword is replaced by `stop_when_stepsize_less=`
* `DebugChange` and `RecordChange` had a `manifold=` and a `invretr` keyword that were replaced by the first positional argument `M` and `inverse_retraction_method=`, respectively
* in the `NonlinearLeastSquaresObjective` and `LevenbergMarquardt` the `jacB=` keyword is now called `jacobian_tangent_basis=`
* in `particle_swarm` the `n=` keyword is replaced by `swarm_size=`.
* `update_stopping_criterion!` has been removed and unified with `set_parameter!`. The code adaptions are
* to set a parameter of a stopping criterion, just replace `update_stopping_criterion!(sc, :Val, v)` with `set_parameter!(sc, :Val, v)`
* 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)`

## [0.4.69] August 3, 2024

Expand Down Expand Up @@ -472,7 +471,6 @@ In general this introduces a few factories, that avoid having to pass the manifo
* a few typos in the documentation
* `WolfePowellLinesearch` no longer uses `max_stepsize` with invalid point by default.


## [0.4.66] June 27, 2024

### Changed
Expand Down Expand Up @@ -558,7 +556,6 @@ In general this introduces a few factories, that avoid having to pass the manifo
* semantic symbols are now all nouns in upper case letters
* `:active` is changed to `:Activity`


## [0.4.60] April 10, 2024

### Added
Expand Down Expand Up @@ -894,7 +891,7 @@ and their documentation and testing has been extended.
### Added

* A `:Subsolver` keyword in the `debug=` keyword argument, that activates the new `DebugWhenActive``
to de/activate subsolver debug from the main solvers `DebugEvery`.
to de/activate subsolver debug from the main solvers`DebugEvery`.

## [0.4.30] August 3, 2023

Expand Down Expand Up @@ -983,7 +980,6 @@ and their documentation and testing has been extended.

* Switch all Requires weak dependencies to actual weak dependencies starting in Julia 1.9


## [0.4.20] May 11, 2023

### Changed
Expand Down Expand Up @@ -1046,9 +1042,11 @@ and their documentation and testing has been extended.
## [0.4.14] April 06, 2023

### Changed

* `particle_swarm` now uses much more in-place operations

### Fixed

* `particle_swarm` used quite a few `deepcopy(p)` commands still, which were replaced by `copy(M, p)`

## [0.4.13] April 09, 2023
Expand Down Expand Up @@ -1131,7 +1129,6 @@ and their documentation and testing has been extended.

* fix a type in `HestenesStiefelCoefficient`


## [0.4.3] January 17, 2023

### Fixed
Expand All @@ -1146,7 +1143,6 @@ and their documentation and testing has been extended.
* the usage of `inner` in line search methods, such that they work well with
complex manifolds as well


## [0.4.1] January 15, 2023

### Fixed
Expand Down
1 change: 1 addition & 0 deletions test/solvers/test_proximal_gradient_method.jl
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ using Manopt, Manifolds, Test, ManifoldDiff, ManoptTestSuite
@test st.warm_start_factor == 1.0
@test st.last_stepsize == 1.0
@test get_initial_stepsize(st) == 1.0
@test st(mp, pgms, 1) == 1.0
pr = prox_h(M, 1.0, p0)
@test get_proximal_map(M, ob, 1.0, p0) == pr
@test_throws DomainError Manopt.ProximalGradientMethodBacktrackingStepsize(
Expand Down
Loading