sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.39k stars 472 forks source link

Curves in differentiable manifolds #19124

Closed egourgoulhon closed 7 years ago

egourgoulhon commented 9 years ago

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:

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.

Depends on #20771

Component: geometry

Keywords: differentiable manifold, curve, interval, real line

Author: Eric Gourgoulhon

Branch/Commit: d3f3798

Reviewer: Travis Scrimshaw

Issue created by migration from https://trac.sagemath.org/ticket/19124

egourgoulhon commented 9 years ago

Description changed:

--- 
+++ 
@@ -3,7 +3,7 @@
 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. manifolds
+  - the subclass `RealLine` for **R** as a 1-dimensional diff. manifold
 - the parent class `DiffManifoldCurveSet` 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 `DiffManifoldCurve` for curves, i.e. differentiable maps I --> M
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

Changed commit from d38f3cf to 52014ea

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

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

52014eaImprove the documentation of curves in manifolds
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

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

4510196Full doctest coverage for curves in manifolds
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

Changed commit from 52014ea to 4510196

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

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

2fff749Small change in documentatin of DiffManifoldCurve
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

Changed commit from 4510196 to 2fff749

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

Changed commit from 2fff749 to fb139dc

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

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

fb139dcMajor improvements in the documentation of diff. manifolds (curves part)
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

Changed commit from fb139dc to 2673e58

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

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

2673e58Improve TensorField.__eq__ (case with no open cover known)
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

Changed commit from 2673e58 to dc25947

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

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
egourgoulhon commented 9 years ago

Description changed:

--- 
+++ 
@@ -8,3 +8,8 @@
   I --> M, where I is an open interval of **R** and M a differentiable manifold over **R**
 - the element class `DiffManifoldCurve` 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](http://sagemanifolds.obspm.fr/documentation.html).
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

Changed commit from dc25947 to 666bbab

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

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)
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

Changed commit from 666bbab to dca7f9d

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

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
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

Changed commit from dca7f9d to b836212

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

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
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

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)
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

Changed commit from b836212 to 6b51926

egourgoulhon commented 8 years ago

Description changed:

--- 
+++ 
@@ -4,9 +4,9 @@
 - 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 `DiffManifoldCurveSet` for homsets Hom(I,M), i.e. sets of differentiable maps
+- 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 `DiffManifoldCurve` for curves, i.e. differentiable maps I --> M
+- the element class `DifferentiableCurve` for curves, i.e. differentiable maps I --> M

 **Documentation**:
 The reference manual is produced by
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

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
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

Changed commit from 6b51926 to db58a0c

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

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
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

Changed commit from db58a0c to 9a74549

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

Changed commit from 9a74549 to bdb91df

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

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
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

Changed commit from bdb91df to 1b79561

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

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_
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

Changed commit from 1b79561 to edde604

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

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)
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

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
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

Changed commit from edde604 to cd27531

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

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
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Changed commit from cd27531 to cdb3f28

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

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.
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Changed commit from cdb3f28 to 7a38c96

tscrim commented 7 years ago

Reviewer: Travis Scrimshaw

tscrim commented 7 years ago
comment:25

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

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

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
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Changed commit from 7a38c96 to 181d53a

egourgoulhon commented 7 years ago

Changed dependencies from #19092 to #20771

egourgoulhon commented 7 years ago
comment:27

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.

tscrim commented 7 years ago
comment:28

All LGTM. Thanks.

egourgoulhon commented 7 years ago
comment:29

Thank you!

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

Changed commit from 181d53a to d3f3798

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 7 years ago

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
egourgoulhon commented 7 years ago
comment:31

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.