Subsets of Topological Manifolds¶
The class ManifoldSubset
implements generic subsets of a
topological manifold. Open subsets are implemented by the class
TopologicalManifold
(since an
open subset of a manifold is a manifold by itself), which inherits
from ManifoldSubset
.
AUTHORS:
- Eric Gourgoulhon, Michal Bejger (2013-2015): initial version
- Travis Scrimshaw (2015): review tweaks; removal of facade parents
REFERENCES:
EXAMPLES:
Two subsets on a manifold:
sage: M = Manifold(2, 'M', structure='topological')
sage: a = M.subset('A'); a
Subset A of the 2-dimensional topological manifold M
sage: b = M.subset('B'); b
Subset B of the 2-dimensional topological manifold M
sage: M.list_of_subsets()
[Subset A of the 2-dimensional topological manifold M,
Subset B of the 2-dimensional topological manifold M,
2-dimensional topological manifold M]
The intersection of the two subsets:
sage: c = a.intersection(b); c
Subset A_inter_B of the 2-dimensional topological manifold M
Their union:
sage: d = a.union(b); d
Subset A_union_B of the 2-dimensional topological manifold M
Lists of subsets after the above operations:
sage: M.list_of_subsets()
[Subset A of the 2-dimensional topological manifold M,
Subset A_inter_B of the 2-dimensional topological manifold M,
Subset A_union_B of the 2-dimensional topological manifold M,
Subset B of the 2-dimensional topological manifold M,
2-dimensional topological manifold M]
sage: a.list_of_subsets()
[Subset A of the 2-dimensional topological manifold M,
Subset A_inter_B of the 2-dimensional topological manifold M]
sage: c.list_of_subsets()
[Subset A_inter_B of the 2-dimensional topological manifold M]
sage: d.list_of_subsets()
[Subset A of the 2-dimensional topological manifold M,
Subset A_inter_B of the 2-dimensional topological manifold M,
Subset A_union_B of the 2-dimensional topological manifold M,
Subset B of the 2-dimensional topological manifold M]
-
sage.manifolds.subset.
ManifoldSubset
¶ Subset of a topological manifold.
The class
ManifoldSubset
inherits from the generic classParent
. The corresponding element class isManifoldPoint
.Note that open subsets are not implemented directly by this class, but by the derived class
TopologicalManifold
(an open subset of a topological manifold being itself a topological manifold).INPUT:
manifold
– topological manifold on which the subset is definedname
– string; name (symbol) given to the subsetlatex_name
– (default:None
) string; LaTeX symbol to denote the subset; if none are provided, it is set toname
category
– (default:None
) to specify the category; ifNone
, the category for generic subsets is used
EXAMPLES:
A subset of a manifold:
sage: M = Manifold(2, 'M', structure='topological') sage: from sage.manifolds.subset import ManifoldSubset sage: A = ManifoldSubset(M, 'A', latex_name=r'\mathcal{A}') sage: A Subset A of the 2-dimensional topological manifold M sage: latex(A) \mathcal{A} sage: A.is_subset(M) True
Instead of importing
ManifoldSubset
in the global namespace, it is recommended to use the methodsubset()
to create a new subset:sage: B = M.subset('B', latex_name=r'\mathcal{B}'); B Subset B of the 2-dimensional topological manifold M sage: M.list_of_subsets() [Subset A of the 2-dimensional topological manifold M, Subset B of the 2-dimensional topological manifold M, 2-dimensional topological manifold M]
The manifold is itself a subset:
sage: isinstance(M, ManifoldSubset) True sage: M in M.subsets() True
Instances of
ManifoldSubset
are parents:sage: isinstance(A, Parent) True sage: A.category() Category of subobjects of sets sage: p = A.an_element(); p Point on the 2-dimensional topological manifold M sage: p.parent() Subset A of the 2-dimensional topological manifold M sage: p in A True sage: p in M True