Submanifolds of topological manifolds¶
Given a topological manifold \(M\) over a topological field \(K\), a topological submanifold of \(M\) is defined by a topological manifold \(N\) over the same field \(K\) of dimension lower than the dimension of \(M\) and a topological embedding \(\phi\) from \(N\) to \(M\) (i.e. \(\phi\) is a homeomorphism onto its image).
In the case where the map \(\phi\) is only an embedding locally, it is called an topological immersion, and defines an immersed submanifold.
The global embedding property cannot be checked in sage, so the immersed or
embedded aspect of the manifold must be declared by the user, by calling either
set_embedding()
or
set_immersion()
while declaring the map \(\phi\).
The map \(\phi: N\to M\) can also depend on one or multiple parameters. As long as \(\phi\) remains injective in these parameters, it represents a foliation. The dimension of the foliation is defined as the number of parameters.
AUTHORS:
- Florentin Jaffredo (2018): initial version
REFERENCES:
-
sage.manifolds.topological_submanifold.
TopologicalSubmanifold
¶ Submanifold of a topological manifold.
Given a topological manifold \(M\) over a topological field \(K\), a topological submanifold of \(M\) is defined by a topological manifold \(N\) over the same field \(K\) of dimension lower than the dimension of \(M\) and a topological embedding \(\phi\) from \(N\) to \(M\) (i.e. \(\phi\) is an homeomorphism onto its image).
In the case where \(\phi\) is only an topological immersion (i.e. is only locally an embedding), one says that \(N\) is an immersed submanifold.
The map \(\phi\) can also depend on one or multiple parameters. As long as \(\phi\) remains injective in these parameters, it represents a foliation. The dimension of the foliation is defined as the number of parameters.
INPUT:
n
– positive integer; dimension of the manifoldname
– string; name (symbol) given to the manifoldfield
– field \(K\) on which the manifold is defined; allowed values are'real'
or an object of typeRealField
(e.g.,RR
) for a manifold over \(\RR\)'complex'
or an object of typeComplexField
(e.g.,CC
) for a manifold over \(\CC\)- an object in the category of topological fields (see
Fields
andTopologicalSpaces
) for other types of manifolds
structure
– manifold structure (seeTopologicalStructure
orRealTopologicalStructure
)ambient
– (default:None
) manifold of destination of the immersion. IfNone
, set toself
base_manifold
– (default:None
) if notNone
, must be a topological manifold; the created object is then an open subset ofbase_manifold
latex_name
– (default:None
) string; LaTeX symbol to denote the manifold; if none are provided, it is set toname
start_index
– (default: 0) integer; lower value of the range of indices used for “indexed objects” on the manifold, e.g., coordinates in a chartcategory
– (default:None
) to specify the category; ifNone
,Manifolds(field)
is assumed (see the categoryManifolds
)unique_tag
– (default:None
) tag used to force the construction of a new object when all the other arguments have been used previously (withoutunique_tag
, theUniqueRepresentation
behavior inherited fromManifoldSubset
would return the previously constructed object corresponding to these arguments)
EXAMPLES:
Let \(N\) be a 2-dimensional submanifold of a 3-dimensional manifold \(M\):
sage: M = Manifold(3, 'M', structure="topological") sage: N = Manifold(2, 'N', ambient=M, structure="topological") sage: N 2-dimensional submanifold N embedded in 3-dimensional manifold M sage: CM.<x,y,z> = M.chart() sage: CN.<u,v> = N.chart()
Let us define a 1-dimensional foliation indexed by \(t\). The inverse map is needed in order to compute the adapted chart in the ambient manifold:
sage: t = var('t') sage: phi = N.continuous_map(M, {(CN,CM):[u, v, t+u**2+v**2]}); phi Continuous map from the 2-dimensional submanifold N embedded in 3-dimensional manifold M to the 3-dimensional topological manifold M sage: phi_inv = M.continuous_map(N, {(CM, CN):[x, y]}) sage: phi_inv_t = M.scalar_field({CM: z-x**2-y**2})
\(\phi\) can then be declared as an embedding \(N\to M\):
sage: N.set_embedding(phi, inverse=phi_inv, var=t, ....: t_inverse={t: phi_inv_t})
The foliation can also be used to find new charts on the ambient manifold that are adapted to the foliation, i.e. in which the expression of the immersion is trivial. At the same time, the appropriate coordinate changes are computed:
sage: N.adapted_chart() [Chart (M, (u_M, v_M, t_M))] sage: len(M.coord_changes()) 2
The foliations parameters are always added as the last coordinates.
See also