Manifolds.jl icon indicating copy to clipboard operation
Manifolds.jl copied to clipboard

Use GeodesicInterpolationWithinRadius for Circle mean

Open sethaxen opened this issue 2 years ago • 7 comments

  • Replace default extrinsic mean with interpolation within radius
  • Update docstring
  • Increment patch number

sethaxen avatar Apr 28 '23 07:04 sethaxen

Codecov Report

Merging #594 (3cf54b5) into master (8ccd5d8) will decrease coverage by 92.92%. The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master    #594       +/-   ##
==========================================
- Coverage   98.90%   5.98%   -92.92%     
==========================================
  Files          98      98               
  Lines        9897    9701      -196     
==========================================
- Hits         9789     581     -9208     
- Misses        108    9120     +9012     
Impacted Files Coverage Δ
src/manifolds/Circle.jl 0.00% <0.00%> (-100.00%) :arrow_down:
src/statistics.jl 0.00% <ø> (-98.87%) :arrow_down:

... and 92 files with indirect coverage changes

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

codecov[bot] avatar Apr 28 '23 10:04 codecov[bot]

mean doesn't like accepting a vector of numbers and instead wants a vector of vectors (see e.g. https://github.com/JuliaManifolds/Manifolds.jl/actions/runs/4829265624/jobs/8604094066?pr=594#step:5:771). Do we have a standard workaround for this for the Circle?

sethaxen avatar Apr 28 '23 11:04 sethaxen

Manopt.jl is currently in the process of adding such workaround: https://github.com/JuliaManifolds/Manopt.jl/pull/236 . Essentially it's wrapping points in one-element vectors. It's not ideal for performance, especially in the case of mean, but it's the easiest solution.

mateuszbaran avatar Apr 28 '23 11:04 mateuszbaran

What I basically do is for any p::Number I switch the point to q=[p], then Circle still works fine. Might be that in PositiveNumbers not all functions work with one-element-vectors yet, will maybe do a PR for that later.

The only thing that is a bit tricky somewhen is that this also requires a small “post-processing” i.e. after computing the (one-vector) mean x you still have to return x[].

kellertuer avatar Apr 28 '23 12:04 kellertuer

HI @sethaxen – do you still plan to continue this? (No pressure, just trying to keep an eye on what PRs we still have open here)

kellertuer avatar Jan 03 '24 14:01 kellertuer

As if right now, yes, but it's unclear when I will finish it. I have a private lightweight repo efficiently implementing various intrinsic circular statistics that I will eventually finish, and the plan is to then add that as a dependency here to deliver this functionality.

If the plan changes, I'll post here.

sethaxen avatar Jan 03 '24 15:01 sethaxen

That sounds great! Looking forward to hearing from that :)

kellertuer avatar Jan 03 '24 15:01 kellertuer