-
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
Extend support for SpecialEuclidean, fiber bundles, optionally static sizes #642
Conversation
Codecov Report
@@ Coverage Diff @@
## master #642 +/- ##
==========================================
- Coverage 99.22% 94.68% -4.54%
==========================================
Files 106 108 +2
Lines 10488 10562 +74
==========================================
- Hits 10407 10001 -406
- Misses 81 561 +480
... and 6 files with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
The last commit partially resolves #625 (I haven't updated all manifolds yet). |
Since this one is breaking, could we base that on a breaking release of ManifoldsBase as well? Would that be a good reason to do that? |
Resolving the exp/retract asymmetry would require a breaking release of ManifoldsBase.jl but I want to do things that don't require breaking Base first. |
Ok, I was just thinking, since we are breaking something here, why not at the same time break ManifoldsBase as well, but that was also just an idea. |
Documentation works now but normal tests seem to run out of memory on CI. I think we can cut some power or product manifold tests to help with that. |
Sure, I mean some time after the TR rework I want to get back to minimising the tests anyways. So feel free to minimise the tests (as long as code coverage remains). |
Tests are passing again and coverage is better than before 🎉 |
We have warnings about group.md being too big, so I've split actions to a separate page. Even after doing that, we still have a warning:
so in the future we may want to split it even further. |
Yes we should probably split that – or rethink even the idea of doing a separate Lie groups package (i.e. define the manifolds parts here and the group “extensions” to said manifolds over there). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall this looks fine, just a few small remarks and three further points to discussion
- I feel the
FiberBundleProductRetraction
could have two retractions contained, one for the manifold part, one for the fiber part? - the name
direction_and_side
sounds a bit strange - For the new documentation like
it might be a bit hard to read in the docs compared to the old
M::MetricManifold{ℝ,<:Stiefel{<:Any,ℝ},<:StiefelSubmersionMetric}
n,k
in place of the<:Any
I feel, since then,k
transported more information as well.
Sure, that makes sense. Do you prefer to have it in this PR or could it be left for later?
It does but that function is just too useful and I don't have a better idea.
I think the best way to handle it is adding explanation about numbers like |
Co-authored-by: Ronny Bergmann <[email protected]>
If it has a reasonable behaviour by now (does it map to both defaults by now?) then this is fine here but the more general case where one can even set them would be a reasonable extension for a next PR then.
I do see that this is useful, I just feel the name is a bit strange, since it sounds like it would do two things at the same time.
One could – if |
Currently it's only implemented for vector bundles and uses
It kind of does two things 😅: returns both direction and side of group operation action, as a two-element tuple.
Yes, something like that. If you had an idea for a copy-paste'able phrase I could quickly add, I could add it. Otherwise I'd prefer to leave that for later. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My main comment will be done in a future PR that is fine, for the direction and side I do not have a better idea and for the docs – maybe we can check carefully that they do not confuse users by now, but then we could also do documentation improvements in a next PR. So let's say this is fine now to not hold our ecosystem in an unstable state for too long (Manopt.jl will be next but hopefully an easy bump).
Great! I will wait for CI and merge it then. |
One of the things I'm currently working on is rigid body dynamics using SE(n). I intend to add a bunch of missing features and a tutorial in this PR. The tutorial should potentially supersede #366 .
EDIT:
TODO:
switch_direction
? #637 new fix.LinearAffineMetric
.