-
Notifications
You must be signed in to change notification settings - Fork 12
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
More Spaces #130
Comments
Ideally, nothing in DomainSets assumes an euclidean space and both packages Just Work (TM) together. Practice might be different, though :-) Do you have an idea of what is missing or what should be added to do useful things with manifolds and domains? If there are any use cases then, yes, I'd like to hear about them. |
@sethaxen will know substantially more about this than me, I think. At the moment, I'm trying to get the maintainers for all of these conceptually-similar packages together in one room. In short, I'd like a single interface for specifying the domains of functions (or supports of distributions), including functions/distributions defined on non-Euclidean spaces, so we can easily define operators that map elements of one space onto another. Especially useful would be transformations to map arbitrary sets to R^n. |
I don't really have the bandwidth to think about this right now, but I'll tag the other Manifolds devs @kellertuer and @mateuszbaran |
If I can help somewhere, let me know, though this semester I have a bit of a workload. For this package I am not 100% what would be required, but probably it should be enough to add not Manifolds.jl, but ManifoldsBase.jl as a dependency (idea: then it works with all manifolds (tm)). Beyond that, for distributions, that might be more complicated for general manifolds – but sure ig one or two manifolds are already (implicitly, not explicitly from Manifolds.jl) used, then one could use the Manifolds.jl-manifold to specify the domain. edit: I just scrolled through the edit real quick. The |
Thanks for the answers. It's a small world @kellertuer, I have a feeling I might learn a bit more about Manifolds.jl in the next couple of months ;-) Hopefully that gives me some inspiration. A few general comments:
|
Oh, indeed – HI Dean! I did not klick on your profile and did not recognise you from the username ;) Yes, sometimes the world is small. We actually also overload And concerning the |
Alright, this calls for some experimentation, time permitting. If there is some concrete scenario of an application that would benefit from ensuring these packages work together, and especially if it improves DomainSets, then I'd be happy work on it. |
The experiment would be as follows: We could define a |
This is an interesting idea. We do have |
@daanhb are you now the Dean? 😀 "Dean Daan" I like it! |
DomainSets.jl is part of JuliaApproximation, so the main intended use case is the approximation of functions and solutions to equations. It helps to describe domains and be able to map them, so that one can define basis functions once and use them in novel ways. Integrals are convenient to define projections and compute function norms. But I'm sure people elsewhere use the package with other goals and that's fine - we just make the functionality available and try to make it useful. |
I see, then at least it would be useful to extend both DomainSets.jl and Manifolds.jl to work in bases constructed from eigenvectors of Laplace-Beltrami operator or something similar. I think it could be an interesting project. |
Can you clarify what you mean by this? Basically, what I'm looking for is an easy interface that allows for computing numerical integrals, including integrals on noneuclidean domains. (Probabilistic or sampling problems, like working with probability distributions, are a special case). Typically, this will involve applying a transformation that maps these domains to R^n. |
Note that mapping to R^n is often quite far from the best you can do to integrate over a manifold: https://www-user.tu-chemnitz.de/~potts/workgroup/graef/quadrature/index.php.en . |
I wouldn't be surprised by that, but most of my use cases aren't integrating over hyperspheres (and most of them involve far more dimensions than shown here) 😅 |
High dimensionality shouldn't be an issue, points and weights could be recomputed. What kind of manifolds would you be interested in? |
Typically, Bayesian models. |
Intersection of Bayesian models and manifolds is a fairly broad subject with many tools like RMHMC or Riemannian symplectic integrators 😅 . I think the discussion would be more productive if it was aimed at solving some specific problem? Things like Stiefel-valued random variables require different tools than Euclidean RVs with constraints specified by user-defined equations. |
Hi, would you be interested in extending this package to cover non-euclidean spaces by working with manifolds from Manifolds.jl? The use case for this is Distributions.jl, which has lots of distributions with non-euclidean support--most common are the probability simplex and constrained matrices.
The text was updated successfully, but these errors were encountered: