Places and Divisors

A place of a number field K, an object of type PlcNumElt, 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. Divisors are of type DivNumElt. Places have formal parent of type PlcNum, while divisors belong to DivNum.

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, p) : FldNum, RngIntElt -> SeqEnum
Decomposition(K, I) : FldNum, Infty -> SeqEnum
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.
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, FldNum], RngIntElt -> SeqEnum[<PlcNumElt, RngIntElt>]
Decomposition(m, p) : Map[FldNum, FldNum], 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) : FldNum -> SeqEnum
InfinitePlaces(K) : FldRat -> SeqEnum
InfinitePlaces(K) : RngInt -> SeqEnum
A sequence containing all the infinite places of the number field K is returned.
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.
RealPlaces(K) : FldRat -> [PlcNumElt]
RealPlaces(K) : FldNum -> [PlcNumElt]
For a number field K a sequence containing all real (infinite) places is computed. For an absolute field this are precisely the embeddings into R coming from the real roots of the defining polynomial.

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 at the place p.
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.
Evaluate(x, p) : FldNumElt, PlcNumElt -> RngElt
Evaluate(x, p) : FldRatElt, PlcNumElt -> RngElt
Evaluate(x, p) : RngIntElt, Infty -> RngElt
The evaluation of the number field element x in the residue class field of the place p, i.e. for a finite place p this corresponds to the image under the residue class field map for the underlying prime ideal. For infinite places, this returns the corresponding conjugate, ie. a real or complex number.
RealEmbeddings(a) : FldNumElt -> []
The sequence of real embeddings of the algebraic number a is computed, i.e. a is evaluated at all real places of the number field.
RealSigns(a) : FldNumElt -> []
A sequence containing ∓ 1 depending on whether the evaluation of the number field element a at the corresponding real place is positive or negative.
IsReal(p) : PlcNumElt -> BoolElt
For an infinite place p, returns true if the corresponding embedding is real, i.e. if Evaluate at p will give real results.
IsComplex(p) : PlcNumElt -> BoolElt
For an infinite place p, return true if the corresponding embedding is complex, i.e. if Evaluate at p will generally yield complex results.
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.
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, i.e. 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