Skip to content

Commit a5b38e4

Browse files
committed
Merge branch 'master' into mbaran/gcp
# Conflicts: # Changelog.md # src/plans/conjugate_gradient_plan.jl # test/plans/test_conjugate_gradient_plan.jl # test/solvers/test_gradient_descent.jl
2 parents 13ff14a + 0e92b74 commit a5b38e4

21 files changed

Lines changed: 294 additions & 244 deletions

.JuliaFormatter.toml

Lines changed: 0 additions & 2 deletions
This file was deleted.

.github/dependabot.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ updates:
99
directory: "/" # Location of package manifests
1010
schedule:
1111
interval: "weekly"
12+
ignore:
13+
- dependency-name: "crate-ci/typos"
14+
update-types:
15+
- "version-update:semver-patch"
1216
- package-ecosystem: "julia"
1317
directories: # Location of Julia projects
1418
- "/"
@@ -21,4 +25,4 @@ updates:
2125
# Group all Julia package updates into a single PR:
2226
all-julia-packages:
2327
patterns:
24-
- "*"
28+
- "*"

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
os: [ubuntu-latest, macOS-latest, windows-latest]
1616
steps:
1717
- uses: actions/checkout@v6
18-
- uses: julia-actions/setup-julia@v2
18+
- uses: julia-actions/setup-julia@v3
1919
with:
2020
version: ${{ matrix.julia-version }}
2121
- uses: julia-actions/julia-buildpkg@v1

.github/workflows/nightly.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
os: [ubuntu-latest, macOS-latest, windows-latest]
1313
steps:
1414
- uses: actions/checkout@v6
15-
- uses: julia-actions/setup-julia@v2
15+
- uses: julia-actions/setup-julia@v3
1616
with:
1717
version: ${{ matrix.julia-version }}
1818
- uses: julia-actions/julia-buildpkg@v1

.github/workflows/spell_check.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@ jobs:
1010
- name: Checkout Actions Repository
1111
uses: actions/checkout@v6
1212
- name: Check spelling
13-
uses: crate-ci/typos@v1.45.0
13+
uses: crate-ci/typos@v1.46.0

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,4 @@ docs/src/changelog.md
2424
docs/styles/Google
2525
tutorials/LocalPreferences.toml
2626
temp
27+
docs/node_modules

.vale.ini

Lines changed: 0 additions & 51 deletions
This file was deleted.

CONTRIBUTING.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ The following is a set of guidelines to [`Manopt.jl`](https://juliamanifolds.git
1818
- [Code style](#Code-style)
1919
- [Concerning the documentation](#Concerning-the-documentation)
2020
- [Spell checking](#Spell-checking)
21+
- [On the use of AI](#On-the-use-of-AI)
22+
2123
## I just have a question
2224

2325
The developer can most easily be reached in the Julia Slack channel [#manifolds](https://julialang.slack.com/archives/CP4QF0K5Z).

Changelog.md

Lines changed: 30 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,35 @@ This is a breaking change since the JuMP extension is dropped.
1818
* `HagerZhangLinesearch` stepsize, a state-of-the-art line search for smooth objectives with cubic interpolation and adaptive Wolfe condition checking. (#554)
1919
* Stopping criteria can now be initialized using `initialize_stepsize!`, similar to solvers. (#554)
2020

21+
### Fixed
22+
23+
* Fixed `show` methods of various state and stopping criteria to properly handle both `repr` and multiline printing (#569)
24+
* Unified all `show` methods and their human readable analoga `status_summary` throughout the package (#569)
25+
* Fixed some text descriptions of a few stopping criteria.
26+
* unify naming of fields, `debugDictionary` of the debug state is now called `debug_dictionary`
27+
* the `NesterovRule` now also stores an actual `AbstractRetractionMethod` instead of implicitly always using the default one.
28+
* Line searches consistently respect `stop_when_stepsize_exceeds` keyword argument as a hard limit. (#554)
29+
* `StopWhenChangeLess` falsely claimed to indicate convergence. This is now fixed. (#554)
30+
31+
## [0.5.37] May 5, 2026
32+
33+
### Changed
34+
35+
* 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)
36+
* `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)
37+
* 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)
38+
39+
## [0.5.36] April 24, 2026
40+
41+
### Added
42+
43+
* a function `stopped_at(state)` to access the number of iterations it took a solver to stop. (#599)
44+
45+
### Fixed
46+
47+
* a small bug where `get_count(sc::StopWhenAny, Val(:Iteration))` wrongly reported it stopped before the first iteration when it actually did not yet stop. (#599)
48+
49+
## [0.5.35] April 16, 2026
2150

2251
### Changed
2352

@@ -30,13 +59,7 @@ discontinue the `JuMP` extension. (#532)
3059

3160
### Fixed
3261

33-
* Fixed `show` methods of various state and stopping criteria to properly handle both `repr` and multiline printing (#569)
34-
* Unified all `show` methods and their human readable analoga `status_summary` throughout the package (#569)
35-
* Fixed some text descriptions of a few stopping criteria.
36-
* unify naming of fields, `debugDictionary` of the debug state is now called `debug_dictionary`
37-
* the `NesterovRule` now also stores an actual `AbstractRetractionMethod` instead of implicitly always using the default one.
38-
* Line searches consistently respect `stop_when_stepsize_exceeds` keyword argument as a hard limit. (#554)
39-
* `StopWhenChangeLess` falsely claimed to indicate convergence. This is now fixed. (#554)
62+
* The default line search in `conjugate_gradient_descent` is now `ArmijoLinesearchStepsize` instead of `ArmijoLinesearch`, which makes it work well with custom point types.
4063

4164
## [0.5.34] March 3, 2026
4265

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "Manopt"
22
uuid = "0fc0a36d-df90-57f3-8f93-d78a9fc72bb5"
3-
version = "0.5.34"
3+
version = "0.5.37"
44
authors = [{family-names = "Bergmann", given-names = "Ronny", alias = "kellertuer", city = "Trondheim", affiliation = "Norwegian University of Science and Technology", country = "NO", email = "manopt@ronnybergmann.net", orcid = "https://orcid.org/0000-0001-8342-7218", website = "https://ronnybergmann.net"}]
55

66
[workspace]

0 commit comments

Comments
 (0)