Places and Divisors

A place of a number field K is a class of absolute values (valuations) that induce the same topology on the field. By a famous theorem of Ostrowski, places of number fields are either finite, in which case they are in a one-to-one correspondence with the on-zero prime ideals of the maximal order, or infinite. The infinite places are identified with the embedding of K into R or with pairs of embeddings into C.

The group of divisors is formally the free group generated by the finite places and the R-vectorspace generated by the infinite ones.

For more information see Section Places and Divisors.

Contents

Creation of Structures

Places(K) : FldNum -> PlcNum
DivisorGroup(K) : FldNum -> DivNum
The set of places of the number field K and the group of divisors of K respectively.

Operations on Structures

d1 eq d2 : DivNum, DivNum -> BoolElt
p1 eq p2 : PlcNum, PlcNum -> BoolElt
NumberField(P) : PlcNum -> FldNum
NumberField(D) : DivNum -> FldNum
The number field for which P is the set of places or D is the group of divisors.

Creation of Elements

Place(I) : RngOrdIdl -> PlcNumElt
The place corresponding to prime ideal I.
Decomposition(K, I) : FldAlg, Infty -> SeqEnum
Decomposition(K, p) : FldAlg, RngIntElt -> SeqEnum
    Al: MonStgElt                       Default: 
A sequence of tuples of places and multiplicities. When a finite prime (integer) p is given, the places and multiplicities correspond to the decomposition of p in the maximal order of K. When the infinite prime is given, a sequence of all infinite places is returned. When K is an extension of Q by a single monic integral polynomial and p is an integer, Al can be set to "Montes" to use the Montes algorithm [Sta18] for this computation.
Decomposition(K, p) : FldNum, PlcNumElt -> SeqEnum
For a number field K and a place p of the coefficient field of K, compute all places (and their multiplicity) that extend p. For finite places this is equivalent to the decomposition of the underlying prime ideal. The sequence returned will contain the places of K extending p and their ramification index.

For an infinite place p, this function will compute all extensions of p in K. In this case, the integer returned in the second component of the tuples will be 1 if p is complex or if p is real and extends to a real place and 2 otherwise.

Decomposition(m, p) : Map[FldRat, FldAlg], RngIntElt -> SeqEnum[<PlcNumElt, RngIntElt>]
Decomposition(m, p) : Map[FldAlg, FldAlg], PlcNumElt -> SeqEnum[<PlcNumElt, RngIntElt>]
For an extension K/k of number fields (where k can be Q as well), given by the embedding map m: k to K, decompose the place p of k in the larger field. In case k=Q, the place is given as either a prime number or zero to indicate the infinite place. The sequence returned contains pairs where the first component is a place above p via m and the second is the ramification index.
InfinitePlaces(K) : FldAlg -> [PlcNumElt]
InfinitePlaces(O) : RngOrd -> [PlcNumElt]
A sequence containing all the infinite places of the number field K or the order O is returned.
RealPlaces(K) : FldAlg -> [PlcNumElt]
The sequence of infinite places of K which correspond to real embeddings.
Divisor(pl) : PlcNumElt -> DivNumElt
The divisor 1 * pl for a place pl.
Divisor(I) : RngOrdFracIdl -> DivNumElt
The divisor which is the linear combination of the places corresponding to the factorization of the ideal I and the exponents of that factorization.
Divisor(x) : FldNumElt -> DivNumElt
The principal divisor xO where O is the maximal order of the underlying number field of which x is an element. In particular, this computes a finite divisor.

Arithmetic with Places and Divisors

Divisors and places can be added, negated, subtracted and multiplied and divided by integers.

d1 + d2 : DivNumElt, DivNumElt -> DivNumElt
p + d : PlcNumElt, DivNumElt -> DivNumElt
d + p : DivNumElt, PlcNumElt -> DivNumElt
p1 + p2 : PlcNumElt, PlcNumElt -> DivNumElt
- p : PlcNumElt -> DivNumElt
- d : DivNumElt -> DivNumElt
d - p : DivNumElt, PlcNumElt -> DivNumElt
p - d : PlcNumElt, DivNumElt -> DivNumElt
d1 - d2 : DivNumElt, DivNumElt -> DivNumElt
p1 - p2 : PlcNumElt, PlcNumElt -> DivNumElt
p * k : PlcNumElt, RngIntElt -> DivNumElt
d * k : DivNumElt, RngIntElt -> DivNumElt
p div k : PlcNumElt, RngIntElt -> DivNumElt
d div k : DivNumElt, RngIntElt -> DivNumElt

Other Functions for Places and Divisors

Valuation(a, p) : FldNumElt, PlcNumElt -> RngElt
Valuation(a, p) : RngElt, PlcNumElt -> RngElt
The valuation of the element a of a number field or order at the place p. If p was constructed using the Montes algorithm then the Montes algorithm [Sta18] will also be used to compute the valuation.
Valuation(I, p) : RngOrdFracIdl , PlcNumElt -> RngElt
The valuation of the ideal I at the finite place p.
Support(D) : DivNumElt -> SeqEnum, SeqEnum
The support of the divisor D as a sequence of places and a sequence of the corresponding exponents.
Ideal(D) : DivNumElt -> RngOrdIdl
Ideal(D) : PlcNumElt -> RngOrdIdl
The ideal corresponding to the finite part of the divisor D.
IsFinite(p) : PlcNumElt -> BoolElt
For a place p of a number field, return if the place is finite, i.e. if it corresponds to a prime ideal.
IsInfinite(p) : PlcNumElt -> BoolElt, RngIntElt
For a place p of a number field return if the place is infinite, ie. if it corresponds to an embedding of the number field into the real or complex numbers. If the place is infinite, the index of the embedding it corresponds to is returned as well.
IsReal(p) : PlcNumElt -> BoolElt
For an infinite place, returns true if the image of the embedding is contained in the real numbers.
IsComplex(p) : PlcNumElt -> BoolElt
For an infinite place, return true if the image of the embedding is not contained in the real numbers.
Extends(P, p) : PlcNumElt, PlcNumElt -> BoolElt
For two places P of K and p of k where K is an extension of k, check whether P extends p. For finite places, this is equivalent to checking if the prime ideal corresponding to P divides, in the maximal order of K the prime ideal of p. For infinite places true implies that for elements of k, evaluation at P and p will give identical results.
InertiaDegree(P) : PlcNumElt -> RngIntElt
Degree(P) : PlcNumElt -> RngIntElt
For a place P of a number field, return the inertia degree of P. That is for a finite place, return the degree of the residue class field over it's prime field, for infinite places it is always 1.
Degree(D) : DivNumElt -> RngElt
For a divisor D of a number field, the degree is the weighted sum of the degrees of the supporting places, the weights being the multiplicities.
NumberField(P) : PlcNumElt -> FldNum
NumberField(D) : DivNumElt -> FldNum
For a place P or divisor D of a number field, return the underlying number field.
ResidueClassField(P) : PlcNumElt -> Fld
For a place P of a number field, compute the residue class field of P. For a finite place this will be a finite field, namely the residue class field of the underlying prime ideal. For an infinite place, the residue class field will be the field of real or complex numbers.
UniformizingElement(P) : PlcNumElt -> FldNumElt
For a finite place P of a number field, return an element of valuation 1. This will be the uniformizing element of the underlying prime ideal as well.
LocalDegree(P) : PlcNumElt -> RngIntElt
The degree of the completion at the place P, ie. the product of the inertia degree times the ramification index.
RamificationIndex(P) : PlcNumElt -> RngIntElt
The ramification index of the place P. For infinite real places this is 1 and 2 for complex places.
DecompositionGroup(P) : PlcNumElt -> GrpPerm
For a place P of a normal number field, return the decomposition group as a subgroup of the (abstract) automorphism group.
V2.28, 13 July 2023