Derivations of function fields: extension#

class sage.rings.function_field.derivations_polymod.FunctionFieldDerivation_inseparable(parent, u=None)#

Bases: FunctionFieldDerivation

Initialize this derivation.

INPUT:

  • parent – the parent of this derivation

  • u – a parameter describing the derivation

EXAMPLES:

sage: K.<x> = FunctionField(GF(2))
sage: R.<y> = K[]
sage: L.<y> = K.extension(y^2 - x)
sage: d = L.derivation()

This also works for iterated non-monic extensions:

sage: K.<x> = FunctionField(GF(2))
sage: R.<y> = K[]
sage: L.<y> = K.extension(y^2 - 1/x)
sage: R.<z> = L[]
sage: M.<z> = L.extension(z^2*y - x^3)
sage: M.derivation()
d/dz

We can also create a multiple of the canonical derivation:

sage: M.derivation([x])
x*d/dz
class sage.rings.function_field.derivations_polymod.FunctionFieldDerivation_separable(parent, d)#

Bases: FunctionFieldDerivation

Derivations of separable extensions.

EXAMPLES:

sage: K.<x> = FunctionField(QQ)
sage: R.<y> = K[]
sage: L.<y> = K.extension(y^2 - x)
sage: L.derivation()
d/dx
class sage.rings.function_field.derivations_polymod.FunctionFieldHigherDerivation(field)#

Bases: Map

Base class of higher derivations on function fields.

INPUT:

  • field – function field on which the derivation operates

EXAMPLES:

sage: F.<x> = FunctionField(GF(2))
sage: F.higher_derivation()
Higher derivation map:
  From: Rational function field in x over Finite Field of size 2
  To:   Rational function field in x over Finite Field of size 2
class sage.rings.function_field.derivations_polymod.FunctionFieldHigherDerivation_char_zero(field)#

Bases: FunctionFieldHigherDerivation

Higher derivations of function fields of characteristic zero.

INPUT:

  • field – function field on which the derivation operates

EXAMPLES:

sage: K.<x> = FunctionField(QQ); _.<Y> = K[]
sage: L.<y> = K.extension(Y^3 + x + x^3*Y)
sage: h = L.higher_derivation()
sage: h
Higher derivation map:
  From: Function field in y defined by y^3 + x^3*y + x
  To:   Function field in y defined by y^3 + x^3*y + x
sage: h(y,1) == -(3*x^2*y+1)/(3*y^2+x^3)
True
sage: h(y^2,1) == -2*y*(3*x^2*y+1)/(3*y^2+x^3)
True
sage: e = L.random_element()
sage: h(h(e,1),1) == 2*h(e,2)
True
sage: h(h(h(e,1),1),1) == 3*2*h(e,3)
True
class sage.rings.function_field.derivations_polymod.FunctionFieldHigherDerivation_global(field)#

Bases: FunctionFieldHigherDerivation

Higher derivations of global function fields.

INPUT:

  • field – function field on which the derivation operates

EXAMPLES:

sage: K.<x> = FunctionField(GF(2)); _.<Y> = K[]
sage: L.<y> = K.extension(Y^3 + x + x^3*Y)
sage: h = L.higher_derivation()
sage: h
Higher derivation map:
  From: Function field in y defined by y^3 + x^3*y + x
  To:   Function field in y defined by y^3 + x^3*y + x
sage: h(y^2, 2)
((x^7 + 1)/x^2)*y^2 + x^3*y
class sage.rings.function_field.derivations_polymod.RationalFunctionFieldHigherDerivation_global(field)#

Bases: FunctionFieldHigherDerivation

Higher derivations of rational function fields over finite fields.

INPUT:

  • field – function field on which the derivation operates

EXAMPLES:

sage: F.<x> = FunctionField(GF(2))
sage: h = F.higher_derivation()
sage: h
Higher derivation map:
  From: Rational function field in x over Finite Field of size 2
  To:   Rational function field in x over Finite Field of size 2
sage: h(x^2, 2)
1