Opened 2 years ago

Add Examples to Manifolds Catalog — at Version 22

Reported by: Owned by: gh-mjungmath major sage-9.7 manifolds egourgoulhon, tscrim, gh-tobiasdiez N/A

The current catalog is nice to have but still very limited or incomplete. Constructing some examples in the current catalog also takes a lot of time.

While improving and extend this, it is also a good opportunity to expand the tutorials a little bit. Furthermore, most of our docstring examples are based on the 2-sphere. Hence we can perhaps shorten or simplify some parts of the documentation.

Step 1: rearrange folder structure (#30799)

Step 2: unification/improvement/extension of preexisting models

• More Flexible Coordinate Treatment for `EuclideanSpace` (#30824)
• Category of connected manifolds will be joined to spheres, Euclidean spaces and open intervals (#31243)
• Add Orientation to `EuclideanSpace`
• Sphere (#30804)
• Kerr
• Minkowski
• Torus
• #32228 Move examples from `sage.geometry.riemannian_manifolds` to `sage.manifolds`

• Real Projective Space / Real Grassmannians (#31249)
• Complex Projective Space / Complex Grassmannians (#31249)
• Hyperbolic space (a starting point may be this notebook)

Step 4: improve the tutorial/doctests

• simplify preexisting 2-sphere examples
• add thorough tutorial with old/new models

comment:1 follow-up: ↓ 2 Changed 2 years ago by egourgoulhon

This sounds like a very good idea!

Note that in order not to clutter the global namespace, one can let access to the sphere and the hyperbolic space via the manifold catalog. The current version of the catalog is very primitive and the function `Sphere()` in it should call the constructor the sphere class, as soon as the latter is ready.

comment:2 in reply to: ↑ 1 ; follow-up: ↓ 4 Changed 2 years ago by gh-mjungmath

This sounds like a very good idea!

Note that in order not to clutter the global namespace, one can let access to the sphere and the hyperbolic space via the manifold catalog. The current version of the catalog is very primitive and the function `Sphere()` in it should call the constructor the sphere class, as soon as the latter is ready.

Ah, that is very nice. Actually, I was not aware that something like that exists. This should be populated somewhere more obvious. Probably in a tutorial?

So, the only thing that should be added now is the hyperbolic space, right?

comment:3 follow-up: ↓ 5 Changed 2 years ago by gh-mjungmath

By the way, I noticed that the result coming from `sage.manifolds.catalog.Sphere` is not even correct:

```sage: S.<th, ph> = manifolds.Sphere()
sage: S
2-dimensional Riemannian submanifold S embedded in the Euclidean
space E^3
sage: S.atlas()
[Chart (S, (th, ph))]
```

This is not a correct atlas.

comment:4 in reply to: ↑ 2 Changed 2 years ago by egourgoulhon

Ah, that is very nice. Actually, I was not aware that something like that exists. This should be populated somewhere more obvious. Probably in a tutorial?

Indeed, when it is more developed.

So, the only thing that should be added now is the hyperbolic space, right?

No, there remains to introduce a proper sphere class, on the model of `EuclideanSpace`, with methods like `stereographic_coordinates`.

comment:5 in reply to: ↑ 3 Changed 2 years ago by egourgoulhon

By the way, I noticed that the result coming from `sage.manifolds.catalog.Sphere` is not even correct:

```sage: S.<th, ph> = manifolds.Sphere()
sage: S
2-dimensional Riemannian submanifold S embedded in the Euclidean
space E^3
sage: S.atlas()
[Chart (S, (th, ph))]
```

This is not a correct atlas.

Indeed. As I say in comment:1, the catalog is in a primitive stage.

comment:6 Changed 2 years ago by gh-mjungmath

Now I see what you mean. I first thought that "primitive" was just referring to the amount of examples.

That's good: there's still work to do. :)

comment:8 Changed 22 months ago by gh-mjungmath

• Description modified (diff)
• Summary changed from Add Sphere and Hyperbolic Space Permanently to Add Models to Manifolds Catalog
• Type changed from enhancement to task

comment:9 Changed 22 months ago by gh-mjungmath

• Description modified (diff)

comment:10 Changed 22 months ago by gh-mjungmath

• Description modified (diff)

comment:11 Changed 22 months ago by gh-mjungmath

• Description modified (diff)
• Summary changed from Add Models to Manifolds Catalog to Add Examples to Manifolds Catalog

comment:12 Changed 22 months ago by gh-mjungmath

• Description modified (diff)

comment:13 Changed 22 months ago by gh-mjungmath

• Description modified (diff)

comment:14 Changed 22 months ago by mkoeppe

• Milestone changed from sage-9.2 to sage-9.3

comment:15 Changed 22 months ago by gh-mjungmath

• Description modified (diff)

comment:16 Changed 19 months ago by gh-mjungmath

• Description modified (diff)

comment:17 Changed 19 months ago by gh-mjungmath

• Description modified (diff)

comment:18 Changed 18 months ago by mkoeppe

• Milestone changed from sage-9.3 to sage-9.4

Setting new milestone based on a cursory review of ticket status, priority, and last modification date.

comment:19 follow-up: ↓ 20 Changed 17 months ago by mkoeppe

There is also some old code in sage.geometry.riemannian_manifolds that seems to provide some examples

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

Indeed! These examples should be integrated into the catalog and then `sage.geometry.riemannian_manifolds` should be deprecated, since all the functionalities it contains are available in `sage.manifolds.differentiable.pseudo_riemannian_submanifold`.