Skip to content

Commit

Permalink
Even faster storage handling (#212)
Browse files Browse the repository at this point in the history
* Even faster storage handling
* some general improvements and docs
* unify constructors for CG coefficients
* new StoreStateAction constructor
* storage tests
* Set p_init and X_init as keyword arguments.
* Adapt RecordChange.
* Update Changelog.

---------

Co-authored-by: Ronny Bergmann <[email protected]>
  • Loading branch information
mateuszbaran and kellertuer authored Feb 21, 2023
1 parent abedeed commit 64075b4
Show file tree
Hide file tree
Showing 28 changed files with 901 additions and 326 deletions.
85 changes: 85 additions & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# Changelog

All notable Changes to the Julia package `Manopt.jl` will be documented in this file. The file was started with Version `0.4`.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.4.8] - 21/02/2023

### Added

* a `status_summary` that displays the main parameters within several structures of Manopt,
most prominently a solver state

### Changed

* Improved storage performance by introducing separate named tuples for points and vectors
* changed the `show` methods of `AbstractManoptSolverState`s to display their `state_summary
* Move tutorials to be rendered with Quarto into the documentation.

## [0.4.7] - 14/02/2023

### Changed

* Bump [compat] entry of ManifoldDiff to also include 0.3

## [0.4.6] - 03/02/2023

### Fixed

* Fixed a few stopping criteria even indicated to stop before the algorithm started.

## [0.4.5] - 24/01/2023

### Changed

* the new default functions that include `p` are used where possible
* a first step towards faster storage handling

## [0.4.4] - 20/01/2023

### Added

* Introduce `ConjugateGradientBealeRestart` to allow CG restarts using Beale‘s rule

### Fixed

* fix a type in `HestenesStiefelCoefficient`


## [0.4.3] - 17/01/2023

### Fixed

* the CG coefficient `β` can now be complex
* fix a bug in `grad_distance`

## [0.4.2] - 16/01/2023

### Changed

* the usage of `inner` in linesearch methods, such that they work well with complex manifolds as well


## [0.4.1] - 15/01/2023

### Fixed

* a `max_stepsize` per manifold to avoid leaving the injectivity radius, which it also defaults to

## {0.4.0] - 10/01/2023

### Added

* Dependency on `ManifoldDiff.jl` and a start of moving actual derivatives, differentials, and gradients there.
* `AbstractManifoldObjective` to store the objective within the `AbstractManoptProblem`
* Introduce a `CostGrad` structure to store a function that computes the cost and gradient within one function.

### Changed

* `AbstractManoptProblem` replaces `Problem`
* the problem now contains a
* `AbstractManoptSolverState` replaces `Options`
* `random_point(M)` is replaced by `rand(M)` from `ManifoldsBase.jl
* `random_tangent(M, p)` is replaced by `rand(M; vector_at=p)`
4 changes: 2 additions & 2 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "Manopt"
uuid = "0fc0a36d-df90-57f3-8f93-d78a9fc72bb5"
authors = ["Ronny Bergmann <[email protected]>"]
version = "0.4.7"
version = "0.4.8"

[deps]
ColorSchemes = "35d6a980-a343-548e-a6ea-1d62b119f2f4"
Expand All @@ -26,7 +26,7 @@ ColorSchemes = "3.5.0"
ColorTypes = "0.9.1, 0.10, 0.11"
Colors = "0.11.2, 0.12"
DataStructures = "0.17, 0.18"
ManifoldDiff = "0.2.1, 0.3"
ManifoldDiff = "0.2, 0.3"
Manifolds = "0.8.43"
ManifoldsBase = "0.13.30, 0.14"
Requires = "0.5, 1"
Expand Down
2 changes: 1 addition & 1 deletion docs/Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@ Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
BenchmarkTools = "1.3"
Documenter = "0.27"
Manifolds = "0.8.27"
ManifoldsBase = "0.13"
ManifoldsBase = "0.13, 0.14"
2 changes: 2 additions & 0 deletions src/Manopt.jl
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,8 @@ using ManifoldsBase:
default_retraction_method,
default_vector_transport_method,
distance,
embed_project,
embed_project!,
exp,
exp!,
geodesic,
Expand Down
Loading

2 comments on commit 64075b4

@kellertuer
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JuliaRegistrator
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Registration pull request created: JuliaRegistries/General/78204

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:

git tag -a v0.4.8 -m "<description of version>" 64075b4f97c1c5c4de5c16d26d985065fcd61c21
git push origin v0.4.8

Please sign in to comment.