Special extensions of function fields#
This module currently implements only constant field extension.
Constant field extensions#
EXAMPLES:
Constant field extension of the rational function field over rational numbers:
sage: K.<x> = FunctionField(QQ)
sage: N.<a> = QuadraticField(2)
sage: L = K.extension_constant_field(N)
sage: L
Rational function field in x over Number Field in a with defining
polynomial x^2 - 2 with a = 1.4142... over its base
sage: d = (x^2 - 2).divisor()
sage: d
-2*Place (1/x)
+ Place (x^2 - 2)
sage: L.conorm_divisor(d)
-2*Place (1/x)
+ Place (x - a)
+ Place (x + a)
Constant field extension of a function field over a finite field:
sage: K.<x> = FunctionField(GF(2)); R.<Y> = K[]
sage: F.<y> = K.extension(Y^3 - x^2*(x^2 + x + 1)^2)
sage: E = F.extension_constant_field(GF(2^3))
sage: E
Function field in y defined by y^3 + x^6 + x^4 + x^2 over its base
sage: p = F.get_place(3)
sage: E.conorm_place(p) # random
Place (x + z3, y + z3^2 + z3)
+ Place (x + z3^2, y + z3)
+ Place (x + z3^2 + z3, y + z3^2)
sage: q = F.get_place(2)
sage: E.conorm_place(q) # random
Place (x + 1, y^2 + y + 1)
sage: E.conorm_divisor(p + q) # random
Place (x + 1, y^2 + y + 1)
+ Place (x + z3, y + z3^2 + z3)
+ Place (x + z3^2, y + z3)
+ Place (x + z3^2 + z3, y + z3^2)
AUTHORS:
Kwankyu Lee (2021-12-24): added constant field extension
- class sage.rings.function_field.extensions.ConstantFieldExtension(F, k_ext)#
Bases:
FunctionFieldExtension
Constant field extension.
INPUT:
F
– a function field whose constant field is \(k\)k_ext
– an extension of \(k\)
- conorm_divisor(d)#
Return the conorm of the divisor
d
in this extension.INPUT:
d
– divisor of the base function field
OUTPUT: a divisor of the top function field
EXAMPLES:
sage: K.<x> = FunctionField(GF(2)); R.<Y> = K[] sage: F.<y> = K.extension(Y^3 - x^2*(x^2 + x + 1)^2) sage: E = F.extension_constant_field(GF(2^3)) sage: p1 = F.get_place(3) sage: p2 = F.get_place(2) sage: c = E.conorm_divisor(2*p1+ 3*p2) sage: c1 = E.conorm_place(p1) sage: c2 = E.conorm_place(p2) sage: c == 2*c1 + 3*c2 True
- conorm_place(p)#
Return the conorm of the place \(p\) in this extension.
INPUT:
p
– place of the base function field
OUTPUT: divisor of the top function field
EXAMPLES:
sage: K.<x> = FunctionField(GF(2)); R.<Y> = K[] sage: F.<y> = K.extension(Y^3 - x^2*(x^2 + x + 1)^2) sage: E = F.extension_constant_field(GF(2^3)) sage: p = F.get_place(3) sage: d = E.conorm_place(p) sage: [pl.degree() for pl in d.support()] [1, 1, 1] sage: p = F.get_place(2) sage: d = E.conorm_place(p) sage: [pl.degree() for pl in d.support()] [2]
- defining_morphism()#
Return the defining morphism of this extension.
This is the morphism from the base to the top.
EXAMPLES:
sage: K.<x> = FunctionField(GF(2)); R.<Y> = K[] sage: F.<y> = K.extension(Y^3 - x^2*(x^2 + x + 1)^2) sage: E = F.extension_constant_field(GF(2^3)) sage: E.defining_morphism() Function Field morphism: From: Function field in y defined by y^3 + x^6 + x^4 + x^2 To: Function field in y defined by y^3 + x^6 + x^4 + x^2 Defn: y |--> y x |--> x 1 |--> 1
- top()#
Return the top function field of this extension.
EXAMPLES:
sage: K.<x> = FunctionField(GF(2)); R.<Y> = K[] sage: F.<y> = K.extension(Y^3 - x^2*(x^2 + x + 1)^2) sage: E = F.extension_constant_field(GF(2^3)) sage: E.top() Function field in y defined by y^3 + x^6 + x^4 + x^2
- class sage.rings.function_field.extensions.FunctionFieldExtension#
Bases:
RingExtension_generic
Abstract base class of function field extensions.