# 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.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)

A derivation on a rational function field.

INPUT:

• K – a rational function field
• u – an element of K, the image of the generator of K under the derivation.

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.FunctionFieldIsomorphism

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)

Base class for morphisms between function fields.

is_injective()

Returns True since homomorphisms of fields are injective.

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
sage: f.is_injective()
True

class sage.rings.function_field.maps.FunctionFieldMorphism_polymod(parent, im_gen, base_morphism)

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)

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)

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)

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


#### Previous topic

Ideals in Function Fields

#### Next topic

Factories to construct Function Fields