Maps from and to Henselizations of rings¶
AUTHORS:
- Julian Rüth (2016-12-01): initial version
-
class
henselization.sage.rings.padics.henselization.maps.ConvertMap_generic¶ Bases:
MorphismConversion map for codomains which can handle elements in the fraction field of the base of a Henselization.
EXAMPLES:
sage: from henselization import * sage: K = QQ.henselization(5) sage: QQ.convert_map_from(K) Generic morphism: From: Henselization of Rational Field with respect to 5-adic valuation To: Rational Field
-
class
henselization.sage.rings.padics.henselization.maps.ExtensionCoercion_generic¶ Bases:
henselization.sage.rings.padics.henselization.maps.ConvertMap_genericCoercion map from a Henselization to an algebraic extension.
EXAMPLES:
sage: from henselization import * sage: K = QQ.henselization(2) sage: R.<x> = K[] sage: L = K.extension(x^2 + x + 1) sage: L.coerce_map_from(K) Generic morphism: From: Henselization of Rational Field with respect to 2-adic valuation To: Extension defined by x^2 + x + 1 of Henselization of Rational Field with respect to 2-adic valuation
-
is_injective()¶ Return whether this coercion is injective.
EXAMPLES:
sage: from henselization import * sage: S = ZZ.henselization(2) sage: R.<x> = S[] sage: T = S.extension(x^2 + x + 1) sage: T.coerce_map_from(S).is_injective() True
-
-
class
henselization.sage.rings.padics.henselization.maps.QuotientConversion_generic¶ Bases:
MorphismA conversion between two quotients that is induced by a conversion between their bases.
-
class
henselization.sage.rings.padics.henselization.maps.RelativeExtensionCoercion_generic¶ Bases:
MorphismA coercion between extensions of complete rings which extend each other.
EXAMPLES:
sage: from henselization import * sage: K = QQ.henselization(2) sage: R.<x> = K[] sage: L = K.extension(x^2 + x + 1) sage: R.<y> = L[] sage: M = L.extension(y^2 + 2) sage: f = M.coerce_map_from(L); f Generic morphism: From: Extension defined by x^2 + x + 1 of Henselization of Rational Field with respect to 2-adic valuation To: Extension defined by y^2 + 2 of Extension defined by x^2 + x + 1 of Henselization of Rational Field with respect to 2-adic valuation
TESTS:
sage: from sage.rings.padics.henselization.maps import RelativeExtensionCoercion_generic sage: isinstance(f, RelativeExtensionCoercion_generic) True sage: TestSuite(f).run()
-
is_injective()¶ Return whether this coercion is injective, which is the case since it is the embedding of a ring extension.
EXAMPLES:
sage: from henselization import * sage: K = QQ.henselization(2) sage: R.<x> = K[] sage: L = K.extension(x^2 + x + 1) sage: R.<y> = L[] sage: M = L.extension(y^2 + 2) sage: M.coerce_map_from(L).is_injective() True
-
is_surjective()¶ Return whether this coercion is surjective, which is only the case for trivial extensions.
EXAMPLES:
sage: from henselization import * sage: K = QQ.henselization(2) sage: R.<x> = K[] sage: L = K.extension(x^2 + x + 1) sage: R.<y> = L[] sage: M = L.extension(y^2 + 2) sage: M.coerce_map_from(L).is_surjective() False sage: R.<z> = M[] sage: N = M.extension(z - 1) sage: N.coerce_map_from(M).is_surjective() True
^
-
-
class
henselization.sage.rings.padics.henselization.maps.VectorSpaceHenselizationIsomorphism¶ Bases:
MorphismBase class for isomorphisms of Henselizations and vector spaces.
TESTS:
sage: from henselization import * sage: K = QQ.henselization(2) sage: R.<x> = K[] sage: L = K.extension(x^2 + x + 1) sage: f = L.module()[1] sage: from sage.rings.padics.henselization.maps import VectorSpaceHenselizationIsomorphism sage: isinstance(f, VectorSpaceHenselizationIsomorphism) True
-
is_injective()¶ Return that this isomorphism is injective.
EXAMPLES:
sage: from henselization import * sage: K = QQ.henselization(2) sage: R.<x> = K[] sage: L = K.extension(x^2 + x + 1) sage: f = L.module()[1] sage: f.is_injective() True
-
is_surjective()¶ Return that this isomorphism is surjective.
EXAMPLES:
sage: from henselization import * sage: K = QQ.henselization(2) sage: R.<x> = K[] sage: L = K.extension(x^2 + x + 1) sage: f = L.module()[1] sage: f.is_surjective() True
-