Places of function fields#
The places of a function field correspond, one-to-one, to valuation rings of the function field, each of which defines a discrete valuation for the elements of the function field. “Finite” places are in one-to-one correspondence with the prime ideals of the finite maximal order while places “at infinity” are in one-to-one correspondence with the prime ideals of the infinite maximal order.
EXAMPLES:
All rational places of a function field can be computed:
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.rings.function_field
sage: L.places() # optional - sage.rings.finite_rings sage.rings.function_field
[Place (1/x, 1/x^3*y^2 + 1/x),
Place (1/x, 1/x^3*y^2 + 1/x^2*y + 1),
Place (x, y)]
The residue field associated with a place is given as an extension of the constant field:
sage: F.<x> = FunctionField(GF(2)) # optional - sage.rings.finite_rings
sage: O = F.maximal_order() # optional - sage.rings.finite_rings
sage: p = O.ideal(x^2 + x + 1).place() # optional - sage.rings.finite_rings
sage: k, fr_k, to_k = p.residue_field() # optional - sage.rings.finite_rings
sage: k # optional - sage.rings.finite_rings
Finite Field in z2 of size 2^2
The homomorphisms are between the valuation ring and the residue field:
sage: fr_k # optional - sage.rings.finite_rings
Ring morphism:
From: Finite Field in z2 of size 2^2
To: Valuation ring at Place (x^2 + x + 1)
sage: to_k # optional - sage.rings.finite_rings
Ring morphism:
From: Valuation ring at Place (x^2 + x + 1)
To: Finite Field in z2 of size 2^2
AUTHORS:
Kwankyu Lee (2017-04-30): initial version
Brent Baccala (2019-12-20): function fields of characteristic zero
- class sage.rings.function_field.place.FunctionFieldPlace(parent, prime)#
Bases:
Element
Places of function fields.
INPUT:
parent
– place set of a function fieldprime
– prime ideal associated with the place
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.rings.function_field sage: L.places_finite()[0] # optional - sage.rings.finite_rings sage.rings.function_field Place (x, y)
- divisor(multiplicity=1)#
Return the prime divisor corresponding to the place.
EXAMPLES:
sage: K.<x> = FunctionField(GF(5)); R.<Y> = PolynomialRing(K) # optional - sage.rings.finite_rings sage: F.<y> = K.extension(Y^2 - x^3 - 1) # optional - sage.rings.finite_rings sage.rings.function_field sage: O = F.maximal_order() # optional - sage.rings.finite_rings sage.rings.function_field sage: I = O.ideal(x + 1, y) # optional - sage.rings.finite_rings sage.rings.function_field sage: P = I.place() # optional - sage.rings.finite_rings sage.rings.function_field sage: P.divisor() # optional - sage.rings.finite_rings sage.rings.function_field Place (x + 1, y)
- function_field()#
Return the function field to which the place belongs.
EXAMPLES:
sage: K.<x> = FunctionField(GF(2)); _.<Y> = K[] # optional - sage.rings.finite_rings sage: L.<y> = K.extension(Y^3 + x^3*Y + x) # optional - sage.rings.finite_rings sage.rings.function_field sage: p = L.places()[0] # optional - sage.rings.finite_rings sage.rings.function_field sage: p.function_field() == L # optional - sage.rings.finite_rings sage.rings.function_field True
- prime_ideal()#
Return the prime ideal associated with the place.
EXAMPLES:
sage: K.<x> = FunctionField(GF(2)); _.<Y> = K[] # optional - sage.rings.finite_rings sage: L.<y> = K.extension(Y^3 + x^3*Y + x) # optional - sage.rings.finite_rings sage.rings.function_field sage: p = L.places()[0] # optional - sage.rings.finite_rings sage.rings.function_field sage: p.prime_ideal() # optional - sage.rings.finite_rings sage.rings.function_field Ideal (1/x^3*y^2 + 1/x) of Maximal infinite order of Function field in y defined by y^3 + x^3*y + x
- class sage.rings.function_field.place.PlaceSet(field)#
Bases:
UniqueRepresentation
,Parent
Sets of Places of function fields.
INPUT:
field
– function field
EXAMPLES:
sage: K.<x> = FunctionField(GF(2)); _.<Y> = K[] # optional - sage.rings.finite_rings sage: L.<y> = K.extension(Y^3 + x^3*Y + x) # optional - sage.rings.finite_rings sage.rings.function_field sage: L.place_set() # optional - sage.rings.finite_rings sage.rings.function_field Set of places of Function field in y defined by y^3 + x^3*y + x
- Element#
alias of
FunctionFieldPlace
- function_field()#
Return the function field to which this place set belongs.
EXAMPLES:
sage: K.<x> = FunctionField(GF(2)); _.<Y> = K[] # optional - sage.rings.finite_rings sage: L.<y> = K.extension(Y^3 + x^3*Y + x) # optional - sage.rings.finite_rings sage.rings.function_field sage: PS = L.place_set() # optional - sage.rings.finite_rings sage.rings.function_field sage: PS.function_field() == L # optional - sage.rings.finite_rings sage.rings.function_field True