Derivations of function fields - Algebraic Function Fields

Skip to content
Back to top
View this page
Edit this page

# Derivations of function fields

For global function fields, which have positive characteristics, the higher derivation is available:

Sage

    sage: K.<x> = FunctionField(GF(2)); _.<Y> = K[]
    sage: L.<y> = K.extension(Y^3 + x + x^3*Y)                                          # needs sage.rings.function_field
    sage: h = L.higher_derivation()                                                     # needs sage.rings.function_field
    sage: h(y^2, 2)                                                                     # needs sage.rings.function_field
    ((x^7 + 1)/x^2)*y^2 + x^3*y

Python

    >>> from sage.all import *
    >>> K = FunctionField(GF(Integer(2)), names=('x',)); (x,) = K._first_ngens(1); _ = K['Y']; (Y,) = _._first_ngens(1)
    >>> L = K.extension(Y**Integer(3) + x + x**Integer(3)*Y, names=('y',)); (y,) = L._first_ngens(1)# needs sage.rings.function_field
    >>> h = L.higher_derivation()                                                     # needs sage.rings.function_field
    >>> h(y**Integer(2), Integer(2))                                                                     # needs sage.rings.function_field
    ((x^7 + 1)/x^2)*y^2 + x^3*y

AUTHORS:

- William Stein (2010): initial version

- Julian Rüth (2011-09-14, 2014-06-23, 2017-08-21): refactored class hierarchy; added derivation classes; morphisms to/from fraction fields

- Kwankyu Lee (2017-04-30): added higher derivations and completions

class sage.rings.function_field.derivations.FunctionFieldDerivation(parent)

  Bases: `RingDerivationWithoutTwist`

  Base class for derivations on function fields.

  A derivation on \(R\) is a 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

      sage: K.<x> = FunctionField(QQ)
      sage: d = K.derivation()
      sage: d
      d/dx

  Python

      >>> from sage.all import *
      >>> K = FunctionField(QQ, names=('x',)); (x,) = K._first_ngens(1)
      >>> d = K.derivation()
      >>> d
      d/dx

  is_injective()

    Return `False` since a derivation is never injective.

    EXAMPLES:

    Sage

        sage: K.<x> = FunctionField(QQ)
        sage: d = K.derivation()
        sage: d.is_injective()
        False

    Python

        >>> from sage.all import *
        >>> K = FunctionField(QQ, names=('x',)); (x,) = K._first_ngens(1)
        >>> d = K.derivation()
        >>> d.is_injective()
        False