Closed egourgoulhon closed 4 years ago
Commit: 2f3ac09
New commits:
2f3ac09 | 30318: Dot and cross products along a differentiable map |
Thank you for this. The code looks good. One minor doctest tweak:
-sage: [[u.dot(v).expr() for v in FS] for u in FS]
+sage: matrix([[u.dot(v).expr() for v in FS] for u in FS])
as I think the output is a little easier to read and to reflect that it is the Gram matrix of dot product as a bilinear form.
Once changed (or you say my idea is stupid) and a green patchbot, then positive review.
Reviewer: Travis Scrimshaw
There are doctest errors in pseudo_riemannian_submanifold.py
.
Replying to @tscrim:
Thank you for this. The code looks good. One minor doctest tweak:
-sage: [[u.dot(v).expr() for v in FS] for u in FS] +sage: matrix([[u.dot(v).expr() for v in FS] for u in FS])
as I think the output is a little easier to read and to reflect that it is the Gram matrix of dot product as a bilinear form.
Thanks for the suggestion; I'll perform the change.
Branch pushed to git repo; I updated commit sha1. New commits:
b793247 | #30318: Improve dot and cross product |
The latest version corrects the doctest errors, takes into account comment:5 and extends the capabilities to the dot/cross product between a vector field along a diff map and a vector field defined on the codomain of the diff map.
Thank you. LGTM.
Thank you for the review!
Changed branch from public/manifolds/30318-dot_cross_product_along_diff_map to b793247
This ticket makes the methods
dot_product()
,cross_product()
andnorm()
of classVectorField
work for vector fields defined along a differentiable map, the codomain of which is a Riemannian manifold. Previously, these methods worked only for vector fields on a Riemannian manifold, i.e. along the identity map. An important subcase is of course that of a curve in a Riemannian manifold.For instance, considering a helix parametrized by its arc length:
we have now
Introducing the unit normal vector N via the derivative of T:
we get the binormal vector as the cross product of T and N:
We can then form the Frenet-Serret frame:
and check that it is orthonormal:
The Frenet-Serret formulas are obtained as:
CC: @tscrim @mjungmath @mkoeppe
Component: manifolds
Keywords: dot product, cross product, curve
Author: Eric Gourgoulhon
Branch/Commit:
b793247
Reviewer: Travis Scrimshaw
Issue created by migration from https://trac.sagemath.org/ticket/30318