-
Notifications
You must be signed in to change notification settings - Fork 56
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
[WIP] Early sketch of point-valued distributions #11
Conversation
Since the is not necessarily a unique retraction and for some manifolds its cheap enough to do exp – could we find a way to make the retraction an optional parameter? Manopt and Manopt.jl usually define a default retraction ( I am not completely sure how to provide that in a hopefully general but efficient way, but it would be nice to have. |
Anyway, it was previously suggested that the manifold object should store the retraction type to be used, so this would solve this issue. |
As I understand it, a retraction doesn't require a concept of nearness. It's simply a continuous map from the space M to its subspace E, s.t. for x in E, the map is the identity map. One can easily imagine a map from Euclidean space to the nearest point of an embedded manifold (assuming Euclidean metric) that is not smooth, while one can still formulate a retraction that isn't distance-minimizing that is smooth. One can probably formulate many such retractions, so I don't think the retraction should be contained within the manifold. I wonder if the generalization of this is simply an induced distribution. i.e., if one provides a function that maps points on the manifold on which a distribution is defined (for |
Yes, of course, a retraction doesn't have to return the closest point -- it's just my intuition for what it's usually supposed to do. At least that's what I usually do. Anyway, retraction can just as well be stored within the distribution, and we also need to have a type for embedded manifolds. |
A manifold type? The issue there is that every Riemannian manifold can be embedded in some Rn, though we don't always know how to embed it, so the type hierarchy would introduce an arbitrary distinction. Perhaps we could have a type for an embedding that enables us to provide any special functionality we want to get from the embedding, such as a distance-minimizing map. |
Actually, the beginnings of this interface is provided by #12. Namely, equipping a manifold with a Euclidean metric is interpreted as equipping it with the ambient metric that comes from the embedding in some Rn. Since that embedding isn't known in general, the ambient metric isn't known unless one implements that functionality, which could include a distance-minimizing retraction. |
I'd like to think of a retraction R_x as a smooth map from TxM to M such that R_x(0_x) = x and DR_x(0_x) = Id – i.e. its a(t least a) first order approximation to the exponential map. |
Most manifolds I work with are actually represented by isometric embedding in some R^n (quotient manifolds are probably the most notable exception but I still haven't figured out how to get horizontal and vertical parts of tangent vectors in a generic way). I think it would be OK to start with some distributions for such manifolds, the interface can be easily extended in the future.
How would you call that function: https://github.com/JuliaNLSolvers/ManifoldProjections.jl/blob/4068a8c53ab8a330c4034dd97af84ef1f9e60f3c/src/ManifoldProjections.jl#L23 ? |
Just from Line 23 without documentation: Nothing. |
Well, the point is, I still don't have a good name for functions f: N->M such that f(g(x))=x (where g: M->N) is an embedding of M in N). |
If you mean the two functions such that for example for M=S2 and N=R3 |
So to be consistent with Can we formally document what these terms ( Also, to my earlier point. It seems that any map from the domain of a distribution to the manifold induces a distribution on the manifold. What is special about the |
I think this PR is now in a fairly decent shape and shows how new distributions would be implemented. I've changed naming from retraction to projection and added tangent space-valued distributions.
|
Do you have any objections to merging this? I'd prefer to not have to keep merging master to this branch. |
My only objection, and it's not important, is that the function names Otherwise, I'm fine with merging. |
Good suggestions, I'll change the names and merge. |
I ran the tests and that's fine, so with the renaming I am also in favour of not keeping branches open for too long – so yes please merge. |
I've started some work on manifold-valued distributions, extending the Distributions.jl API.
First example of a sphere-valued distributions:
This part is aimed at embedded manifolds.
Ref. #3 , JuliaStats/Distributions.jl#224