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 derivationu
– a parameter describing the derivation
EXAMPLES:
sage: K.<x> = FunctionField(GF(2)) # optional - sage.rings.finite_rings sage: R.<y> = K[] # optional - sage.rings.finite_rings sage: L.<y> = K.extension(y^2 - x) # optional - sage.rings.finite_rings sage: d = L.derivation() # optional - sage.rings.finite_rings
This also works for iterated non-monic extensions:
sage: K.<x> = FunctionField(GF(2)) # optional - sage.rings.finite_rings sage: R.<y> = K[] # optional - sage.rings.finite_rings sage: L.<y> = K.extension(y^2 - 1/x) # optional - sage.rings.finite_rings sage: R.<z> = L[] # optional - sage.rings.finite_rings sage: M.<z> = L.extension(z^2*y - x^3) # optional - sage.rings.finite_rings sage: M.derivation() # optional - sage.rings.finite_rings d/dz
We can also create a multiple of the canonical derivation:
sage: M.derivation([x]) # optional - sage.rings.finite_rings 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)) # optional - sage.rings.finite_rings sage: F.higher_derivation() # optional - sage.rings.finite_rings 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[] # optional - sage.rings.finite_rings sage: L.<y> = K.extension(Y^3 + x + x^3*Y) # optional - sage.rings.finite_rings sage: h = L.higher_derivation() # optional - sage.rings.finite_rings sage: h # optional - sage.rings.finite_rings 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) # optional - sage.rings.finite_rings ((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)) # optional - sage.rings.finite_rings sage: h = F.higher_derivation() # optional - sage.rings.finite_rings sage: h # optional - sage.rings.finite_rings 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) # optional - sage.rings.finite_rings 1