-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce Weingarten
and riemannian_Hessian
for a few manifolds
#644
Introduce Weingarten
and riemannian_Hessian
for a few manifolds
#644
Conversation
…garten! for the Sphere (no special riemannian_Hessian required).
Codecov Report
@@ Coverage Diff @@
## master #644 +/- ##
==========================================
+ Coverage 99.20% 99.22% +0.01%
==========================================
Files 106 106
Lines 10215 10430 +215
==========================================
+ Hits 10134 10349 +215
Misses 81 81
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
I fear I am getting to my limits concerning reverse engineering. For example on Stiefel we now have I do not see why So what do we best do here? |
This paper has a few formulas: https://arxiv.org/pdf/2009.10159v2.pdf (for example Stiefel is (5.6) and you can probably derive Grassmann from (6.6), and SPD is (7.3)). |
At first glance even better – I also understand what the paper writes :) |
…zy to adapt Vandereyckens formula to our notation.
I think I now understood most from my list, wrote to Nguyen about a clarification whether I understood Hyperbolic correctly. Documentation (correction typos) and Testing still missing |
…hen `riemannian_Hessian` “just” projects.
….com:JuliaManifolds/Manifolds.jl into kellertuer/weingarten-and-Hessian-conversion
Where the dimensions were correct, I used symmetrisation in place of |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few small comments.
Co-authored-by: Mateusz Baran <mateuszbaran89@gmail.com>
….com:JuliaManifolds/Manifolds.jl into kellertuer/weingarten-and-Hessian-conversion
A small possible TODO for later: generalize https://github.com/JuliaManifolds/ManifoldDiff.jl/pull/30/files#diff-9a324d63614dd422d4d2b47ac0937ea275997adba0771b8c467ecc9231cb9f41R365-R369 to Nguyen's (3.11). I don't think we have all the necessary functions though. |
I am also not so sure it is that easy, since (3.11) is a bit more involved. But sure having that generically would be quite cool. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 👍
# Conflicts: # docs/src/manifolds/probabilitysimplex.md # docs/src/misc/notation.md # src/Manifolds.jl # src/manifolds/Euclidean.jl # src/manifolds/HyperbolicHyperboloid.jl # src/manifolds/PowerManifold.jl # src/manifolds/ProductManifold.jl # src/manifolds/Sphere.jl # src/manifolds/SymmetricPositiveDefiniteAffineInvariant.jl # test/manifolds/euclidean.jl # test/manifolds/hyperbolic.jl # test/manifolds/positive_numbers.jl # test/manifolds/product_manifold.jl # test/manifolds/rotations.jl # test/manifolds/sphere.jl # test/manifolds/symmetric_positive_definite.jl
….com:JuliaManifolds/Manifolds.jl into kellertuer/weingarten-and-Hessian-conversion
This will allow for the same functionality that
ehess2rhess
does in Manopt.This also introduces DocumenterCitations at least for any new thing we cite.
It also requires JuliaManifolds/ManifoldDiff.jl#30 to be merged
Weingarten!
implemented,riemannian_Hessian!
not necessary, since with Weingarten we have the efficient variant already)riemannian_Hessian!
) from Nguyen (Eq. 7.3)Weingarten!
implemented,riemannian_Hessian!
Eq. (5.6) Nguyen)Weingarten!
implemented,riemannian_Hessian!
the same as Stiefel, just that tangent vectors are in the Lie algebra)riemannian_Hessian!
, Nguyen, Eq. 6.6)riemannian_Hessian!
, Vandereycken 2013, though I did not adapt his longish formula but merely adopted his code)riemannian_Hessian!
, adapting Remark 4.1 Nguyen hopefully correctly)ehess2rhess
functions in Manoptreferences.bib
.