Opened 2 years ago
Last modified 12 days ago
#18528 new enhancement
SageManifolds metaticket
Reported by: | egourgoulhon | Owned by: | egourgoulhon |
---|---|---|---|
Priority: | major | Milestone: | sage-7.6 |
Component: | geometry | Keywords: | manifold, tensor, differential geometry |
Cc: | mbejger, mmancini, tscrim, bpillet | 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.
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
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
- 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)
- integrated curves and geodesics: #22951
- affine connections: #19147 (merged in Sage 7.5.beta4)
- parallelization of Lie derivative computations: #22200 (merged in Sage 7.6.beta3)
- Complex and almost complex manifolds:
- almost complex structures through Hodge structures: #18786
- Pseudo-riemannian manifolds:
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)
Change History (52)
comment:1 Changed 2 years ago by
- Description modified (diff)
comment:2 Changed 2 years ago by
- Cc bpillet added
- Description modified (diff)
comment:3 Changed 2 years ago by
- Description modified (diff)
- Summary changed from SageManifolds meta-ticket to SageManifolds metaticket
comment:4 Changed 2 years ago by
- Description modified (diff)
comment:5 Changed 2 years ago by
- Description modified (diff)
comment:6 Changed 22 months ago by
- Description modified (diff)
- Milestone changed from sage-6.8 to sage-6.9
comment:7 Changed 22 months ago by
- Description modified (diff)
comment:8 Changed 22 months ago by
- Description modified (diff)
comment:9 Changed 22 months ago by
- Keywords manifold tensor added; manifolds tensors removed
comment:10 Changed 22 months ago by
- Description modified (diff)
comment:11 Changed 22 months ago by
- Description modified (diff)
comment:12 Changed 21 months ago by
- Milestone changed from sage-6.9 to sage-6.10
comment:13 Changed 20 months 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 20 months 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 20 months 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 20 months ago by
PS: could you point to some existing catalog in Sage, in order to have some example?
comment:17 follow-up: ↓ 18 Changed 20 months 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 20 months ago by
Thanks!
comment:19 Changed 18 months ago by
- Description modified (diff)
- Milestone changed from sage-6.10 to sage-7.0
comment:20 Changed 17 months ago by
- Description modified (diff)
- Milestone changed from sage-7.0 to sage-7.1
comment:21 Changed 17 months ago by
- Description modified (diff)
comment:22 Changed 13 months ago by
- Description modified (diff)
- Milestone changed from sage-7.1 to sage-7.3
comment:23 Changed 13 months ago by
- Description modified (diff)
comment:24 Changed 13 months ago by
- Description modified (diff)
comment:25 Changed 13 months ago by
- Description modified (diff)
comment:26 Changed 12 months ago by
- Description modified (diff)
comment:27 Changed 10 months ago by
- Milestone changed from sage-7.3 to sage-7.4
comment:28 Changed 8 months ago by
- Description modified (diff)
comment:29 Changed 8 months ago by
- Milestone changed from sage-7.4 to sage-7.5
comment:30 Changed 7 months ago by
- Description modified (diff)
comment:31 Changed 7 months ago by
- Description modified (diff)
comment:32 Changed 5 months ago by
- Description modified (diff)
comment:33 follow-up: ↓ 41 Changed 5 months 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 4 months ago by
- Description modified (diff)
comment:35 Changed 4 months ago by
- Description modified (diff)
comment:36 Changed 4 months ago by
- Description modified (diff)
- Milestone changed from sage-7.5 to sage-7.6
comment:37 Changed 4 months ago by
- Description modified (diff)
comment:38 Changed 3 months ago by
- Description modified (diff)
comment:39 Changed 3 months ago by
- Description modified (diff)
comment:40 Changed 3 months ago by
- Description modified (diff)
comment:41 in reply to: ↑ 33 ; follow-up: ↓ 42 Changed 3 months 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 3 months 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 3 months 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 3 months 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 3 months ago by
- Description modified (diff)
comment:46 Changed 2 months ago by
- Description modified (diff)
comment:47 Changed 2 months ago by
- Description modified (diff)
comment:48 Changed 7 weeks ago by
- Description modified (diff)
comment:49 Changed 7 weeks ago by
- Description modified (diff)
comment:50 Changed 12 days ago by
- Description modified (diff)
comment:51 in reply to: ↑ 44 ; follow-up: ↓ 52 Changed 12 days 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 Changed 12 days 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.
All the tickets, except for #18786, are now ready for review.