Opened 2 years ago

Closed 11 months ago

#19124 closed enhancement (fixed)

Curves in differentiable manifolds

Reported by: egourgoulhon Owned by: egourgoulhon
Priority: major Milestone: sage-7.5
Component: geometry Keywords: differentiable manifold, curve, interval, real line
Cc: Merged in:
Authors: Eric Gourgoulhon Reviewers: Travis Scrimshaw
Report Upstream: N/A Work issues:
Branch: d3f3798 (Commits) Commit: d3f37987fac85506c8ae7e5a221f6757b7f3a47b
Dependencies: #20771 Stopgaps:

Description (last modified by egourgoulhon)

This ticket implements differentiable curves in real differentiable manifolds. This is a follow-up of #19092 within the SageManifolds project (see the metaticket #18528 for an overview).

This ticket implements the following Python classes:

  • the parent class OpenInterval for open intervals of R as 1-dimensional diff. manifolds with a canonical chart,
    • the subclass RealLine for R as a 1-dimensional diff. manifold
  • the parent class DifferentiableCurveSet for homsets Hom(I,M), i.e. sets of differentiable maps I --> M, where I is an open interval of R and M a differentiable manifold over R
  • the element class DifferentiableCurve for curves, i.e. differentiable maps I --> M

Documentation: The reference manual is produced by sage -docbuild reference/manifolds html It can also be accessed online at http://sagemanifolds.obspm.fr/doc/19124/reference/manifolds/ More documentation (e.g. example worksheets) can be found here.

Change History (33)

comment:1 Changed 2 years ago by egourgoulhon

  • Description modified (diff)

comment:2 Changed 2 years ago by git

  • Commit changed from d38f3cf21af912c3a55610b3c299d482c01389d3 to 52014ea42d24fe7a48bb757d0020370b29010877

Branch pushed to git repo; I updated commit sha1. New commits:

52014eaImprove the documentation of curves in manifolds

comment:3 Changed 2 years ago by git

  • Commit changed from 52014ea42d24fe7a48bb757d0020370b29010877 to 4510196468e82cb0d4d674f0bf447e9e60f34165

Branch pushed to git repo; I updated commit sha1. New commits:

4510196Full doctest coverage for curves in manifolds

comment:4 Changed 2 years ago by git

  • Commit changed from 4510196468e82cb0d4d674f0bf447e9e60f34165 to 2fff74986464547fbc48a2f1a3f19f4afd40c6d2

Branch pushed to git repo; I updated commit sha1. New commits:

2fff749Small change in documentatin of DiffManifoldCurve

comment:5 Changed 2 years ago by git

  • Commit changed from 2fff74986464547fbc48a2f1a3f19f4afd40c6d2 to fb139dce7318ccbb949dce8c24ed0953b646dba0

Branch pushed to git repo; I updated commit sha1. New commits:

fb139dcMajor improvements in the documentation of diff. manifolds (curves part)

comment:6 Changed 2 years ago by git

  • Commit changed from fb139dce7318ccbb949dce8c24ed0953b646dba0 to 2673e589737d47e6fe5aeada7d5b15799a20d784

Branch pushed to git repo; I updated commit sha1. New commits:

2673e58Improve TensorField.__eq__ (case with no open cover known)

comment:7 Changed 2 years ago by git

  • Commit changed from 2673e589737d47e6fe5aeada7d5b15799a20d784 to dc25947cd9232486a9c8d5b338197dc73ad0e2ba

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

8ab80d8Improvement in simplify_sqrt_real(); minor modif. in documentation
2f231b6Major improvements in the documentation of diff. manifolds (basic part)
f0ca2deMerge #18783 into #18725
307e655Major improvements in the documentation of diff. manifolds (tensor field part)
dc7f7a1Improve TensorField.__eq__ (case with no open cover known)
4d6f21cMerge #18843 into #18783
04360b0Major improvements in the documentation of diff. manifolds (tangent spaces part)
513f5baImprove TensorField.__eq__ (case with no open cover known)
e43e03bMerge #19092 into #18843
dc25947Merge #19124 into #19092

comment:8 Changed 2 years ago by egourgoulhon

  • Description modified (diff)
  • Milestone changed from sage-6.9 to sage-6.10
  • Status changed from new to needs_review

comment:9 Changed 2 years ago by git

  • Commit changed from dc25947cd9232486a9c8d5b338197dc73ad0e2ba to 666bbab52deab3907b957cb723a6465758aedafe

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

bfa0cdfOne last doc tweak.
d13c368Fixing doc of metric spaces.
2605c0bMerge #18529 (Topological manifolds: basics) into #18175 (Implement categories for topological...)
6dec6d5Implement topological manifolds (basics, #18529) on the new categories for manifolds (#18175)
3403978Implement top. manifolds (scalar fields, #18640) on the new manifold categories (#18175)
b0521efImplement top. manifolds (morphisms, #18725) on the new manifold categories (#18175)
f643097Implement diff. manifolds (basics, #18783) on the new manifold categories (#18175)
a527726Implement diff. manifolds (tensor fields, #18843) on the new manifold categories (#18175)
22923abImplement diff. manifolds (tangent spaces, #19092) on the new manifold categories (#18175).
666bbabImplement diff. manifolds (curves, #19124) on the new manifold categories (#18175)

comment:10 Changed 23 months ago by git

  • Commit changed from 666bbab52deab3907b957cb723a6465758aedafe to dca7f9d8ee4b651657c9880a943c776e8d58e4ed

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

6518699Introduce the attribute _field_type in class TopologicalManifold to check for real and complex manifolds.
22383e6Check for real/complex manifold performed on base_field_type() instead of RR/CC
66f2c5aChange function('f', x) to function('f')(x) to accomodate the deprecation warning introduced in #17447
a28ed04Morphisms of topological manifolds with the use of base_field_type()
f31bed1Remove UniqueRepresentation from differentiable manifolds
0ee4c41Tensor fields on differentiable manifolds without unique representation
e8f11ffFix pickling test in tensor field modules.
a967787Suppress direct call to _element_constructor_ in tensor field parent classes
1bf77fdTangent spaces on differentiable manifolds without unique representation
dca7f9dCurves on differentiable manifolds without unique representation

comment:11 Changed 23 months ago by git

  • Commit changed from dca7f9d8ee4b651657c9880a943c776e8d58e4ed to b836212ddc4a1889a9d1125335e843925565d2e5

Branch pushed to git repo; I updated commit sha1. New commits:

d8397c1Merge branch 'public/manifolds/top_manif_basics' of trac.sagemath.org:sage into public/manifolds/top_manif_basics
0b08b11Some small tweaks as part of the review.
d3e5d4dRevert to UniqueRepresentation for topological manifolds
2481359Revert to UniqueRepresentation for ScalarFieldAlgebra; better ScalarField constructor
0cc06e8Revert to UniqueRepresentation for topological manifold homsets
322d5bdRevert to UniqueRepresentation for differentiable manifolds
45beae5Revert to UniqueRepresentation for differentiable manifolds: tensor fields
98c6036Revert to UniqueRepresentation for differentiable manifolds: tangent spaces
b836212Revert to UniqueRepresentation for differentiable manifolds: curves

comment:12 Changed 23 months ago by git

  • Commit changed from b836212ddc4a1889a9d1125335e843925565d2e5 to 6b5192628e55ed206c472f8aa5bd15ee5ba44cc7

Branch pushed to git repo; I updated commit sha1. New commits:

85d03dcChange the argument type to structure in Manifold
5251ef0Remove method _test_pickling from class TopologicalManifoldPoint
f69c9eeFix doctest error in coord_func_symb.py due to #19312 (update to pynac-0.5.2)
7889a5dChange in simplify_sqrt_real to cope with the change of != operator induced by #19312 (Sage 6.10.beta7)
e8d2ba6Differentiable manifolds: basics with the change in symbolic expression logic induced by #19312 (Sage 6.10.beta7)
0d68f86Diff. manifolds: tensor fields, with the change in symbolic expression logic induced by #19312 (Sage 6.10.beta7)
347a9ccDiff. manifolds: tangent spaces, with the change in symbolic expression logic induced by #19312 (Sage 6.10.beta7)
6b51926Diff. manifolds: curves, with the change in symbolic expression logic induced by #19312 (Sage 6.10.beta7)

comment:13 Changed 23 months ago by egourgoulhon

  • Description modified (diff)

comment:14 Changed 21 months ago by git

  • Commit changed from 6b5192628e55ed206c472f8aa5bd15ee5ba44cc7 to db58a0cd830bcaec261c18123c0827c85532c881

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

db99641Parallel plotting vectorfield: added example
b07ffd9Tangent spaces on refactored differentiable manifolds
3cd03a4Add methods lift() and retract() to ManifoldSubset; add method __eq__() in CoordChange
984c3c2Revert to simple hierarchy for manifold classes
c01048fScalar fields with the simplified hierarchy for manifold classes
c866d6cMorphisms of topological manifolds with the simplified hierarchy for manifold classes
0e04631Basics of diff. manifolds with the simplified hierarchy for manifold classes
1f226bdTensor fields with the simplified hierarchy for manifold classes
9fa77c4Tangent spaces with the simplified hierarchy for manifold classes
db58a0cCurves in diff. manifolds with the simplified hierarchy for manifold classes

comment:15 Changed 21 months ago by egourgoulhon

  • Milestone changed from sage-6.10 to sage-7.0

comment:16 Changed 21 months ago by git

  • Commit changed from db58a0cd830bcaec261c18123c0827c85532c881 to 9a7454959010ca09843d9fe820e78e2bd0e1c398

Branch pushed to git repo; I updated commit sha1. New commits:

8e17d54Merge into the latest version of #18529; improve treatment of composite functions in ExpressionNice
f00be00Topological manifold morphisms: solved merge conflict with Sage 7.1.beta1
21b3968Basics of diff. manifolds: solve merge conflict with Sage 7.1.beta1
8ba4b91Tensor fields: solve merge conflict with Sage 7.1.beta1
2fad9dbCorrect doctest in class DiffFormParal
b47f55fTangent spaces: solve merge conflict with Sage 7.1.beta1
9a74549Curves in diff. manifolds: solve merge conflict with Sage 7.1.beta1

comment:17 Changed 18 months ago by git

  • Commit changed from 9a7454959010ca09843d9fe820e78e2bd0e1c398 to bdb91dfa03130f67904689045ace822d7f23dd7f

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

f3f5470Fixing a (essentially trivial) doctest failure.
7b3dab3Merge branch 'public/manifolds/top_manif_scalar_fields' of git://trac.sagemath.org/sage into Sage 7.2.rc0
9ec7d3ePython 3 format for print in manifolds
d190b37Morphisms of topological manifolds with coordinate functions as algebra elements
2577fc5Fixing a (essentially trivial) doctest failure.
7125e29Python3 format for print in morphims of topological manifolds
bd2f35aDiff. manifolds with coordinate functions as algebra elements
73b4a03Tensor fields with with coordinate functions as algebra elements
37521aeTangent spaces with coordinate functions as algebra elements
bdb91dfCurves in diff. manifolds with coordinate functions as algebra elements

comment:18 Changed 18 months ago by egourgoulhon

  • Milestone changed from sage-7.0 to sage-7.2

comment:19 Changed 17 months ago by git

  • Commit changed from bdb91dfa03130f67904689045ace822d7f23dd7f to 1b79561956848db8af48cf1cda743c986052ac2c

Branch pushed to git repo; I updated commit sha1. New commits:

4fad094Merge branch 'public/manifolds/top_manif_morphisms' of trac.sagemath.org:sage into public/manifolds/top_manif_morphisms
cfecb18Reviewer changes and tweaks for continuous maps ticket.
efcb618Modify authorship for continuous maps.
84051b0Merge branch 'public/manifolds/diff_manif_basics' of trac.sagemath.org:sage into public/manifolds/diff_manif_basics
97172ddBasics of differentiable manifolds with changes in morphisms of topological manifolds
29832ecUse @cached_method for VectorFieldModule.identity_map() and AutomorphismFieldGroup.one()
159afb4Tangent spaces upon latest version of tensor fields
1b79561Update of OpenInterval._Hom_

comment:20 Changed 14 months ago by git

  • Commit changed from 1b79561956848db8af48cf1cda743c986052ac2c to edde6048822a3474b05c218ac44715e3366ed626

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

3ab0af0Initial reviewer changes.
d7ad8e1Merge branch 'public/manifolds/diff_manif_tensor_fields' of git://trac.sagemath.org/sage into sage 7.3.beta5
dcb08fcDecrease doctest times in tensor fields; remove xder from the global namespace
3b1b794Fix doctests in tangent spaces after the merge of #20770 in sage 7.3.beta3
c70792eUpdate tangent spaces to the latest version of #18843 (vector fields)
0d6f47eMerge branch 'public/manifolds/diff_manif_tangent_spaces' of trac.sagemath.org:sage into public/manifolds/lie_algebras-20771
96f09abAdded information about the vector field module being a Lie algebroid.
72396ddMerge with latest #19092 to fix doctests after the merge of #20770 in sage 7.3.beta3
835b293Update Lie algebroids to the latest version of #18843 (vector fields)
edde604Update curves to the latest version of #18843 (vector fields)

comment:21 Changed 14 months ago by egourgoulhon

  • Milestone changed from sage-7.2 to sage-7.4

comment:22 Changed 13 months ago by git

  • Commit changed from edde6048822a3474b05c218ac44715e3366ed626 to cd27531644dd9c2ad7bb3bd9a0b1e615add313a2

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

3e73095Merge branch 'develop' into public/manifolds/diff_manif_tensor_fields
4955c3cFinal review of everything.
7cf4ff4Merge branch 'public/manifolds/diff_manif_tensor_fields' of trac.sagemath.org:sage into public/manifolds/diff_manif_tensor_fields
58ae506Merge branch 'public/manifolds/diff_manif_tensor_fields' of git://trac.sagemath.org/sage into Sage 7.4.beta6
8219403Fix documentation error; change in TensorField comparison to zero
a841f79Python 3 compatible syntax in tensor fields
5a5f400Slight change in TensorField.__eq__ (comparison to zero)
98efa66Update tangent spaces to the final version of the dependency ticket #18843
a5ab39aUpdate Lie algebroids to the latest version of the dependency ticket #19092
cd27531Update curves to the latest version of the dependency ticket #19092

comment:23 Changed 12 months ago by git

  • Commit changed from cd27531644dd9c2ad7bb3bd9a0b1e615add313a2 to cdb3f28708462bfe1000149ac8afc31ced4bc75f

Branch pushed to git repo; I updated commit sha1. New commits:

8860387Add missing reference Lee13
fb7f4ddBibliographic references for tensor fields moved to the master file
8205dcaUpdate tangent spaces to the last change (adding a missing reference) in the dependency ticket #18843
785300bBibliographic references for tangent spaces moved to the master file created by #21454
6af8ad2Bibliographic references for vector field modules as Lie algebroids moved to the master file created by #21454
cdb3f28Bibliographic references for curves on manifolds moved to the master file created by #21454

comment:24 Changed 11 months ago by git

  • Commit changed from cdb3f28708462bfe1000149ac8afc31ced4bc75f to 7a38c9600e417b002c10ff7bf9c2846d688725ec

Branch pushed to git repo; I updated commit sha1. New commits:

4ce1118Merge branch 'public/manifolds/diff_manif_tangent_spaces' of git://trac.sagemath.org/sage into public/manifolds/diff_manif_tangent_spaces
567b892Doing some reviewer changes for #19092.
3a297f7Merge branch 'public/manifolds/diff_manif_curves' of git://trac.sagemath.org/sage into public/manifolds/diff_manif_curves
7a38c96Doing some reviewer changes.

comment:25 follow-up: Changed 11 months ago by tscrim

  • Milestone changed from sage-7.4 to sage-7.5
  • Reviewers set to Travis Scrimshaw

Same things as on #19092. If you're happy with my changes, then you can set a positive review.

comment:26 Changed 11 months ago by git

  • Commit changed from 7a38c9600e417b002c10ff7bf9c2846d688725ec to 181d53a42d0c0ed0b96cdef84650ab348c18b586

Branch pushed to git repo; I updated commit sha1. New commits:

05f8cc7A little bit of extra cleanup.
23eb9d8Correct doctest and documentation in tangent spaces
b4a4530Use sphinx_plot for 3D plots in the documentation of charts and vector fields
ff6eb09Name of argument 'nb_values' in RealChart.plot changed to 'number_values'.
2f1d037Update Lie algebroids to the latest version of tangent spaces
181d53aUse sphinx_plot for 3D rendering of an example in DifferentiableCurve.plot documentation

comment:27 in reply to: ↑ 25 Changed 11 months ago by egourgoulhon

  • Dependencies changed from #19092 to #20771

Replying to tscrim:

Same things as on #19092. If you're happy with my changes, then you can set a positive review.

Thank you very much again for this review and the changes!

In the last commits, I've updated to the latest version of #19092 and have added the display of a 3D example in the documentation of DifferentiableCurve.plot. I am also changing the dependency to #20771, which itself depends on #19092.

comment:28 Changed 11 months ago by tscrim

  • Status changed from needs_review to positive_review

All LGTM. Thanks.

comment:29 Changed 11 months ago by egourgoulhon

Thank you!

comment:30 Changed 11 months ago by git

  • Commit changed from 181d53a42d0c0ed0b96cdef84650ab348c18b586 to d3f37987fac85506c8ae7e5a221f6757b7f3a47b
  • Status changed from positive_review to needs_review

Branch pushed to git repo; I updated commit sha1 and set ticket back to needs_review. New commits:

d3f3798Use \Bold{R} instead of \RR for the default LaTeX symbol of RealLine

comment:31 Changed 11 months ago by egourgoulhon

I've just noticed that the LaTeX rendering of RealLine in Jupyter notebooks was not correct. It was using \RR, which worked fine in Sage legacy notebook, but is displayed as a red "\RR" in the Jupyter notebook (when using %display latex). The above commit changes the default LaTeX name to \Bold{R}, which is what is used by other Sage objects representing the real numbers: RR and RDF. It works fine with both the Jupyter notebook and the legacy notebook. Do you agree?

PS: an alternative would be to use \mathbb{R}, which is correctly rendered in both notebooks.

Last edited 11 months ago by egourgoulhon (previous) (diff)

comment:32 Changed 11 months ago by tscrim

  • Status changed from needs_review to positive_review

I think we should be consistent with the rest of Sage, so I agree with \Bold{R}.

comment:33 Changed 11 months ago by vbraun

  • Branch changed from public/manifolds/diff_manif_curves to d3f37987fac85506c8ae7e5a221f6757b7f3a47b
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.