Opened 6 years ago
Last modified 4 months ago
#18528 new task
SageManifolds metaticket — at Version 77
Reported by: | egourgoulhon | Owned by: | egourgoulhon |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | geometry | Keywords: | manifold, tensor, differential geometry |
Cc: | mbejger, mmancini, tscrim, bpillet, gh-LBrunswic, gh-mjungmath, gh-honglizhaobob | Merged in: | |
Authors: | Eric Gourgoulhon, Michal Bejger, Marco Mancini | Reviewers: | |
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | #18175 | Stopgaps: |
Description (last modified by )
This is the implementation of manifolds resulting from the SageManifolds project, developed by the following authors.
Algebraic part
- Tensors on free modules of finite rank: #15916 (merged in Sage 6.6)
- Parallelization of tensor computations on free modules of finite rank: #18100 (merged in Sage 6.10)
- Improve category for finite rank free modules and provide list functionality for basis: #20770 (merged in Sage 7.3.beta3)
- Exterior powers of free modules of finite rank: #23207 (merged in Sage 8.1.beta0)
- More functionalities for bases of free modules of finite rank: #24792 (merged in Sage 8.2.beta8)
Topological and differential part
- Topological manifolds (over R, C or a topological field K):
- basics (charts, subsets): #18529 (merged in Sage 7.1.beta1)
- scalar fields (continuous functions to the base field): #18640 (merged in Sage 7.3.beta0)
- morphisms (continuous maps between manifolds): #18725 (merged in Sage 7.3.beta0)
- SymPy as an alternative to SR for symbolic calculus on manifolds: #22801 (merged in Sage 8.2.beta0)
- Improve simplifications in calculus on manifolds: #24151
- Differentiable manifolds (over R, C or a non-discrete topological field K):
- basics (charts, transition maps, scalar fields, morphisms): #18783 (merged in Sage 7.3.beta2)
- vector fields, tensor fields and p-forms: #18843 (merged in Sage 7.5.beta1)
- tangent spaces: #19092 (merged in Sage 7.5.beta3)
- sets of vector fields as Lie algebroid: #20771 (merged in Sage 7.5.beta3)
- curves: #19124 (merged in Sage 7.5.beta3)
- affine connections: #19147 (merged in Sage 7.5.beta4)
- parallelization of Lie derivative computations: #22200 (merged in Sage 7.6.beta3)
- Multivector fields and the Schouten-Nijenhuis bracket: #23429 (merged in Sage 8.1.beta8)
- Deprecate CoordinatePatch and DifferentialForm classes: #24444 (merged in Sage 8.2.beta3)
- Embedded submanifolds: #25164 (merged in Sage 8.3.beta4)
- Tensor fields along a submanifold: #25254 (merged in Sage 8.3.beta2)
- Complex and almost complex manifolds:
- almost complex structures through Hodge structures: #18786
- Pseudo-Riemannian manifolds:
- pseudo-Riemannian metrics: #19209 (merged in Sage 7.5.beta4)
- Schouten, Cotton, and Cotton-York tensors: #19823 (merged in Sage 7.5.beta4)
- integrated curves and geodesics: #22951 (merged in Sage 8.1.beta2)
- pseudo-Riemannian manifolds: #24622 (merged in Sage 8.2.rc0)
- Euclidean spaces and vector calculus: #24623 (merged in Sage 8.3.beta0)
- Geometry of pseudo-Riemannian submanifolds: #25438
- Declaring a metric along with its components: #25457
- Energy momentum tensor, Einstein tensor and Einstein space-time: #25500
Bug fixes and performance improvements
- List functionality of free module bases: #22518 (merged in Sage 7.6.rc0)
- Display of tensors on free modules of finite rank: #22520 (merged in Sage 7.6.rc0)
- Checking validity of coordinate values on a chart: #22535 (merged in Sage 7.6.rc0)
- Symbolic derivatives in simplification of coordinate functions: #22503 (merged in Sage 7.6.rc0)
- Pullback on parallelizable manifolds: #22563 (merged in Sage 8.0.beta0)
- Tensor field restrictions on parallelizable manifolds: #22637 (merged in Sage 8.0.beta1)
- Inverse metric on parallelizable manifolds: #22667 (merged in Sage 8.0.beta1)
- Improvements in Jacobian determinants of transition maps: #22789 (merged in Sage 8.0.beta2)
- Arithmetics of coordinate functions and scalar fields without zero check of the result: #22859 (merged in Sage 8.0.beta5)
- Characteristic of coordinate function rings: #23329 (merged in Sage 8.1.beta2)
- Faster comparison of manifold points: #23592 (merged in Sage 8.1.beta2)
- Fast comparison to zero (method
is_trivial_zero()
) for coordinate functions and scalar fields: #23623 (merged in Sage 8.1.beta4) - Minor errors in integrated curves: #23838 (merged in Sage 8.1.beta6)
- Simplifications in calculus on manifolds with derivatives of symbolic functions: #24199 (fixed by #24232)
- Simplifications in calculus on manifolds via the expression tree: #24232 (merged in Sage 8.2.beta0)
- Make simplifications in SymPy calculus on manifolds rely on SymPy only: #24290
- Better handling of matrix output for operator
[:]
acting on sets of tensor components: #24884 (merged in Sage 8.2.beta8) - Better restrictions on manifolds: #25417 (merged in Sage 8.3.beta3)
- py3: implement
__hash__
method inContinuousMap
: #25502
Change History (77)
comment:1 Changed 6 years ago by
- Description modified (diff)
comment:2 Changed 6 years ago by
- Cc bpillet added
- Description modified (diff)
comment:3 Changed 6 years ago by
- Description modified (diff)
- Summary changed from SageManifolds meta-ticket to SageManifolds metaticket
comment:4 Changed 6 years ago by
- Description modified (diff)
comment:5 Changed 6 years ago by
- Description modified (diff)
comment:6 Changed 6 years ago by
- Description modified (diff)
- Milestone changed from sage-6.8 to sage-6.9
comment:7 Changed 6 years ago by
- Description modified (diff)
comment:8 Changed 6 years ago by
- Description modified (diff)
comment:9 Changed 6 years ago by
- Keywords manifold tensor added; manifolds tensors removed
comment:10 Changed 6 years ago by
- Description modified (diff)
comment:11 Changed 6 years ago by
- Description modified (diff)
comment:12 Changed 6 years ago by
- Milestone changed from sage-6.9 to sage-6.10
comment:13 Changed 6 years ago by
All the tickets are now based on the category ticket #18175, so that the manifold categories are
Manifolds(K)
for topological manifolds over a topological field KManifolds(K).Differentiable()
for differentiable manifoldsManifolds(K).Smooth()
for smooth manifolds
comment:14 follow-up: ↓ 15 Changed 6 years ago by
Something I would like to see once the basics are done is a catalog of examples and common interesting manifolds:
- n-sphere
- n-torus
- real/complex projective n-space
- surfaces
- (Affine) Grassmannians
- Classical Lie groups (more for my info, a description of charts is on page 5 of https://www.dpmms.cam.ac.uk/~agk22/mfds.pdf, but this probably isn't a good atlas for doing computations)
I understand that some of these could be considered more wishlist than others. Some other wishlist items:
- Morse theory to compute homology of manifolds.
- Manifolds with boundary
- Cartesian products of manifolds (or more generally, fiber bundles)
- DeRham? cohomology (see, e.g., lecture notes above)
comment:15 in reply to: ↑ 14 Changed 6 years ago by
Replying to tscrim:
Something I would like to see once the basics are done is a catalog of examples and common interesting manifolds:
Thanks for these suggestions. For sure, one should have a catalog of standard manifolds. For the time being, there are only examples available as worksheets at http://sagemanifolds.obspm.fr/examples.html, for instance
- the 2-sphere at http://sagemanifolds.obspm.fr/examples/html/SM_sphere_S2.html
- the real projective plane at http://sagemanifolds.obspm.fr/examples/html/SM_projective_plane_RP2.html
- the hyperbolic plane at http://nbviewer.ipython.org/github/sagemanifolds/SageManifolds/blob/master/Worksheets/v0.8/SM_hyperbolic_plane.ipynb
I understand that some of these could be considered more wishlist than others. Some other wishlist items:
- Morse theory to compute homology of manifolds.
- Manifolds with boundary
- Cartesian products of manifolds (or more generally, fiber bundles)
- DeRham? cohomology (see, e.g., lecture notes above)
All the above seem indeed desirable extensions. Even if they are not implemented yet, we should have them in mind when setting the basics.
comment:16 Changed 6 years ago by
PS: could you point to some existing catalog in Sage, in order to have some example?
comment:17 follow-up: ↓ 18 Changed 6 years ago by
algebras.<tab>
insage/algebras/catalog.py
crystals.<tab>
insage/combinat/crystals.catalog.py
designs.<tab>
insage/combinat/designs.designs_catalog.py
groups.<tab>
insage/groups/groups_catalog.py
comment:18 in reply to: ↑ 17 Changed 6 years ago by
Thanks!
comment:19 Changed 6 years ago by
- Description modified (diff)
- Milestone changed from sage-6.10 to sage-7.0
comment:20 Changed 6 years ago by
- Description modified (diff)
- Milestone changed from sage-7.0 to sage-7.1
comment:21 Changed 6 years ago by
- Description modified (diff)
comment:22 Changed 5 years ago by
- Description modified (diff)
- Milestone changed from sage-7.1 to sage-7.3
comment:23 Changed 5 years ago by
- Description modified (diff)
comment:24 Changed 5 years ago by
- Description modified (diff)
comment:25 Changed 5 years ago by
- Description modified (diff)
comment:26 Changed 5 years ago by
- Description modified (diff)
comment:27 Changed 5 years ago by
- Milestone changed from sage-7.3 to sage-7.4
comment:28 Changed 5 years ago by
- Description modified (diff)
comment:29 Changed 5 years ago by
- Milestone changed from sage-7.4 to sage-7.5
comment:30 Changed 5 years ago by
- Description modified (diff)
comment:31 Changed 5 years ago by
- Description modified (diff)
comment:32 Changed 5 years ago by
- Description modified (diff)
comment:33 follow-up: ↓ 41 Changed 5 years ago by
Would there be any interest in Kontsevich graphs, which are related to Poisson structures on manifolds from what I saw? In particular, in https://arxiv.org/abs/1702.00681, there is reference to a C++ package https://github.com/rburing/kontsevich_graph_series-cpp (with the MIT license).
comment:34 Changed 5 years ago by
- Description modified (diff)
comment:35 Changed 5 years ago by
- Description modified (diff)
comment:36 Changed 5 years ago by
- Description modified (diff)
- Milestone changed from sage-7.5 to sage-7.6
comment:37 Changed 5 years ago by
- Description modified (diff)
comment:38 Changed 5 years ago by
- Description modified (diff)
comment:39 Changed 5 years ago by
- Description modified (diff)
comment:40 Changed 5 years ago by
- Description modified (diff)
comment:41 in reply to: ↑ 33 ; follow-up: ↓ 42 Changed 5 years ago by
Replying to tscrim:
Would there be any interest in Kontsevich graphs, which are related to Poisson structures on manifolds from what I saw? In particular, in https://arxiv.org/abs/1702.00681, there is reference to a C++ package https://github.com/rburing/kontsevich_graph_series-cpp (with the MIT license).
With collaborators (independent from the above) we have developed a Sage package for calculations with Kontsevich graphs, Poisson brackets and deformation quantizations; the preliminary version will be released later this year. We certainly would like to interface our code with SageManifolds.
The main thing we would need is a SageManifolds implementation of the algebra of multivector fields (exterior algebra of the tangent bundle) and its Schouten bracket https://en.wikipedia.org/wiki/Schouten%E2%80%93Nijenhuis_bracket. Are there any plans in this direction?
comment:42 in reply to: ↑ 41 ; follow-up: ↓ 43 Changed 5 years ago by
Replying to bpym:
With collaborators (independent from the above) we have developed a Sage package for calculations with Kontsevich graphs, Poisson brackets and deformation quantizations; the preliminary version will be released later this year. We certainly would like to interface our code with SageManifolds.
Very good!
The main thing we would need is a SageManifolds implementation of the algebra of multivector fields (exterior algebra of the tangent bundle) and its Schouten bracket https://en.wikipedia.org/wiki/Schouten%E2%80%93Nijenhuis_bracket. Are there any plans in this direction?
It would certainly be easy to implement multivector fields at the level of a sequence of modules over the ring of scalar fields, in the same footing as what has been done for differential forms, cf. http://doc.sagemath.org/html/en/reference/manifolds/sage/manifolds/differentiable/diff_form_module.html Each module, V^{p}(M) say, will be the set of multivector fields with a fixed degree p, i.e. the set of p-vectors. Implementing the Schouten bracket atop of this as an exterior operator V^{p}(M) x V^{q}(M) --> V^{p+q-1}(M) should not be too difficult either. But in such a setting, we do not introduce explicitely the algebra of multivector fields, which is the direct sum of all the modules V^{p}(M). Would this be an issue for you?
comment:43 in reply to: ↑ 42 ; follow-up: ↓ 44 Changed 5 years ago by
Replying to egourgoulhon:
It would certainly be easy to implement multivector fields at the level of a sequence of modules over the ring of scalar fields, in the same footing as what has been done for differential forms ...
Great! This is indeed the sort of implementation I was imagining. One would like the operations of wedge product V^{p} x V^{q} -> V^{p+q} and Schouten bracket V^{p} x V^{q} -> V^{p+q-1}. One would also like to have interior contractions with forms Omega^{p} x V^{q} -> V^{q-p} and V^{p} x Omega^{q} -> Omega^{q-p}, defined when q >= p.
But in such a setting, we do not introduce explicitely the algebra of multivector fields, which is the direct sum of all the modules V^{p}(M). Would this be an issue for you?
I don't foresee any issue.
comment:44 in reply to: ↑ 43 ; follow-up: ↓ 51 Changed 5 years ago by
Replying to bpym:
Replying to egourgoulhon:
It would certainly be easy to implement multivector fields at the level of a sequence of modules over the ring of scalar fields, in the same footing as what has been done for differential forms ...
Great! This is indeed the sort of implementation I was imagining. One would like the operations of wedge product V^{p} x V^{q} -> V^{p+q} and Schouten bracket V^{p} x V^{q} -> V^{p+q-1}. One would also like to have interior contractions with forms Omega^{p} x V^{q} -> V^{q-p} and V^{p} x Omega^{q} -> Omega^{q-p}, defined when q >= p.
This seems quite straightforward to implement. Only a matter of finding time to do it...
But in such a setting, we do not introduce explicitely the algebra of multivector fields, which is the direct sum of all the modules V^{p}(M). Would this be an issue for you?
I don't foresee any issue.
Very good!
The question is then: what is your time scale? i.e. when would you like these features to be available?
comment:45 Changed 5 years ago by
- Description modified (diff)
comment:46 Changed 5 years ago by
- Description modified (diff)
comment:47 Changed 5 years ago by
- Description modified (diff)
comment:48 Changed 4 years ago by
- Description modified (diff)
comment:49 Changed 4 years ago by
- Description modified (diff)
comment:50 Changed 4 years ago by
- Description modified (diff)
comment:51 in reply to: ↑ 44 ; follow-up: ↓ 52 Changed 4 years ago by
Replying to egourgoulhon:
Replying to bpym:
Great! This is indeed the sort of implementation I was imagining. One would like the operations of wedge product V^{p} x V^{q} -> V^{p+q} and Schouten bracket V^{p} x V^{q} -> V^{p+q-1}. One would also like to have interior contractions with forms Omega^{p} x V^{q} -> V^{q-p} and V^{p} x Omega^{q} -> Omega^{q-p}, defined when q >= p.
This seems quite straightforward to implement. Only a matter of finding time to do it...
The pure algebraic part of this has been implemented, including the interior products, see #23207. There remains to implement the differential part, in particular the Schouten bracket. On the Wikipedia page, there is some warning: "There are two different versions, both rather confusingly called by the same name." Do we agree that the thing to implement is the bracket given by the second formula in that page?
comment:52 in reply to: ↑ 51 ; follow-up: ↓ 53 Changed 4 years ago by
Replying to egourgoulhon:
The pure algebraic part of this has been implemented, including the interior products, see #23207.
Great, thank you!
There remains to implement the differential part, in particular the Schouten bracket. On the Wikipedia page, there is some warning: "There are two different versions, both rather confusingly called by the same name." Do we agree that the thing to implement is the bracket given by the second formula in that page?
Yes, we agree.
comment:53 in reply to: ↑ 52 Changed 4 years ago by
- Description modified (diff)
Replying to bpym:
Replying to egourgoulhon:
There remains to implement the differential part, in particular the Schouten bracket. On the Wikipedia page, there is some warning: "There are two different versions, both rather confusingly called by the same name." Do we agree that the thing to implement is the bracket given by the second formula in that page?
Yes, we agree.
Multivector fields and their Schouten-Nijenhuis bracket are now ready (at least for review...): #23429.
comment:54 Changed 4 years ago by
- Description modified (diff)
comment:55 Changed 4 years ago by
- Description modified (diff)
comment:56 Changed 4 years ago by
- Description modified (diff)
comment:57 Changed 4 years ago by
- Description modified (diff)
- Milestone changed from sage-7.6 to sage-8.1
comment:58 Changed 4 years ago by
- Description modified (diff)
comment:59 Changed 4 years ago by
- Description modified (diff)
comment:60 Changed 4 years ago by
- Description modified (diff)
comment:61 Changed 4 years ago by
- Description modified (diff)
comment:62 Changed 4 years ago by
- Description modified (diff)
comment:63 Changed 4 years ago by
- Description modified (diff)
comment:64 Changed 4 years ago by
- Description modified (diff)
- Milestone changed from sage-8.1 to sage-8.2
comment:65 Changed 4 years ago by
- Description modified (diff)
comment:66 Changed 4 years ago by
- Description modified (diff)
comment:67 Changed 4 years ago by
- Description modified (diff)
comment:68 Changed 4 years ago by
- Description modified (diff)
comment:69 Changed 4 years ago by
- Description modified (diff)
comment:70 Changed 4 years ago by
- Description modified (diff)
comment:71 Changed 4 years ago by
- Description modified (diff)
comment:72 Changed 3 years ago by
- Description modified (diff)
- Milestone changed from sage-8.2 to sage-8.3
- Type changed from enhancement to task
comment:73 Changed 3 years ago by
- Description modified (diff)
comment:74 Changed 3 years ago by
- Description modified (diff)
comment:75 Changed 3 years ago by
- Description modified (diff)
comment:76 Changed 3 years ago by
- Description modified (diff)
comment:77 Changed 3 years ago by
- Description modified (diff)
All the tickets, except for #18786, are now ready for review.