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 egourgoulhon)

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:
    • pseudo-riemannian metrics: #19209 (merged in Sage 7.5.beta4)
    • Schouten, Cotton, and Cotton-York tensors: #19823 (merged in Sage 7.5.beta4)
    • Euclidean spaces: #19978

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 egourgoulhon

  • Description modified (diff)

comment:2 Changed 2 years ago by egourgoulhon

  • Cc bpillet added
  • Description modified (diff)

comment:3 Changed 2 years ago by egourgoulhon

  • Description modified (diff)
  • Summary changed from SageManifolds meta-ticket to SageManifolds metaticket

comment:4 Changed 2 years ago by egourgoulhon

  • Description modified (diff)

comment:5 Changed 2 years ago by egourgoulhon

  • Description modified (diff)

comment:6 Changed 22 months ago by egourgoulhon

  • Description modified (diff)
  • Milestone changed from sage-6.8 to sage-6.9

comment:7 Changed 22 months ago by egourgoulhon

  • Description modified (diff)

comment:8 Changed 22 months ago by egourgoulhon

  • Description modified (diff)

comment:9 Changed 22 months ago by egourgoulhon

  • Keywords manifold tensor added; manifolds tensors removed

comment:10 Changed 22 months ago by egourgoulhon

  • Description modified (diff)

comment:11 Changed 22 months ago by egourgoulhon

  • Description modified (diff)

comment:12 Changed 21 months ago by egourgoulhon

  • Milestone changed from sage-6.9 to sage-6.10

All the tickets, except for #18786, are now ready for review.

comment:13 Changed 20 months ago by egourgoulhon

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 K
  • Manifolds(K).Differentiable() for differentiable manifolds
  • Manifolds(K).Smooth() for smooth manifolds

comment:14 follow-up: Changed 20 months ago by tscrim

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 egourgoulhon

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

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 egourgoulhon

PS: could you point to some existing catalog in Sage, in order to have some example?

comment:17 follow-up: Changed 20 months ago by tscrim

  • algebras.<tab> in sage/algebras/catalog.py
  • crystals.<tab> in sage/combinat/crystals.catalog.py
  • designs.<tab> in sage/combinat/designs.designs_catalog.py
  • groups.<tab> in sage/groups/groups_catalog.py

comment:18 in reply to: ↑ 17 Changed 20 months ago by egourgoulhon

Thanks!

comment:19 Changed 18 months ago by egourgoulhon

  • Description modified (diff)
  • Milestone changed from sage-6.10 to sage-7.0

comment:20 Changed 17 months ago by egourgoulhon

  • Description modified (diff)
  • Milestone changed from sage-7.0 to sage-7.1

comment:21 Changed 17 months ago by egourgoulhon

  • Description modified (diff)

comment:22 Changed 13 months ago by egourgoulhon

  • Description modified (diff)
  • Milestone changed from sage-7.1 to sage-7.3

comment:23 Changed 13 months ago by egourgoulhon

  • Description modified (diff)

comment:24 Changed 13 months ago by tscrim

  • Description modified (diff)

comment:25 Changed 13 months ago by egourgoulhon

  • Description modified (diff)

comment:26 Changed 12 months ago by egourgoulhon

  • Description modified (diff)

comment:27 Changed 10 months ago by egourgoulhon

  • Milestone changed from sage-7.3 to sage-7.4

comment:28 Changed 8 months ago by egourgoulhon

  • Description modified (diff)

comment:29 Changed 8 months ago by egourgoulhon

  • Milestone changed from sage-7.4 to sage-7.5

comment:30 Changed 7 months ago by egourgoulhon

  • Description modified (diff)

comment:31 Changed 7 months ago by egourgoulhon

  • Description modified (diff)

comment:32 Changed 5 months ago by egourgoulhon

  • Description modified (diff)

comment:33 follow-up: Changed 5 months ago by 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).

comment:34 Changed 4 months ago by egourgoulhon

  • Description modified (diff)

comment:35 Changed 4 months ago by egourgoulhon

  • Description modified (diff)

comment:36 Changed 4 months ago by egourgoulhon

  • Description modified (diff)
  • Milestone changed from sage-7.5 to sage-7.6

comment:37 Changed 4 months ago by egourgoulhon

  • Description modified (diff)

comment:38 Changed 3 months ago by egourgoulhon

  • Description modified (diff)

comment:39 Changed 3 months ago by egourgoulhon

  • Description modified (diff)

comment:40 Changed 3 months ago by egourgoulhon

  • Description modified (diff)

comment:41 in reply to: ↑ 33 ; follow-up: Changed 3 months ago by bpym

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: Changed 3 months ago by egourgoulhon

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, Vp(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 Vp(M) x Vq(M) --> Vp+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 Vp(M). Would this be an issue for you?

comment:43 in reply to: ↑ 42 ; follow-up: Changed 3 months ago by 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 Vp x Vq -> Vp+q and Schouten bracket Vp x Vq -> Vp+q-1. One would also like to have interior contractions with forms Omegap x Vq -> Vq-p and Vp x Omegaq -> Omegaq-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 Vp(M). Would this be an issue for you?

I don't foresee any issue.

comment:44 in reply to: ↑ 43 ; follow-up: Changed 3 months ago by egourgoulhon

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 Vp x Vq -> Vp+q and Schouten bracket Vp x Vq -> Vp+q-1. One would also like to have interior contractions with forms Omegap x Vq -> Vq-p and Vp x Omegaq -> Omegaq-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 Vp(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 egourgoulhon

  • Description modified (diff)

comment:46 Changed 2 months ago by egourgoulhon

  • Description modified (diff)

comment:47 Changed 2 months ago by egourgoulhon

  • Description modified (diff)

comment:48 Changed 7 weeks ago by karimvanaelst

  • Description modified (diff)

comment:49 Changed 7 weeks ago by egourgoulhon

  • Description modified (diff)

comment:50 Changed 12 days ago by egourgoulhon

  • Description modified (diff)

comment:51 in reply to: ↑ 44 ; follow-up: Changed 12 days ago by egourgoulhon

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 Vp x Vq -> Vp+q and Schouten bracket Vp x Vq -> Vp+q-1. One would also like to have interior contractions with forms Omegap x Vq -> Vq-p and Vp x Omegaq -> Omegaq-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 bpym

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.

Note: See TracTickets for help on using tickets.