Opened 2 years ago

# Add Examples to Manifolds Catalog

Reported by: Owned by: Michael Jung major sage-9.8 manifolds Eric Gourgoulhon, Travis Scrimshaw, Tobias Diez 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, #32953)
• Kerr (some inspiration may be found in the class `KerrBH` of the Sage package kerrgeodesic_gw)
• Minkowski
• Torus
• Move examples from `sage.geometry.riemannian_manifolds` to `sage.manifolds` (#32228)

• Real Projective Space / Real Grassmannians (#31249, #33221)
• 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 Eric Gourgoulhon

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 Michael Jung

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 Michael Jung

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 Eric Gourgoulhon

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 Eric Gourgoulhon

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 Michael Jung

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

Description: modified (diff) Add Sphere and Hyperbolic Space Permanently → Add Models to Manifolds Catalog enhancement → task

### comment:9 Changed 2 years ago by Michael Jung

Description: modified (diff)

### comment:10 Changed 2 years ago by Michael Jung

Description: modified (diff)

### comment:11 Changed 2 years ago by Michael Jung

Description: modified (diff) Add Models to Manifolds Catalog → Add Examples to Manifolds Catalog

### comment:12 Changed 2 years ago by Michael Jung

Description: modified (diff)

### comment:13 Changed 2 years ago by Michael Jung

Description: modified (diff)

### comment:14 Changed 2 years ago by Matthias Köppe

Milestone: sage-9.2 → sage-9.3

### comment:15 Changed 2 years ago by Michael Jung

Description: modified (diff)

### comment:16 Changed 23 months ago by Michael Jung

Description: modified (diff)

### comment:17 Changed 23 months ago by Michael Jung

Description: modified (diff)

### comment:18 Changed 22 months ago by Matthias Köppe

Milestone: sage-9.3 → 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 21 months ago by Matthias Köppe

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

### comment:20 in reply to:  19 Changed 21 months ago by Eric Gourgoulhon

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

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`.

### comment:21 Changed 17 months ago by Matthias Köppe

Description: modified (diff)

### comment:22 Changed 17 months ago by Eric Gourgoulhon

Description: modified (diff)

### comment:23 Changed 17 months ago by Eric Gourgoulhon

Description: modified (diff)

### comment:24 Changed 16 months ago by Matthias Köppe

Milestone: sage-9.4 → sage-9.5

### comment:25 Changed 12 months ago by Matthias Köppe

Milestone: sage-9.5 → sage-9.6

### comment:26 Changed 10 months ago by Eric Gourgoulhon

Description: modified (diff)

### comment:27 Changed 8 months ago by Matthias Köppe

Milestone: sage-9.6 → sage-9.7

### comment:28 Changed 3 months ago by Matthias Köppe

Milestone: sage-9.7 → sage-9.8
Note: See TracTickets for help on using tickets.