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 9

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, #31688 Stopgaps:

Status badges

Description (last modified by Matthias Köppe)

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

More general implementation using #31688 (pullbacks of subsets under continuous maps). In this case we would not need to subclass RealSet, but rather we would use a pullback.

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
  • #31927: RealSet: Replace is_included_in, is_disjoint_from by is_subset, is_disjoint
  • RealSet.are_pairwise_disjoint, contains
  • ManifoldSubset.complement has optional arg superset
  • RealSet.open vs OpenInterval.open_interval
  • RealSet.cardinality, n_components
  • ManifoldSubset.has_defined_points

Change History (9)

comment:1 Changed 18 months ago by Matthias Köppe

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 Matthias Köppe

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

comment:3 Changed 18 months ago by Matthias Köppe

Description: modified (diff)

comment:4 Changed 18 months ago by Matthias Köppe

Dependencies: #30832, #31880, #31877

comment:5 Changed 18 months ago by Matthias Köppe

Description: modified (diff)

comment:6 Changed 18 months ago by Matthias Köppe

Description: modified (diff)

comment:7 Changed 18 months ago by Matthias Köppe

Description: modified (diff)

comment:8 Changed 17 months ago by Matthias Köppe

Dependencies: #30832, #31880, #31877#30832, #31880, #31877, #31688

comment:9 Changed 17 months ago by Matthias Köppe

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