### Navigation

- index
- modules |
- next |
- previous |
- Algebraic Function Fields »

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

  Bases: `sage.rings.function_field.maps.FunctionFieldDerivation`

  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`

  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.

  `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)

  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)

  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

### Navigation

- index
- modules |
- next |
- previous |
- Algebraic Function Fields »