Skip to content
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

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

Open
kellertuer opened this issue Dec 1, 2021 · 3 comments
Open

Comments

@kellertuer
Copy link
Member

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
Copy link
Member

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
Copy link
Member

sethaxen commented Dec 3, 2021

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:

  • probability measure (i.e. has finite mass)
  • sampleable (i.e. has an implemented rand function)
  • has an implemented logdensity function
  • has a normalized implemented logdensity function (this one I need to think about more carefully wrt the base measure)

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
Copy link
Member Author

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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants