Shimura Connecting Homomorphism¶
Shimura’s Connecting Homomorphism
Let \(K\) be an imaginary quadratic number field, let \(\theta\) be a generator of its ring of integers. View the ring \(\hat{K}\) of profinite \(K\)-numbers as a \(\hat{\QQ}\)-vector space with basis \((\theta, 1)\). Then Shimura’s connecting homomorphism is the map \(g_\theta: \hat{K}^* \to GL_2(\hat{\QQ})\) that sends \(x \in \hat{K}^*\) to the transpose of the matrix that represents the \(\hat{\QQ}\)-linear map \(\hat{K} \to \hat{K}\) given by multiplication by \(x\).
This file implements Shimura’s connecting homomorphism in the function
shimura_connecting_homomorphism()
.
Moreover the function factored_shimura_connecting_homomorphism()
evaluations Shimura’s connecting homomorphism and factors the resulting
\(GL_2(\hat{\QQ})\)-matrix into a product of a matrix \(B \in GL_2(\hat{\ZZ})\) and
a matrix \(A \in GL_2^+(\QQ)\), using factor_GLQhat()
.
REFERENCES:
[Her2021] Mathé Hertogh, Computing with adèles and idèles, master’s thesis, Leiden University, 2021.
For context on the utility of these function, see Chapter 9 of [Her2021]. This file is in particular based on Sections 9.3.2 and 9.3.3 of [Her2021].
AUTHORS:
Mathé Hertogh (2021-07): initial version based on [Her2021]
-
adeles.shimura.
factored_shimura_connecting_homomorphism
(u, output_prec)¶ Evaluate Shimura’s connecting homomorphism at the idèle
u
and factor the result into a matrix in \(GL_2(\hat{\ZZ})\) and a matrix in \(GL_2^+(\QQ)\)INPUT:
u
– a \(K\)-idèle for some imaginary quadratic number field \(K\) whose ring of integers is generated byK.gen()
; the point to evaluate the homomorphism inoutput_prec
– a positive integer; the desired output precision
OUTPUT:
A pair \((B, A)\) where \(B\) is an integral \(2 \times 2\)-matrix over the ring of profinite \(\QQ\)-numbers with precision (i.e. modulus) divisible by
output_prec
and \(A \in GL_2^+(\QQ)\) such that for some \(x \in \hat{K}^*\) thatu
represents \(g(x)A^{-1}\) is represented by \(B\).ALGORITHM:
We perform Algorithm 9.2 of [Her2021]
EXAMPLES:
We create an imaginary quadratic number field whose generator also generates the ring of integers.
sage: K.<a> = QuadraticField(-10) sage: K.integral_basis() [1, a] sage: J = Ideles(K) sage: p2, p5 = K.ideal(2, a), K.ideal(5, a)
We evaluate the corresponding Shimura homomorphism at some idèles.
sage: u = J(-1, {p2: (a+1, 3), 3: (3, 0), p5: (-1, 4)}); u Idèle with values: infinity_0: -1 (2, a): (a + 1) * U(3) (3): 3 * U(0) (5, a): -1 * U(4) other primes: 1 * U(0) sage: factored_shimura_connecting_homomorphism(u, 10) ( [133 mod 150 150 mod 300] [3 0] [ 15 mod 30 133 mod 150], [0 3] ) sage: factored_shimura_connecting_homomorphism(u, 300) ( [ 583 mod 1500 2250 mod 3000] [3 0] [ 75 mod 300 583 mod 1500], [0 3] )
sage: v = J(3*I, {p2: (a/7, 2), p5: (a/5, 3)}); v Idèle with values: infinity_0: 3*I (2, a): 1/7*a * U(2) (5, a): 1/5*a * U(3) other primes: 1 * U(0) sage: factored_shimura_connecting_homomorphism(v, 1) ( [0 mod 250 49 mod 50] [1/5 0] [ 1 mod 50 0 mod 25], [ 0 2] ) sage: factored_shimura_connecting_homomorphism(v, 18) ( [500 mod 4500 549 mod 900] [1/5 0] [ 351 mod 900 50 mod 450], [ 0 2] )
-
adeles.shimura.
shimura_connecting_homomorphism
(u, output_prec=None)¶ Evaluate Shimura’s connecting homomorphism at the idele
u
INPUT:
u
– a \(K\)-idèle for some imaginary quadratic number field \(K\) whose ring of integers is generated byK.gen()
; the point to evaluate the homomorphism inoutput_prec
– a positive integer; the desired output precision
OUTPUT:
A pair \((v, M)\) where \(v\) is a \(K\)-idèle whose represented subset is contained in that of \(u\) and \(M\) is a pair \(M = (E, \Delta)\) with \(M\) a \(2 \times 2\)-matrix over the ring of profinite \(\QQ\)-numbers with integral precision (i.e. modulus) divisible by
output_prec
and \(\Delta\) a positive rational number such that every \(x \in \hat{K}^*\) that \(v\) represents satisfies \(g(x)\hat{\ZZ} = \Delta\hat{\ZZ}\) and \(E\) represents \(g(x)\). Here \(g: \hat{K}^* \to GL_2(\hat{\QQ})\) denotes Shimura’s connecting homomorphism with respect to the basis(K.gen(), 1)
.If
output_prec
is not specified, then \(v\) equals \(u\) and no guarantees are made about the precision of \(E\). In this case we only return \(M\) (not \(v\)).ALGORITHM:
We perform Algorithm 9.1 of [Her2021].
EXAMPLES:
First we create an appropriate number field and check that its generator generates the ring of integers.
sage: K.<a> = NumberField(x^2 - x + 2) sage: K.integral_basis() [1, a] sage: J = Ideles(K)
Let’s try to evaluate Shimura’s connecting homomorphism without specifying an output precision.
sage: u = J(1, {a: (a, 3), 3: (-1, 1), 5: (1/5, 0)}); u Idèle with values: infinity_0: 1 (2, a): a * U(3) (3): -1 * U(1) (5): 1/5 * U(0) other primes: 1 * U(0) sage: shimura_connecting_homomorphism(u) ( [ 1/5 mod 6/5 6/5 mod 12/5] [ 3/5 mod 6/5 4/5 mod 6/5], 2/25 )
And now let’s get an output precision of at least \(12\):
sage: v, M = shimura_connecting_homomorphism(u, 12) sage: v Idèle with values: infinity_0: 1 (2, a): a * U(5) (2, a + 1): a * U(2) (3): -1 * U(1) (5): 1/5 * U(1) other primes: 1 * U(0) sage: M ( [ 1/5 mod 12 6 mod 24] [ 9 mod 12 16/5 mod 12], 2/25 )
Or output precision \(1000\):
sage: v, M = shimura_connecting_homomorphism(u, 1000) sage: v Idèle with values: infinity_0: 1 (2, a): a * U(6) (2, a + 1): a * U(3) (3): -1 * U(1) (5): 1/5 * U(4) other primes: 1 * U(0) sage: M ( [7501/5 mod 3000 750 mod 6000] [ 2625 mod 3000 9376/5 mod 3000], 2/25 )