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

Pullbacks (preimages) of manifold subsets under continuous maps #31688

Closed
mkoeppe opened this issue Apr 19, 2021 · 115 comments
Closed

Pullbacks (preimages) of manifold subsets under continuous maps #31688

mkoeppe opened this issue Apr 19, 2021 · 115 comments

Comments

@mkoeppe
Copy link
Contributor

mkoeppe commented Apr 19, 2021

Similar to #31653, given a continuous map \Phi: N -> M and a manifold subset S of M, we define the pullback (preimage) of S as the subset of N of points p with \Phi(p) in S.

Given a real scalar field Phi: N -> R and a RealSet S, we define the pullback in the same way.

Also, we view a chart C as a continuous function Phi: C.domain() -> R^n and allow pulling back any subset of R^n (an object with a __contains__ method; for example polyhedra, lattices, linear subspaces, tensor modules) by it as well.

In all cases, because Phi is continuous, topological closures/interiors pull back.

An application is in #31981.

Depends on #31883
Depends on #31904
Depends on #31653
Depends on #31916
Depends on #31644
Depends on #31959
Depends on #31990
Depends on #21243

CC: @egourgoulhon @tscrim @mjungmath

Component: manifolds

Author: Matthias Koeppe

Branch/Commit: 4558e26

Reviewer: Eric Gourgoulhon

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

@mkoeppe mkoeppe added this to the sage-9.4 milestone Apr 19, 2021
@mkoeppe

This comment has been minimized.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented May 31, 2021

Dependencies: #31883

@mkoeppe
Copy link
Contributor Author

mkoeppe commented May 31, 2021

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 31, 2021

Commit: 941001b

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 31, 2021

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

1942c71ScalarField.codomain: New, put scalar fields in category of continuous maps
8829d72Merge #31883
941001bManifoldSubsetPullback: More WIP

@mkoeppe
Copy link
Contributor Author

mkoeppe commented May 31, 2021

Author: Matthias Koeppe

@mkoeppe

This comment has been minimized.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 31, 2021

Changed commit from 941001b to 90f763f

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 31, 2021

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

90f763fManifoldSubsetPullback.__contains__: New

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 31, 2021

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

ff34765ManifoldSubsetPullback: In `__classcall_private__`, make immutable copies of the maps
b8dadf3ScalarField.pullback, ContinuousMap.pullback: New

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 31, 2021

Changed commit from 90f763f to b8dadf3

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 1, 2021

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

5abb86dManifoldSubsetPullback: More WIP

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 1, 2021

Changed commit from b8dadf3 to 5abb86d

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 2, 2021

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

e597e6dManifoldSubsetPullback: Allow pulling back by charts, pulling back polyehdra

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 2, 2021

Changed commit from 5abb86d to e597e6d

@mkoeppe

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 2, 2021

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

1623cc5ManifoldSubsetPullback: Move computation of names to __classcall_private__

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 2, 2021

Changed commit from e597e6d to 1623cc5

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 3, 2021

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

dcc1f9aManifoldSubsetPullback: Prepare for pullbacks of opens

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 3, 2021

Changed commit from 1623cc5 to dcc1f9a

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 4, 2021

Changed commit from dcc1f9a to a2dd182

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 4, 2021

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

a2dd182ManifoldSubsetPullback: Recognize more closed sets

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Jun 5, 2021

Changed dependencies from #31883 to #31883, #31904

@mkoeppe mkoeppe changed the title Pullbacks of manifold subsets under continuous maps Pullbacks (preimages) of manifold subsets under continuous maps Jun 5, 2021
@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 5, 2021

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

459758eImageManifoldSubset, ContinuousMap.image: Add optional 'inverse' argument, use it in __contains__
26c7e56src/sage/manifolds/continuous_map_image.py: Update doctests
3e273bbTopologicalSubmanifold.as_subset: New
9726d36Docstring work
19762aeImageManifoldSubset: New parameter domain_subset, use it in ContinuousMap.image
964f9f7src/sage/manifolds/continuous_map.py: Update copyright
e711215src/sage/manifolds/continuous_map_image.py: Add tests
0f3e36dLink in documentation of sage.manifolds.continuous_map_image
4a13d8bMerge #31653
79232dbContinuousMap.preimage: New, make pullback an alias; add example

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 22, 2021

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

d321b93ContinuousMap: Return domain if the map's codomain is contained in the given subset

@egourgoulhon
Copy link
Member

comment:67

A minor point: to generate correctly the documentation, the following change shall be made in the docstring of ManifoldSubsetPullback:

-    - ``map`` - an instance of :class:`ContinuousMap`,
+    - ``map`` - an instance of :class:`~sage.manifolds.continuous_map.ContinuousMap`,
       :class:`ScalarField`, or :class:`Chart`

For :class:`ScalarField` and :class:`Chart`, this is not necessary because these classes are imported in pullback.py.

@egourgoulhon
Copy link
Member

comment:68

This example in the doctstring of ManifoldSubsetPullback.is_closed is dubious:


        The pullback of finite sets is closed::

            sage: F = Family([vector(QQ, [1, 2], immutable=True), vector(QQ, [2, 3], immutable=True)])
            sage: McF = ManifoldSubsetPullback(c_cart, F, name='McF'); McF
            Subset McF of the 2-dimensional topological manifold R^2
            sage: McF.is_closed()
            False

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 24, 2021

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

07aba9eManifoldSubsetPullback.is_closed: Preimage of finite sets is closed
653c651src/sage/manifolds/subsets/pullback.py: Fix docstring markup

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 24, 2021

Changed commit from d321b93 to 653c651

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Jun 24, 2021

comment:70

Replying to @egourgoulhon:

This example in the doctstring of ManifoldSubsetPullback.is_closed is dubious:

Indeed. Looks like I had forgotten to actually implement this case. Done now

@egourgoulhon
Copy link
Member

comment:71

Thanks for the update. As soon as the patchbot visits the ticket and is green, the ticket can be set to positive review.

@egourgoulhon
Copy link
Member

comment:72

OK, since the changes since the last time the patchbot visited the ticket are quite minor, let us move on without waiting for another visit.

Thank you for the new features introduced here!

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Jun 28, 2021

comment:73

Thanks for the review!

@egourgoulhon
Copy link
Member

comment:74

Replying to @egourgoulhon:

OK, since the changes since the last time the patchbot visited the ticket are quite minor, let us move on without waiting for another visit.

It seems that we don't have any patchbot at the moment:
https://patchbot.sagemath.org/ticket/0/

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 1, 2021

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

4b930ffMerge tag '9.4.beta4' into t/31688/pullbacks_of_manifold_subsets_under_continuous_maps

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 1, 2021

Changed commit from 653c651 to 4b930ff

@vbraun
Copy link
Member

vbraun commented Jul 7, 2021

comment:77
sage -t --long --warn-long 41.5 --random-seed=0 src/sage/geometry/polyhedron/base.py
**********************************************************************
File "src/sage/geometry/polyhedron/base.py", line 2975, in sage.geometry.polyhedron.base.Polyhedron_base.incidence_matrix
Failed example:
    M == P.incidence_matrix()
Expected:
    False
Got:
    True
**********************************************************************
1 item had failures:
   1 of  31 in sage.geometry.polyhedron.base.Polyhedron_base.incidence_matrix
    [1737 tests, 1 failure, 35.30 s]
----------------------------------------------------------------------
sage -t --long --warn-long 41.5 --random-seed=0 src/sage/geometry/polyhedron/base.py  # 1 doctest failed
----------------------------------------------------------------------

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 7, 2021

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

4558e26Polyhedron_base.incidence_matrix: Remove accidental change to doctest

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 7, 2021

Changed commit from 4b930ff to 4558e26

@vbraun
Copy link
Member

vbraun commented Jul 18, 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