Opened 2 years ago

Last modified 2 days ago

#18528 new enhancement

SageManifolds metaticket

Reported by: egourgoulhon Owned by: egourgoulhon
Priority: major Milestone: sage-8.1
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, 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)

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
    • 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)
  • 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)
    • 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)
  • 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
  • Simplifications in calculus on manifolds via the expression tree: #24232

Change History (62)

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 2 years ago by egourgoulhon

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

comment:7 Changed 2 years ago by egourgoulhon

  • Description modified (diff)

comment:8 Changed 2 years ago by egourgoulhon

  • Description modified (diff)

comment:9 Changed 2 years ago by egourgoulhon

  • Keywords manifold tensor added; manifolds tensors removed

comment:10 Changed 2 years ago by egourgoulhon

  • Description modified (diff)

comment:11 Changed 2 years ago by egourgoulhon

  • Description modified (diff)

comment:12 Changed 2 years 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 2 years 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 2 years 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 2 years 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 2 years ago by egourgoulhon

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

comment:17 follow-up: Changed 2 years 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 2 years ago by egourgoulhon

Thanks!

comment:19 Changed 23 months ago by egourgoulhon

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

comment:20 Changed 22 months ago by egourgoulhon

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

comment:21 Changed 22 months ago by egourgoulhon

  • Description modified (diff)

comment:22 Changed 18 months ago by egourgoulhon

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

comment:23 Changed 18 months ago by egourgoulhon

  • Description modified (diff)

comment:24 Changed 18 months ago by tscrim

  • Description modified (diff)

comment:25 Changed 18 months ago by egourgoulhon

  • Description modified (diff)

comment:26 Changed 17 months ago by egourgoulhon

  • Description modified (diff)

comment:27 Changed 15 months ago by egourgoulhon

  • Milestone changed from sage-7.3 to sage-7.4

comment:28 Changed 13 months ago by egourgoulhon

  • Description modified (diff)

comment:29 Changed 13 months ago by egourgoulhon

  • Milestone changed from sage-7.4 to sage-7.5

comment:30 Changed 12 months ago by egourgoulhon

  • Description modified (diff)

comment:31 Changed 12 months ago by egourgoulhon

  • Description modified (diff)

comment:32 Changed 10 months ago by egourgoulhon

  • Description modified (diff)

comment:33 follow-up: Changed 10 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 9 months ago by egourgoulhon

  • Description modified (diff)

comment:35 Changed 9 months ago by egourgoulhon

  • Description modified (diff)

comment:36 Changed 9 months ago by egourgoulhon

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

comment:37 Changed 9 months ago by egourgoulhon

  • Description modified (diff)

comment:38 Changed 8 months ago by egourgoulhon

  • Description modified (diff)

comment:39 Changed 8 months ago by egourgoulhon

  • Description modified (diff)

comment:40 Changed 8 months ago by egourgoulhon

  • Description modified (diff)

comment:41 in reply to: ↑ 33 ; follow-up: Changed 8 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 8 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 8 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 8 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 8 months ago by egourgoulhon

  • Description modified (diff)

comment:46 Changed 7 months ago by egourgoulhon

  • Description modified (diff)

comment:47 Changed 7 months ago by egourgoulhon

  • Description modified (diff)

comment:48 Changed 7 months ago by karimvanaelst

  • Description modified (diff)

comment:49 Changed 7 months ago by egourgoulhon

  • Description modified (diff)

comment:50 Changed 5 months ago by egourgoulhon

  • Description modified (diff)

comment:51 in reply to: ↑ 44 ; follow-up: Changed 5 months 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 ; follow-up: Changed 5 months 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.

comment:53 in reply to: ↑ 52 Changed 4 months ago by egourgoulhon

  • 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 months ago by egourgoulhon

  • Description modified (diff)

comment:55 Changed 3 months ago by egourgoulhon

  • Description modified (diff)

comment:56 Changed 3 months ago by egourgoulhon

  • Description modified (diff)

comment:57 Changed 2 months ago by egourgoulhon

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

comment:58 Changed 2 months ago by egourgoulhon

  • Description modified (diff)

comment:59 Changed 2 months ago by egourgoulhon

  • Description modified (diff)

comment:60 Changed 5 weeks ago by egourgoulhon

  • Description modified (diff)

comment:61 Changed 8 days ago by egourgoulhon

  • Description modified (diff)

comment:62 Changed 2 days ago by egourgoulhon

  • Description modified (diff)
Note: See TracTickets for help on using tickets.