Opened 18 months ago

Last modified 3 months ago

## #31878 new enhancement

# Replace OpenInterval, RealLine instances by instances of a subclass of DifferentiableManifold+RealSet — at Version 5

Reported by: | Matthias Köppe | Owned by: | |
---|---|---|---|

Priority: | major | Milestone: | sage-9.8 |

Component: | manifolds | Keywords: | |

Cc: | Eric Gourgoulhon, Travis Scrimshaw, Michael Jung | Merged in: | |

Authors: | Reviewers: | ||

Report Upstream: | N/A | Work issues: | |

Branch: | Commit: | ||

Dependencies: | #30832, #31880, #31877 | Stopgaps: |

### Description (last modified by )

(from discussion in https://trac.sagemath.org/ticket/30832#comment:14)

We represent open intervals and the real line, when they are to be considered as manifold objects, as an instance of a subclass of `DifferentiableManifold`

and `RealSet`

.

Likewise, arbitrary finite unions of intervals become instances of a subclass of `ManifoldSubset`

and `RealSet`

.

Compared to `ManifoldSubset`

, the methods `union`

and `intersection`

are replaced by a more specific implementation.

`OpenInterval`

and `RealLine`

will no longer be classes, only constructors.

This will also solve https://trac.sagemath.org/ticket/30830#comment:18:

`OpenInterval`

should silently return a `RealLine`

instance if `lower == minus_infinity`

and `upper == infinity`

.

Some API changes to consider:

- constructor
`RealSets.point`

clashes with`Manifold.point`

, could replace by`RealSets.singleton`

. - deprecate
`OpenInterval.upper_bound`

,`OpenInterval.lower_bound`

`RealSet.is_included_in`

vs.`ManifoldSubset.is_subset`

`RealSet.are_pairwise_disjoint`

,`is_disjoint_from`

,`contains`

`ManifoldSubset.complement`

has optional arg`superset`

`RealSet.open`

vs`OpenInterval.open_interval`

`RealSet.cardinality`

,`n_components`

`ManifoldSubset.has_defined_points`

### Change History (5)

### comment:1 Changed 18 months ago by

Description: | modified (diff) |
---|---|

Summary: | OpenInterval(-oo, oo) vs RealLine() → Replace OpenInterval, RealLine instances by an instance of a subclass of DifferentiableManifold+RealSet |

### comment:2 Changed 18 months ago by

Summary: | Replace OpenInterval, RealLine instances by an instance of a subclass of DifferentiableManifold+RealSet → Replace OpenInterval, RealLine instances by instances of a subclass of DifferentiableManifold+RealSet |
---|

### comment:3 Changed 18 months ago by

Description: | modified (diff) |
---|

### comment:4 Changed 18 months ago by

Dependencies: | → #30832, #31880, #31877 |
---|

### comment:5 Changed 18 months ago by

Description: | modified (diff) |
---|

**Note:**See TracTickets for help on using tickets.