Infinite Completions of Number Fields¶
Infinite Completions of Number Fields
This file implements the function infinite_completions()
, which computes the
infinite completions of a number field \(K\), i.e. the real embeddings \(K \to \RR\)
and the pairs of complex embeddings \(K \to \CC\).
The domains of the embeddings we return are interval fields (RIF
and
CIF
). As trac-ticket #31604
describes, the method K.places()
of number fields claims to provide
embeddings into interval fields in its documentation, but the code does not
actually do this. As this ticket is not yet resolved in SageMath version 9.2,
we use the function below instead for our adèles and idèles.
AUTHORS:
Mathé Hertogh (2021-07): initial version
-
adeles.completion.
infinite_completions
(K, fields_only=False, embeddings_only=False)¶ Return the infinite completions of the number field
K
INPUT:
K
– a number fieldfields_only
- boolean (default:False
); ifTrue
, only return the fields, not the embeddings.embeddings_only
- boolean (default:False
); ifTrue
, only return the embeddings, not the fields.
OUTPUT:
A list of pairs \((L, \phi)\) with \(L\) equal to
RIF
orCIF
and \(\phi\) an embedding \(K \to L\). The embeddings returned correspond to the infinite primes of \(K\) and they are returned in the same order asK.places()
.Depending on
fields_only
andembeddings_only
, only the fields \(L\) or the embeddings \(\phi\) are returned. If they are both set toTrue
, an exception is raised.EXAMPLES:
sage: infinite_completions(QQ) [(Real Interval Field with 53 bits of precision, Ring morphism: From: Rational Field To: Real Interval Field with 53 bits of precision Defn: 1 |--> 1)]
sage: K.<a> = NumberField(x^3+2) sage: infinite_completions(K) [(Real Interval Field with 53 bits of precision, Ring morphism: From: Number Field in a with defining polynomial x^3 + 2 To: Real Interval Field with 53 bits of precision Defn: a |--> -1.259921049894873?), (Complex Interval Field with 53 bits of precision, Ring morphism: From: Number Field in a with defining polynomial x^3 + 2 To: Complex Interval Field with 53 bits of precision Defn: a |--> 0.62996052494743671? + 1.0911236359717214?*I)]
We can obtain only the embeddings as follows:
sage: K.<sqrt2> = NumberField(x^2-2) sage: infinite_completions(K, embeddings_only=True) [Ring morphism: From: Number Field in sqrt2 with defining polynomial x^2 - 2 To: Real Interval Field with 53 bits of precision Defn: sqrt2 |--> -1.414213562373095?, Ring morphism: From: Number Field in sqrt2 with defining polynomial x^2 - 2 To: Real Interval Field with 53 bits of precision Defn: sqrt2 |--> 1.414213562373095?]
And we obtain only the fields as follows:
sage: K.<a> = NumberField(x^8-3*x^5+1) sage: infinite_completions(K, fields_only=True) [Real Interval Field with 53 bits of precision, Real Interval Field with 53 bits of precision, Complex Interval Field with 53 bits of precision, Complex Interval Field with 53 bits of precision, Complex Interval Field with 53 bits of precision] sage: K.signature() # the above is consistent with K's signature: (2, 3)