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

ManifoldSubset: New methods declare_empty, declare_nonempty, is_empty, has_defined_points, open_cover_family #31732

Closed
mkoeppe opened this issue Apr 26, 2021 · 27 comments

Comments

@mkoeppe
Copy link
Contributor

mkoeppe commented Apr 26, 2021

A subset is declared empty by giving it (or any superset) an open cover that is an empty family.

A subset is declared nonempty by defining a point on it (or on any subset).

Depends on #31718
Depends on #31727

CC: @egourgoulhon @mjungmath @tscrim

Component: manifolds

Author: Matthias Koeppe

Branch/Commit: 359dde1

Reviewer: Michael Jung

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

@mkoeppe mkoeppe added this to the sage-9.4 milestone Apr 26, 2021
@mkoeppe
Copy link
Contributor Author

mkoeppe commented Apr 26, 2021

Changed dependencies from #31727 to #31718

@mkoeppe mkoeppe changed the title ManifoldSubset: New methods declare_empty, declare_nonempty, is_empty, has_defined_points ManifoldSubset: New methods declare_empty, declare_nonempty, is_empty, has_defined_points, open_cover_family Apr 26, 2021
@mkoeppe
Copy link
Contributor Author

mkoeppe commented Apr 26, 2021

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Apr 26, 2021

Commit: 1b5e5ac

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Apr 26, 2021

Last 10 new commits:

78cc27aManifoldSubset.open_covers: Change to generator, add optional arg 'trivial'; update uses
e026e7aManifoldSubset.subset_digraph: Use open_covers method
5a072cfMerge #31718
83a9f47ManifoldSubset.open_cover_family: New
a183575ManifoldSubset.{declare_empty,declare_nonempty,is_empty,has_defined_points}: New
4ad562dManifoldSubset.{sub,super}set_{digraph,poset}: Add option 'points'
cec7fa2ManifoldSubset.open_covers: Add option supersets; use it to fix is_empty
c40ec03ManifoldSubset.open_cover_family: Add option supersets
a066387Fix doctests
1b5e5acManifoldSubset.declare_empty: Add plot

@mjungmath
Copy link

comment:4

I am not sure whether this is a good point to hook in, but long-term it would be nice to things like Cech cohomology. This construction needs "good covers" which are basically given by contractible intersections. Currently, we cannot determine a subset being contractible (or even connected). But perhaps this is something to consider at this point already?

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Apr 26, 2021

comment:5

An idea to do things like this would be to try to break complicated domains into "simple" subsets (for which we can algorithmically verify that they are simply connected) and to then use algebraic topology (e.g., simplicial complexes) on the subsets. At this point, I don't know what properties other than emptiness/nonemptiness really needs to be encoded on the level of a single subset.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Apr 26, 2021

Changed commit from 1b5e5ac to 48b2700

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Apr 26, 2021

Branch pushed to git repo; I updated commit sha1. New commits:

48b2700src/sage/manifolds/subset.py: Remove unused import, make doctest stable by using 'sorted'

@mjungmath
Copy link

comment:7

Could you please open a new metaticket that collects the rough ideas and updates your progress regarding subsets? I think it would make it easier to keep track, at least for me.

@egourgoulhon
Copy link
Member

comment:8

Replying to @mjungmath:

Could you please open a new metaticket that collects the rough ideas and updates your progress regarding subsets? I think it would make it easier to keep track, at least for me.

If you don't plan a lot of such tickets, maybe the metaticket #30525 is sufficient.

@mjungmath
Copy link

comment:9

Matthias already opened #31740 for that. It's a nice overview and as you can see, there are plenty of tickets concerning subsets already. Thanks Matthias!

@mjungmath
Copy link

comment:10

Mh, for some reason patchbot complains about coverage.

@mjungmath
Copy link

comment:11

Ah, is_empty, declare_nonempty and has_defined_points do not admit examples/tests.

@egourgoulhon
Copy link
Member

comment:12

Replying to @mjungmath:

Matthias already opened #31740 for that.

Ah yes!

It's a nice overview and as you can see, there are plenty of tickets concerning subsets already.

Indeed!

Thanks Matthias!

+1

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Apr 27, 2021

Branch pushed to git repo; I updated commit sha1. New commits:

1e6a055is_empty, declare_nonempty, has_defined_points: Add doc, examples

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Apr 27, 2021

Changed commit from 48b2700 to 1e6a055

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Apr 27, 2021

comment:16

No more coverage warnings.

@mjungmath
Copy link

comment:17

Thanks! Patchbot is also green.

How exactly is this ticket related to #31743? What exactly are the dependencies you have in mind?

Other than that, looks good to me. Eric, what do you say?

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Apr 28, 2021

comment:18

Replying to @mjungmath:

How exactly is this ticket related to #31743? What exactly are the dependencies you have in mind?

#31743 will certainly depend on the present ticket.

@mjungmath
Copy link

comment:19

A nice and important addition to the current code. Thank you! LGTM.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Apr 28, 2021

Reviewer: Michael Jung

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Apr 28, 2021

comment:20

Thanks for the review!

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Jun 19, 2021

Changed dependencies from #31718 to #31718, #31727

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 19, 2021

Changed commit from 1e6a055 to 359dde1

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 19, 2021

Branch pushed to git repo; I updated commit sha1 and set ticket back to needs_review. New commits:

3c5555aMerge #31718
52a93f9ManifoldSubset.subset_family: New; deprecate .list_of_subsets
7a22bb0ManifoldSubset.superset_family: New, use it in doctests
bdc07ffMerge #31677
2b47b1bManifoldSubset.open_superset_family: New
359dde1Merge branch 't/31727/manifoldsubset__add_methods_subset_family__superset_family__equal_subset_family__deprecate_method_list_of_subsets' into t/31732/manifoldsubset__new_methods_declare_empty__declare_nonempty__is_empty__has_defined_points__open_cover_family

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Jun 19, 2021

comment:23

Merged #31727 to resolve a merge conflict

@vbraun
Copy link
Member

vbraun commented Jun 21, 2021

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

4 participants