Sets of Morphisms between Differentiable Manifolds

The class DifferentiableManifoldHomset implements sets of morphisms between two differentiable manifolds over the same topological field \(K\) (in most applications, \(K = \RR\) or \(K = \CC\)), a morphism being a differentiable map for the category of differentiable manifolds.

AUTHORS:

  • Eric Gourgoulhon (2015): initial version

REFERENCES:

  • [Lee13] J.M. Lee : Introduction to Smooth Manifolds, 2nd ed., Springer (New York) (2013)
  • [KN63] S. Kobayashi & K. Nomizu : Foundations of Differential Geometry, vol. 1, Interscience Publishers (New York) (1963)
class sage.manifolds.differentiable.manifold_homset.DifferentiableManifoldHomset(domain, codomain, name=None, latex_name=None)

Bases: sage.manifolds.manifold_homset.TopologicalManifoldHomset

Set of differentiable maps between two differentiable manifolds.

Given two differentiable manifolds \(M\) and \(N\) over a topological field \(K\), the class DifferentiableManifoldHomset implements the set \(\mathrm{Hom}(M,N)\) of morphisms (i.e. differentiable maps) \(M\rightarrow N\).

This is a Sage parent class, whose element class is DiffMap.

INPUT:

  • domain – differentiable manifold \(M\) (domain of the morphisms), as an instance of DifferentiableManifold
  • codomain – differentiable manifold \(N\) (codomain of the morphisms), as an instance of DifferentiableManifold
  • name – (default: None) string; name given to the homset; if None, Hom(M,N) will be used
  • latex_name – (default: None) string; LaTeX symbol to denote the homset; if None, \(\mathrm{Hom}(M,N)\) will be used

EXAMPLES:

Set of differentiable maps between a 2-dimensional differentiable manifold and a 3-dimensional one:

sage: M = Manifold(2, 'M')
sage: X.<x,y> = M.chart()
sage: N = Manifold(3, 'N')
sage: Y.<u,v,w> = N.chart()
sage: H = Hom(M, N) ; H
Set of Morphisms from 2-dimensional differentiable manifold M to
 3-dimensional differentiable manifold N in Category of smooth
 manifolds over Real Field with 53 bits of precision
sage: type(H)
<class 'sage.manifolds.differentiable.manifold_homset.DifferentiableManifoldHomset_with_category'>
sage: H.category()
Category of homsets of topological spaces
sage: latex(H)
\mathrm{Hom}\left(M,N\right)
sage: H.domain()
2-dimensional differentiable manifold M
sage: H.codomain()
3-dimensional differentiable manifold N

An element of H is a differentiable map from M to N:

sage: H.Element
<class 'sage.manifolds.differentiable.diff_map.DiffMap'>
sage: f = H.an_element() ; f
Differentiable map from the 2-dimensional differentiable manifold M to the
 3-dimensional differentiable manifold N
sage: f.display()
M --> N
   (x, y) |--> (u, v, w) = (0, 0, 0)

The test suite is passed:

sage: TestSuite(H).run()

When the codomain coincides with the domain, the homset is a set of endomorphisms in the category of differentiable manifolds:

sage: E = Hom(M, M) ; E
Set of Morphisms from 2-dimensional differentiable manifold M to
 2-dimensional differentiable manifold M in Category of smooth
 manifolds over Real Field with 53 bits of precision
sage: E.category()
Category of endsets of topological spaces
sage: E.is_endomorphism_set()
True
sage: E is End(M)
True

In this case, the homset is a monoid for the law of morphism composition:

sage: E in Monoids()
True

This was of course not the case for H = Hom(M, N):

sage: H in Monoids()
False

The identity element of the monoid is of course the identity map of M:

sage: E.one()
Identity map Id_M of the 2-dimensional differentiable manifold M
sage: E.one() is M.identity_map()
True
sage: E.one().display()
Id_M: M --> M
   (x, y) |--> (x, y)

The test suite is passed by E:

sage: TestSuite(E).run()

This test suite includes more tests than in the case of H, since E has some extra structure (monoid).

Element

alias of DiffMap