JuliaManifolds / ManifoldsBase.jl

Basic interface for manifolds in Julia
https://juliamanifolds.github.io/ManifoldsBase.jl/
MIT License
83 stars 8 forks source link

Add `is_flat` function #143

Closed mateuszbaran closed 1 year ago

mateuszbaran commented 1 year ago

This is needed to correctly implement injectivity radius for tangent bundle, which is then needed to fix Manopt line search on tangent bundle.

mateuszbaran commented 1 year ago

Now I just need to figure out for every manifold we have in Manifolds.jl if it's flat.

codecov[bot] commented 1 year ago

Codecov Report

Merging #143 (b724f54) into master (c7e2a17) will increase coverage by 0.00%. The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master     #143   +/-   ##
=======================================
  Coverage   99.79%   99.79%           
=======================================
  Files          19       19           
  Lines        2452     2454    +2     
=======================================
+ Hits         2447     2449    +2     
  Misses          5        5           
Impacted Files Coverage Δ
src/ManifoldsBase.jl 99.55% <ø> (ø)
src/decorator_trait.jl 100.00% <ø> (ø)
src/DefaultManifold.jl 100.00% <100.00%> (ø)
src/PowerManifold.jl 99.62% <100.00%> (+<0.01%) :arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

mateuszbaran commented 1 year ago

It's already used and defined in https://github.com/JuliaManifolds/Manifolds.jl/pull/567 . Is there something unclear?

mateuszbaran commented 1 year ago

I just have to go once again over manifolds there because I didn't yet check if some special cases of parametrized manifolds reduce to something flat.

kellertuer commented 1 year ago

Ah, then maybe I was expecting more. But we can surely do that later when we have the need for principal curvatures (then this function would check if all of them are zero)

mateuszbaran commented 1 year ago

Maybe there will be something more in the future, who knows.