-
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
Doc improvements for apply_diff_group
#671
Doc improvements for apply_diff_group
#671
Conversation
More details; fix some typo; use "tangent" instead of "differential".
Codecov Report
@@ Coverage Diff @@
## master #671 +/- ##
==========================================
+ Coverage 99.36% 99.40% +0.03%
==========================================
Files 108 108
Lines 10597 10597
==========================================
+ Hits 10530 10534 +4
+ Misses 67 63 -4
... and 2 files with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
The action is of element ``a ∈ \mathcal G`` on a point ``p ∈ \mathcal M``, | ||
and is denoted ``τ^p(a)``. |
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.
While g
or now a
was not listed in our notation at https://juliamanifolds.github.io/Manifolds.jl/latest/misc/notation.htmlm the group action is.
Do we have to change the notation? If so, we should do that throughout all of the package. Just fixing something a bit too locally already lead to #669, let's be more careful. Could we maybe continue to use τ_p
?
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.
The notation
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.
Hm, I think I have to stop here – this was not my area when it was introduced and by now I am just totally lost.
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.
Ah we indeed used both, sorry, we should unify this to what is mentioned in the documentation
convention, the differential transforms vectors | ||
The action is of element ``a ∈ \mathcal G`` on a point ``p ∈ \mathcal M``, | ||
and is denoted ``τ^p(a)``. | ||
The tangent map ``T τ^p`` thus transforms a vector ``X ∈ T_a \mathcal G`` |
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.
Also T
should be added to the notation then. But I also do not yet understand what this new notation is about “transforms” is a bit vague for me.
Also T
is used in a lot of places already. Is this a usual notation? Can we maybe help the reader by providing a reference?
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.
The differential d
has another meaning and is not defined when the codomain is a general manifold, as far as I know. The codomain must be a group, and then there is a "left" and a "right" differential, unless the group is commutative.
For "transforms", I kept the original text. "map" is perhaps more adequate?
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.
Oh I did not think of the differential, to me that reads more like a push forward?
Concerning T itself – if that is added to the notation it is fine with me to keep that notation, sure, but we should avoid having several notations “for the same thing” – that is also why we started the notations page – to keep a bit track of that (for us even).
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.
Whether we write transforms, or maps – I still have no clue what that refers to :/
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.
("Jacobian" is also used a lot amongst engineers, but it usually refers to the matrix representation of the tangent map when basis are chosen, a useful distinction for users of Manifolds.jl
, since apply_diff_group
really computes the tangent map, not the matrix.)
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.
By the way, since we are already discussing this, do you know any good sources that discuss higher differentials/derivatives/tangent maps/push-whatevers? Some people formalize them using higher tangent bundles, while others use jet bundles which are quite hard to understand to me. So, when clearing this topic, we could do it with such concepts in mind I think.
No, not really... Both higher tangent bundles and jet bundles give me headaches. 😃
A reference on jet bundles is the impenetrable (to me) book by Peter Michor.
I think it is more helpful to start from a particular application involving higher order derivatives (perhaps related to something that can be computed with Manifolds.jl
) and take it from there.
For instance, it is fairly common to need the Hessian in optimisation, but then you need some Riemannian structure, and all becomes clearer.
(Digression: why are higher tangent bundle so complicated?
If you lift a curve once, it can "fill" the first tangent bundle. That's easy. That is, a point of
Now, if you lift a curve twice (take the second order derivative), it will not fill up the second order bundle. In other words: the second order bundle has hidden canonical structure. It just gets worse with higher order bundles, I guess.
What are the implications for computations? I don't know.)
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.
Regarding application, I was considering what kind of higher order differentiation would be the right formalism for second order rigid body dynamics (i.e. rigid body under constant linear and angular acceleration). So far nothing I've somewhat understood feels right, and I'm not quite happy that string theory appears on the first page of Google search for most related queries I make 😞 .
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.
I think in mechanics, the natural space to consider is the cotangent bundle
For a rigid body, the space of configuration would be
I'm not too sure about all the details here, but a decent reference is Introduction to Mechanics and Symmetry.
I think it would be pretty neat to work out such an example in Manifolds.jl
with cotangent bundle and all, and see how it goes! I'd be happy to help in any way I can.
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.
Yes, that was one option I was considering; what I don't like about it is that the iterated tangent bundle has too many degrees of freedom. A force in
I will take a look at the book you linked, maybe there is something useful 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.
Back to the notation. I think we should (a) carefully introduce non-standard notation and if so work thoroughly with references (we have DocumenterCitations
now) – and if we introduce / adapt some notation, we should do that in all documentation, not just in a single doc string.
We can definitely rethink our notation but it needs to be carefully considered, and the current one is not bad enough in my opinion that we would have to rush any improvements. We can definitely merge the first PR though. I'm currently considering introduction of the (1,r)-velocity formalism from Kolar's book for higher order rigid body dynamics. Maybe it will provide some insights related to our considerations about differentials. |
No description provided.