Function Field Morphisms¶
AUTHORS:
- William Stein (2010): initial version
- Julian Rueth (2011-09-14, 2014-06-23): refactored class hierarchy; added derivation classes
EXAMPLES:
sage: K.<x> = FunctionField(QQ); R.<y> = K[]
sage: K.hom(1/x)
Function Field endomorphism of Rational function field in x over Rational Field
Defn: x |--> 1/x
sage: L.<y> = K.extension(y^2 - x)
sage: K.hom(y)
Function Field morphism:
From: Rational function field in x over Rational Field
To: Function field in y defined by y^2 - x
Defn: x |--> y
sage: L.hom([y,x])
Function Field endomorphism of Function field in y defined by y^2 - x
Defn: y |--> y
x |--> x
sage: L.hom([x,y])
Traceback (most recent call last):
...
ValueError: invalid morphism
-
class
sage.rings.function_field.maps.
FunctionFieldConversionToConstantBaseField
(parent)¶ Bases:
sage.categories.map.Map
Conversion map from the function field to its constant base field.
EXAMPLES:
sage: K.<x> = FunctionField(QQ) sage: QQ.convert_map_from(K) Conversion map: From: Rational function field in x over Rational Field To: Rational Field
-
class
sage.rings.function_field.maps.
FunctionFieldDerivation
(K)¶ Bases:
sage.categories.map.Map
A base class for derivations on function fields.
A derivation on \(R\) is map \(R\to R\) with \(D(\alpha+\beta)=D(\alpha)+D(\beta)\) and \(D(\alpha\beta)=\beta D(\alpha)+\alpha D(\beta)\) for all \(\alpha,\beta\in R\).
EXAMPLES:
sage: K.<x> = FunctionField(QQ) sage: d = K.derivation() sage: isinstance(d, sage.rings.function_field.maps.FunctionFieldDerivation) True
-
is_injective
()¶ Return whether this derivation is injective.
OUTPUT:
Returns
False
since derivations are never injective.EXAMPLES:
sage: K.<x> = FunctionField(QQ) sage: d = K.derivation() sage: d.is_injective() False
-
-
class
sage.rings.function_field.maps.
FunctionFieldDerivation_rational
(K, u)¶ Bases:
sage.rings.function_field.maps.FunctionFieldDerivation
A derivation on a rational function field.
EXAMPLES:
sage: K.<x> = FunctionField(QQ) sage: d = K.derivation() sage: isinstance(d, sage.rings.function_field.maps.FunctionFieldDerivation_rational) True
-
class
sage.rings.function_field.maps.
FunctionFieldDerivation_separable
(L, d)¶ Bases:
sage.rings.function_field.maps.FunctionFieldDerivation
The unique extension of the derivation
d
toL
.EXAMPLES:
sage: K.<x> = FunctionField(QQ) sage: R.<y> = K[] sage: L.<y> = K.extension(y^2 - x) sage: d = L.derivation()
-
class
sage.rings.function_field.maps.
FunctionFieldIsomorphism
¶ Bases:
sage.categories.morphism.Morphism
A base class for isomorphisms between function fields and vector spaces.
EXAMPLES:
sage: K.<x> = FunctionField(QQ); R.<y> = K[] sage: L.<y> = K.extension(y^2 - x*y + 4*x^3) sage: V, f, t = L.vector_space() sage: isinstance(f, sage.rings.function_field.maps.FunctionFieldIsomorphism) True
-
is_injective
()¶ Return True, since this isomorphism is injective.
EXAMPLES:
sage: K.<x> = FunctionField(QQ); R.<y> = K[] sage: L.<y> = K.extension(y^2 - x*y + 4*x^3) sage: V, f, t = L.vector_space() sage: f.is_injective() True
-
is_surjective
()¶ Return True, since this isomorphism is surjective.
EXAMPLES:
sage: K.<x> = FunctionField(QQ); R.<y> = K[] sage: L.<y> = K.extension(y^2 - x*y + 4*x^3) sage: V, f, t = L.vector_space() sage: f.is_surjective() True
-
-
class
sage.rings.function_field.maps.
FunctionFieldMorphism
(parent, im_gen, base_morphism)¶ Bases:
sage.rings.morphism.RingHomomorphism
Base class for morphisms between function fields.
-
class
sage.rings.function_field.maps.
FunctionFieldMorphism_polymod
(parent, im_gen, base_morphism)¶ Bases:
sage.rings.function_field.maps.FunctionFieldMorphism
Morphism from a finite extension of a function field to a function field.
EXAMPLES:
sage: K.<x> = FunctionField(QQ); R.<y> = K[] sage: L.<y> = K.extension(y^2 - x) sage: f = L.hom(-y); f Function Field endomorphism of Function field in y defined by y^2 - x Defn: y |--> -y
-
class
sage.rings.function_field.maps.
FunctionFieldMorphism_rational
(parent, im_gen, base_morphism)¶ Bases:
sage.rings.function_field.maps.FunctionFieldMorphism
Morphism from a rational function field to a function field.
EXAMPLES:
sage: K.<x> = FunctionField(QQ) sage: f = K.hom(1/x); f Function Field endomorphism of Rational function field in x over Rational Field Defn: x |--> 1/x
-
class
sage.rings.function_field.maps.
MapFunctionFieldToVectorSpace
(K, V)¶ Bases:
sage.rings.function_field.maps.FunctionFieldIsomorphism
An isomorphism from a function field to a vector space.
EXAMPLES:
sage: K.<x> = FunctionField(QQ); R.<y> = K[] sage: L.<y> = K.extension(y^2 - x*y + 4*x^3) sage: V, f, t = L.vector_space(); t Isomorphism morphism: From: Function field in y defined by y^2 - x*y + 4*x^3 To: Vector space of dimension 2 over Rational function field in x over Rational Field
-
codomain
()¶ Return the vector space which is the domain of this isomorphism.
EXAMPLES:
sage: K.<x> = FunctionField(QQ); R.<y> = K[] sage: L.<y> = K.extension(y^2 - x*y + 4*x^3) sage: V, f, t = L.vector_space() sage: t.codomain() Vector space of dimension 2 over Rational function field in x over Rational Field
-
domain
()¶ Return the function field which is the domain of this isomorphism.
EXAMPLES:
sage: K.<x> = FunctionField(QQ); R.<y> = K[] sage: L.<y> = K.extension(y^2 - x*y + 4*x^3) sage: V, f, t = L.vector_space() sage: t.domain() Function field in y defined by y^2 - x*y + 4*x^3
-
-
class
sage.rings.function_field.maps.
MapVectorSpaceToFunctionField
(V, K)¶ Bases:
sage.rings.function_field.maps.FunctionFieldIsomorphism
An isomorphism from a vector space to a function field.
EXAMPLES:
sage: K.<x> = FunctionField(QQ); R.<y> = K[] sage: L.<y> = K.extension(y^2 - x*y + 4*x^3) sage: V, f, t = L.vector_space(); f Isomorphism morphism: From: Vector space of dimension 2 over Rational function field in x over Rational Field To: Function field in y defined by y^2 - x*y + 4*x^3
-
codomain
()¶ Return the function field which is the codomain of this isomorphism.
EXAMPLES:
sage: K.<x> = FunctionField(QQ); R.<y> = K[] sage: L.<y> = K.extension(y^2 - x*y + 4*x^3) sage: V, f, t = L.vector_space() sage: f.codomain() Function field in y defined by y^2 - x*y + 4*x^3
-
domain
()¶ Return the vector space which is the domain of this isomorphism.
EXAMPLES:
sage: K.<x> = FunctionField(QQ); R.<y> = K[] sage: L.<y> = K.extension(y^2 - x*y + 4*x^3) sage: V, f, t = L.vector_space() sage: f.domain() Vector space of dimension 2 over Rational function field in x over Rational Field
-