-
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
retract_project not implemented for ProductManifold #659
Comments
This should be resolved once JuliaManifolds/ManifoldsBase.jl#169 is merged and the product manifold. Then the product manifold is already defined in I am indeed a bit surprised that this error appears. Without context / versions it's also not so easy to comment, but I had hoped we passed all retractions on (to each factor of the product already), but maybe we missed a retraction type until now (and I have not yet run into this). |
It worked by with the default retraction and I got the error when getting |
Ah, no it is not resolved by the linked PR, since the problem lies somewhere else. Let me illustrate. If you do using Manifolds
M = Sphere(2) × ℝ^3 (approximating your idea) you get a
Now note that the default retraction looks like (we could surely improve on the printing) julia> default_retraction_method(M)
ProductRetraction{Tuple{ExponentialRetraction, ExponentialRetraction}}((ExponentialRetraction(), ExponentialRetraction())) Since on Product manifolds you always have to provide a
which I already allowed myself to adapt in the second component, so this does the projection based retraction on the sphere and still good-old We currently do not have the “automatism” to map a retraction type (like You are probably correct that besides above show method also the docs of edit: My confusion came from the fact that I used much more often the |
I think we could just implement the projection retraction on product manifold, this sounds fine. |
But then I would vote for passing down any other retraction as well (i.e. like for power)? |
IIRC there were some ambiguity issues that make passing arbitrary retractions on ProductManifold hard to do right. Passing a few particular ones should be fine though. |
Ah, right, though I do not remember whether that stayed after the 3-layer structure. We can just try when first merging the product manifold PR in ManifoldsBase and then checking on the retraction-restructure PR :) |
This now already works on ManifoldsBase main branch (i.e. that |
The text was updated successfully, but these errors were encountered: