JuliaManifolds / ManifoldMeasures.jl

https://juliamanifolds.github.io/ManifoldMeasures.jl/dev/
MIT License
16 stars 3 forks source link

Random point / random tangent - and a first registered version? #21

Open kellertuer opened 2 years ago

kellertuer commented 2 years ago

I would like to keep track of one thing – the main thing I am actually interested here – and ask whether I can help somewhere on that.

In the long run I would like to remove this file

https://github.com/JuliaManifolds/Manopt.jl/blob/master/src/helpers/random.jl

and make Manopt depend on ManifoldMeasures. The file provides random points and random tangent vector functions.

So what is missing to get to functions like these? Is there already a plan for an interface? Even further – is there a roadmap towards a first registered package?

I am not an expert on measures for sure, but if I can help somewhere, let me know (also concerning testing or documentation).

mateuszbaran commented 2 years ago

I'm not sure how much more work ManifoldMeasure actually needs but I was also thinking about moving random point and tangent vector generation out of Manifolds.jl too.

sethaxen commented 2 years ago

This package is still pretty barebones. I started by implementing some common measures from directional/orientational statistics to get a sense for the API before working on the design of some generic measures (like Projected, etc.). We could always implement quick-and-dirty versions of the ones already in Manifolds, make a release, and then hone the designs in future (likely breaking) releases.

So what is missing to get to functions like these? Is there already a plan for an interface? Even further – is there a roadmap towards a first registered package?

I think it makes sense for us to define an API function like default_measure, but we might want to introduce a few such functions or traits for at least the following properties that a user might want:

I probably won't be able to make progress on this until late December or the new year. And I need to start by seeing what changes have been made to Manifolds in the last few months.

kellertuer commented 2 years ago

Don't worry about time, I just want to see what might be missing :) Thanks for the detailed information - the traits idea sounds good.

In Manifolds we removed ProductRepr and ProductArray but the rest were just extensions (for example Differentiation is now refactored and works smoothly).