Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace OpenInterval, RealLine instances by instances of a subclass of DifferentiableManifold+RealSet #31878

Open
mkoeppe opened this issue May 30, 2021 · 9 comments

Comments

@mkoeppe
Copy link
Contributor

mkoeppe commented May 30, 2021

(from discussion in #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 #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: Replace is_included_in, is_disjoint_from by is_subset, is_disjoint #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

Depends on #31881

CC: @egourgoulhon @tscrim @mjungmath

Component: manifolds

Issue created by migration from https://trac.sagemath.org/ticket/31878

@mkoeppe mkoeppe added this to the sage-9.4 milestone May 30, 2021
@mkoeppe

This comment has been minimized.

@mkoeppe mkoeppe changed the title OpenInterval(-oo, oo) vs RealLine() Replace OpenInterval, RealLine instances by an instance of a subclass of DifferentiableManifold+RealSet May 30, 2021
@mkoeppe mkoeppe changed the title 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 May 30, 2021
@mkoeppe

This comment has been minimized.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented May 30, 2021

Dependencies: #30832, #31880, #31877

@mkoeppe

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Jun 28, 2021

Changed dependencies from #30832, #31880, #31877 to #30832, #31880, #31877, #31688

@mkoeppe

This comment has been minimized.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Jul 7, 2021

Changed dependencies from #30832, #31880, #31877, #31688 to #31881

@mkoeppe mkoeppe modified the milestones: sage-9.4, sage-9.5 Jul 19, 2021
@mkoeppe mkoeppe modified the milestones: sage-9.5, sage-9.6 Dec 14, 2021
@mkoeppe mkoeppe modified the milestones: sage-9.6, sage-9.7 Mar 5, 2022
@mkoeppe mkoeppe modified the milestones: sage-9.7, sage-9.8 Aug 31, 2022
@mkoeppe mkoeppe modified the milestones: sage-9.8, sage-9.9 Jan 7, 2023
@mkoeppe mkoeppe removed this from the sage-10.0 milestone Mar 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant