Fast multi-precision computation of some Euler products¶
- Author:
Salma Ettahri
- Author:
Olivier Ramaré
- Author:
Léon Surel
Note
This file is a web version of the paper Fast multi-precision computation of some Euler products by the same authors and which appeared in Math. Comp. 90 (2021), no. 331, pages 2247–2265. The modifications concerns the numbering and the elements concerning the produced code.
1. Introduction¶
In formula (16) of [16], D. Shanks obtained the following closed expression to compute the Landau-Ramanujan constant:
where \(s>1\) and \(\chi_{1,4}\) is the (only) non-principal Dirichlet character modulo 4. Since both \(\zeta(2^ks)\) and \(L(2^{k}s,\chi_{1,4})\) are \(1+\mathcal{O}(1/2^{s2^k})\), we only need to compute \(\mathcal{O}(\log D)\) values of \(L\)-functions (including the Riemann \(\zeta\)-function) to obtain \(D\) decimal digits. In this paper, we generalize this process in several directions, but a main feature of our work is that it applies only to Euler products over primes belonging to some special subsets of \(G=(\mathbb{Z}/q\mathbb{Z})^\times\) that we define below. We obtain closed formulas involving only values of \(L\)-functions of Dirichlet characters for rational Euler products over primes in these special sets and deduce fast ways to compute a more restricted class of such products. Let us first introduce the players.
Definition 1.
Two elements \(g_1\) and \(g_2\) of the abelian group \(G\) are said to be lattice-invariant if and only if they generate the same group. This defines an equivalence relation.
We denote the set of lattice invariant classes by \(G^\sharp\) and the set of cyclic subgroups of \(G\) by \(\mathscr{G}\). The map between \(\mathscr{G}\) and \(G^\sharp\) which, to a subgroup, associates the subset of its generators, is one-to-one.
The cardinality of \(G^\sharp\) can be swiftly inferred from Theorem 3 of [18] or from Theorem 1 of [19], both by L. Tóth. When \(\mathcal{A}\) is a subset of \(G=(\mathbb{Z}/q\mathbb{Z})^\times\), we define \(\langle{\mathcal{A}}\rangle{}\) to be the (multiplicative) subgroup generated by \(\mathcal{A}\).
For any Dirichlet character \(\chi\) modulo \(q\) and any parameter \(P\ge2\), we define
and correspondingly \(\zeta_P(s)=\prod_{p\ge P}(1-1/p^s)^{-1}\).
Given \(K\) a subgroup of \(G=(\mathbb{Z}/q\mathbb{Z})^\times\), we denote by \(K^\perp\) the subgroup of Dirichlet characters modulo \(q\) that take the value 1 on \(K\). When \(s\) is a real number, the number \(\prod_{\chi\in K^\perp}L_P(s,\chi)\) is indeed a positive real number because, when \(\chi\) belongs to \(K^\perp\), so does \(\overline{\chi}\).
Here is the central theorem of this paper.
Let \(P\) and \(s > 1/\Delta\) be two real parameters such that \(P^s\ge 2\beta\). We define, for any cyclic subgroup \(K\) of \(G\) and any positive integer \(m\),
where \(L^{[t]}=\{x^t, x\in L\}\) and \(\langle{\mathscr{A}}\rangle{}\) is the subgroup generated by \(\mathscr{A}\). We have
For any positive real-valued parameter \(M\), the following bound holds true:
In the case \(H/F=1-X\), the relevant identity is proved in 18 and is the heart of this paper. Our result applies in particular to \(\mathcal{A}=\{1\}\) and to \(\mathcal{A}=\{-1\}\). When \(q=4\) and \(\mathcal{A}=\{-1\}\), we readily find that only \(t=1\) matters in (4), that \(C_{\{-1\}}(\{1\},2^k,1/(1-X))=-1/2\) and that \(C_{\{-1\}}(\{\pm 1\},2^k,1/(1-X))=1\). On recalling Lemma 16, this results in (1).
Remark 3. Lemma 21 ensures that we may select
when \(F(X)=1+a_1X+\ldots+a_\delta X^\delta\) and \(H(X)=1+b_1X+\ldots+b_{\delta'} X^{\delta'}\). Notice that our assumptions imply that \(b_i=a_i\) when \(i< \Delta\).
Remark 4. The numbers \(s_{H/F}(n)\) may be computed via the Girard-Newton relations recalled in Lemma 19.
Remark 5. We prove in Lemma 22 that, when \(K\) and \(\mathscr{A}\) are fixed, the quantity \(\sum_{\substack{L\in \mathscr{G},\\ L^{[t]}=\langle{\mathscr{A}}\rangle{},\\ K\subset L}} \mu(|L|/|K|)\) depends only on \(\gcd(t,\varphi(q))\) .
Remark 6. We have \(C_{\mathscr{A}}(K,m,F/H)=-C_{\mathscr{A}}(K,m,H/F)\), a property we shall use to simplify the typography.
Remark 7. There is some redundancy in our formula as a same character \(\chi\) may appear in several sets \(K^\perp\) (for instance, the principal character appears in all of them). Disentangling these contributions leads to a slightly more complicated formula. We first have to introduce, for any cyclic subgroup \(S\) , the subset \(S^{\perp\circ}\subset S^\perp\) constituted of those elements that do not belong to any \(T^\perp\) , for \(T\varsubsetneq S\). It can be readily checked that any \(K^\perp\) is the union of \(S^{\perp\circ}\) where \(S\) ranges the subgroups that are included in \(K\). We then define
Formula (5) becomes:
and the bound (6) holds to estimate the tail of this product, as we only shuffled terms with a fixed index \(m\).
Super fast evaluations¶
may be computed by \(\mathcal{O}((\log D)^{r})\) computations of \(L\) -functions to get \(D\)-decimal digits, where \(r\) is the number of prime factors of \(\varphi(q)\) . The implied constant in the \(\mathcal{O}\)-symbol may depend on \(q\) .
This leads to very fast computations, and we were for instance able to produce 100 (resp. 1000, resp. 5000) digits of these products when \(q=3\) in a third of a second (resp. 12 seconds, resp. 35 minutes with \(P=400\)) on a usual desktop computer. See the implementation notes at the end of this paper. Notice however that the number of \(L\)-values required is not the only determinant: when \(q\) increases, the dependence in \(q\) matters as the character group increases in size, and when the required precision increases, each computation of an \(L\)-value may take a long time. We do not address the issue of these computations here. We present some timing data at the end of this paper.
Proof of Corollary 8. Lemma 16 tells us that \(C_{\mathscr{A}}(K,m,1-X)\) vanishes when one prime factor of \(m\) is coprime with \(\varphi(q)\). Let us decompose \(\varphi(q)\) in prime factors: \(\varphi(q)=p_1^{\alpha_1}\cdots p_r^{\alpha_r}\). Any integer \(m\le M\) such that all its prime factors divide \(q\), can be written as \(m=p_1^{\beta_1}\cdots p_r^{\beta_r}\) with \(\beta_i\le (\log M)/\log p_i\) for \(i\le r\). In particular, there are at most \(((\log M)/\log 2)^r\) such integers. By (6), the contribution of the integers \(m>M\) to the Euler product to be computed is \(1+\mathcal{O}((\beta/P^s)^M)\), which is \(1+\mathcal{O}(2^{-M})\) by the assumption \(P^s\ge2\beta\). We want this error term to be \(1+\mathcal{O}(10^{-D})\) to get about \(D+\mathcal{O}(1)\) decimal digits. This is ensured by \(M\log 2\ge D\log 10\), i.e. it is enough to take \(M=4D\). ◻
In order to extend this property to other Euler products, many of the coefficients \(C_{\mathscr{A}}(K,m,F/H)\) should vanish when \(m\) varies. This is however not likely to happen, except when \(F/H\) is a product/quotient of cyclotomic polynomials. Indeed the coefficients \(s_{H/F}(m)\) satisfy a linear recurrence (of degree at most \(\max(\deg F,\deg H)\)) and as such are expected to grow exponentially fast if they are not roots of unity. When for instance the coefficients of the recurrence belong to some number field, this is proved by Evertse in [3] and independently by van der Poorten and Schlickewei in [20]. This is the case where we may expect cancellations to happen. Since the sum defining \(C_{\mathscr{A}}(K,m,F/H)\) is of the form \(\sum_{t|m}\mu(t)r_0(t)s_{H/F}(m/t)\) for some function \(r_0(t)\) that remains bounded (it takes only a finite set of values), it is dominated by the term \(t=1\) when \(m\) is large enough; no cancellation due to the Möbius factor can be expected either. We are then left with the case of cyclotomic polynomials, but they can be easily dealt with using Corollary 8; indeed, if we denote by \(\Phi_n\) the \(n\)-th cyclotomic polynomial, the identity \(\prod_{d|n}\Phi_d(X)=X^n-1\) gets inverted to \(\Phi_n(X)=\prod_{d|n}(X^d-1)^{\mu(n/d)}\).
A Sage script¶
The material of this paper has been used to write the Sage script using Python 3.
The function get_euler_products(q, s, F, H, nbdecimals)
gives all these
Euler products. The polynomials \(F\) and \(H\) are to be given
as polynomial expressions with the variable \(x\). The special
function get_vs(q, s, nbdecimals)
gives all the Euler products of
Corollary 8.
Some historical pointers¶
D. Shanks in [14] (resp. [15], resp. [17]) has already been able to compute an Euler product over primes congruent to 1 modulo 4 (resp. to 1 modulo 8 in both instances), by using an identity (Lemma of section 2 for [14], Equation (5) in [15] and the Lemma of section 3 in [17]) that is a precursor of our Lemma 19.
In these three examples, the author has only been able to compute the first five digits, and this is due to three facts: the lack of an interval arithmetic package at that time, the relative weakness of the computers and the absence of a proper study of the error term. We thus complement these results by giving the first hundred decimals.
Complementary to the published papers, three influent preprints on how to compute Euler products with high accuracy have been floating on the web: [5] a memo started in 1990 in its 1996 version by Ph. Flajolet and I. Vardi, [1] by H. Cohen and [7] by X. Gourdon and P. Sebah. Comparing the desired constant with zeta-values is the overarching idea. The set of zeta-values is extended to \(L\)-values of (some) quadratic characters in the three, in some way or another, and to the values of Dedekind zeta-function in [1]. No complete error term analysis is presented, sometimes because the series used are simple enough to make this analysis rather easy. These three sources also deal with constants that are sums over primes and a similar extension of our work is possible, but kept for later. It should be noticed that Equation (20) from [5] is in fact the formula given as Equation (16) in [16] for the Landau-Ramanujan constant.
On the methodology¶
We decided to prove Theorem 2 directly, by giving the formula and shuffling terms. This gives a short and self-contained proof. However, we did not come up with the coefficients \(C_{\mathscr{A}}(K,m,F/H)\) by some lucky strike! There is a path leading from abelian field theory to our expression that is much closer to D. Shanks’s approach. We say more on this subject in section 4.
Application to some constants¶
This paper has been inspired by the wish to compute with high numerical precision two constants that appear in the paper [6] by É. Fouvry, C. Levesque and M. Waldschmidt. In the notation of that paper, they are
and
Both occur in number theory as densities. The number of integers \(n\) of the shape \(n=x^2-xy+y^2\), where \(x\) and \(y\) are integers (these are the so-called Loeschian numbers, see the sequence A003136 entry in [12]) is asymptotically approximated by
This motivates our interest in the first constant. The second one arises in counting the number of Loeschian numbers that are also sums of two squares (see sequence A301430 entry of [12]), namely we have
From the sequence A301429 entry in [12], we know that \(\alpha_0^{(3)}=0.638909\ldots\) but we would like to know (many!) more digits. Similarly it is known that \(\beta_0=0.30231614235\ldots\).
and
This follows from Theorem 2 with the choices \(q=3\) and \(\mathcal{A}=\{2\}\) for \(\alpha_0^{(3)}\), and \(q=12\) and \(\mathcal{A}=\{5,7,11\}\) for \(\beta_0\). The other parameters are uniformly selected as \(F(X)=1-X^2\), \(H(X)=1\), \(\Delta=2\), \(\beta=2\) and \(s=1\).
As a consequence Shanks’ constant satisfies
We deduce this Corollary from Theorem 2 by selecting the parameters \(q=8\), \(\mathcal{A}=\{1\}\), \(F(X)=1-2X-7X^2-4X^3\), \(H(X)=1-2X+X^2\), \(s=1\), \(\Delta=2\) and \(\beta=4\). As explained in [15], the number of primes \(\le X\) of the form \(m^4+1\) is conjectured to be asymptotically equal to \(I\cdot X^{1/4}/\log X\). The name “Shanks’ constant” comes from Chapter 2, page 90 of [4].
When using the script that we introduce below, this value is obtained by multiplying by \(\frac{\pi^2}{16\log(1+\sqrt{2})}\) the value obtained with the call
get_euler_products(8, 1, 1-2*x-7*x^2-4*x^3, 1-2*x+x^2, 110, 50, 2, 1)
.
A note is required here: the script evaluates loosely the required working precision in order to get say 100 correct digits at the end. The results are however presented with the precision obtained, and if we had been asking initially for 100 decimal digits, the script would issue only 94 of them. We could have implemented a mechanism that increases the precision until the result satisfies the request, but we have preferred to let the users increase the precision by themselves. When asking for 110 decimal digits, the script is able to compute 106 of them. We can get a thousand decimals for this constant in about 2 minutes on a usual desktop computer (by asking for 1010 decimal digits), see the implementation notes at the end of this paper.
As a consequence Lal’s constant satisfies
We deduce the first value given in this Corollary by using Theorem :ref`2<2>` with the parameters \(q=8\), \(\mathcal{A}=\{1\}\), \(F(X)=1-8X\), \(H(X)=1-8X+16X^2\), \(s=1\), \(\Delta=2\) and \(\beta=8\). The value of Lal’s constant \(\lambda\) is then deduced by combining the value obtained in Corollary 10 together with this one. This splitting of the computation in two introduces smaller polynomials and this leads to a lesser running time. As explained in [17], the number of primes \(\le X\) of the form \((m+1)^2+1\) and such that \((m-1)^2+1\) is also prime, is conjectured to be asymptotic to \(\lambda\cdot X^{1/2}/(\log X)^2\). The name “Lal’s Constant” comes from the papers [8] and [17]. When using the script that we introduce below, the first value is obtained with the call
get_euler_products(8, 1, 1-8*x, 1-8*x+16*x^2, 110, 50, 2, 1)
.
If this call requires about 2 seconds on a usual desktop computer, this time increases to 4 minutes when we ask for a thousand digits. We did not try to get 5000 digits as we did for the products of Corollary 8.
We close this section by mentioning another series of challenging constants. In [10], P. Moree computes inter alia the series of constants \(A_\chi\) defined six lines after Lemma 3, page 452, by
where \(\chi\) is a Dirichlet character. Our theory applies only when \(\chi\) is real valued.
A closed formula for primitive roots¶
Let us recall that a primitive root \(n\) modulo \(q\) is an integer such that the class of \(n\) generates \(G=(\mathbb{Z}/q\mathbb{Z})^\times\). It is a classical result that such an element exists if and only if \(q\) is equal to 2 or 4, or is equal to a prime power of an odd prime or to twice such a prime power.
where \(m|q^\infty\) means that all the prime factors of \(m\) divide \(q\) and where \(e(m,q,S)=\frac{|S|\varphi(q/|S|)}{m\varphi(q)}\).
Proof. Indeed, since \(\mathscr{A}_0\) generates \(G\), the only index \(t\) in (7) is \(t=1\). Hence, only \(L=G\) is possible.
Thanks¶
The authors thank M. Waldschmidt for having drawn their attention to this question, P. Moree and É. Fouvry for helpful discussions on how to improve this paper and X. Gourdon for exchanges concerning some earlier computations. The referees are also to be warmly thanked for their very careful reading and for ideas on how to improve both the presentation and the corresponding script.
2. Proof of Theorem 2 when \(F/H=1/(1-X)\)¶
We follow the notation introduced in (4). Since here \(F/H=1/(1-X)\), this leads us to consider, for any cyclic subgroup \(K\in\mathscr{G}\), any class \(\mathscr{A}\) in \(G^\sharp\) and any positive integer \(m\), the coefficient
where \(L^{[t]}=\{x^t, x\in L\}\). Notice that it is also a cyclic subgroup of \(G\). Let us first note a simple property.
Proof. We can assume that \(L=(\mathbb{Z}/\ell\mathbb{Z}, +)\). For each \(d|\ell\), the unique subgroup of order \(d\) is \(\{(\ell/d)n, 0\le n\le d-1\}\).
Here is the fundamental property satisfied by these coefficients.
Proof. Let \(S\) be the left-hand side sum to be evaluated. Let \(B\) be the subgroup generated by \(p\). By using the orthogonality of characters, we readily obtain
Next, we introduce the expression given in (11), shuffle the summations and get
By Lemma 13 and the Möbius function characteristic property, the last summation vanishes when \(B^{[h]}\neq L\) and takes the value 1 otherwise. Since \((B^{[h]})^{[t]}=B^{[ht]}\), this gives us
We continue in a more classical way:
concluding the proof .
Proof. We first check that, for any positive integer \(m\) and any subgroup \(K\), we have
Since \(s\) is a positive real number, the right-hand side is also positive, and so can be raised to some rational power, say \(c\). The sum inside the exponential is also a real number and the equation \(\exp x=y\) leads obviously to \(\exp(cx)=y^c\). The right-hand side of our lemma may thus be written \(\exp S(p)\) where
We set \(\ell=mh\) and appeal to Proposition 14 to infer that
from which our corollary follows readily. ◻
Proof. When \(F/H=1-X\), we have \(s_{H/F}(m)=-1\) uniformly in \(m\). If \(m=m_1p^a\) for some \(m_1\) prime to \(p\) and \(p\) prime to the order \(\varphi(q)\) of \(G\), any divisor \(t\) of \(m\) factors in \(t_1p^b\) where \(t_1|m_1\) and \(b\le a\). The Möbius coefficient reduces these choices to \(b=a\) or to \(b=a-1\) and since we have \(L^{[t]}=L^{[t_1]}\), both are possible. If we denote the contribution of \(p^at_1\) to \(C_{\mathscr{A}}(K,m,1-X)\) by \(S_1\) say, the contribution or \(p^{a-1}t_1\) is \(-S_1\), and on pairing them we get zero. ◻
Proof. We use
hence, by using a comparison to an integral, we find that
Proof. This is a simple consequence of Corollary 15. Indeed, we may shuffle our series to our fancy by the absolute summability ensured by the condition \(s>1\) and the bounds \(|C_{\mathscr{A}}(K,k)/k|\le |G|\), as well as \(|\mathscr{G}|\le |G|\). This last bound follows from the fact that there are at most as many cyclic subgroups as there are possible generators.
3. Proof of Theorem 2 in general¶
Let us recall the Witt decomposition. The readers will find in Lemma 1 of [9] a result of the same flavour. We have simply modified the proof and setting as to accommodate polynomials having real numbers for coefficients.
where we have defined \(a_{\delta+1} =a_{\delta+2}=\ldots=0\). Put
Let \(\beta\ge1\) be such that \(\beta\ge\max_j|1/\alpha_j|\). When \(t\) belongs to any segment \(\subset (-\beta,\beta)\), we have
where the convergence is uniform in the given segment.
Proof. Since we follow the proof of Lemma 1 of [9], we shall be rather sketchy. We write \(F(t)=\prod_{i}(1-\alpha_it)\). By logarithmic differentiation, we obtain
This series is absolutely convergent in any disc \(|t|\le b<1/\beta\) where \(\beta=\max_j(1/|\alpha_j|)\). We proceed by expressing \(s_F\) in terms of \(b_F\) via (13) in a disc of radius \(b<1/\beta\). After some shuffling of the terms, we reach the expression
The lemma follows readily by integrating the above relation.
How does the mathematician E. Witt enter the scene? In the paper [21], \((11)\) therein is a decomposition that is the prototype of the above expansion.
Proof. We clearly have \(|s_F(j)|\le \deg F\cdot \beta^j,\) so that
There are numerous easy upper estimates for the inverse of the modulus of all the roots of \(F(t)\) in terms of its coefficients. Here is a simplistic one.
Proof. On noticing that
the conclusion follows.
Proof. Let us call this quantity \(r_0(t)\). We first check that it depends only on \(t\mod \varphi(q)\): this follows from the fact that the map \(x\mapsto x^{\varphi(q)}\) reduces to the identity over \(G\). Secondly, any prime factor of \(t\), say \(p'\), that is prime to \(\varphi(q)\), may be removed from \(t\), i.e. \(r_0(t)=r_0(t/p')\): the map \(x\mapsto x^{p'}\) is one-to-one in \(L\).
The lemma is an immediate consequence of these two remarks.
Proof of Theorem 2 . The proof requires several steps. The very first one is a direct consequence of (14), which leads to the identity
The absence of the term with \(j < \Delta\) is due to our assumption that \((F(X)- H(X))/X^\Delta\in \mathbb{R}[X]\). Up to this point (15) is only established as a formal identity. Our second step is to establish (15) for all \(t\in\mathbb{C}\) with \(|t| < 1/\beta\). By Lemma 20, we know that \(|b_F(j)-b_H(j)|\le 4\max(\deg F,\deg H)\beta^j/j\). Therefore, for any bound \(J\), we have
as soon as \(|t| < 1/\beta\). We thus have
where \(|\log I_1|\le4\max(\deg F,\deg H)|t\beta|^{J+1}/[(1-|t\beta|)(J+1)]\). Now that we have the expansion (17) for each prime \(p\), we may combine them. We readily get
where \(I_2\) satisfies
since \(P\ge2\) and \(J\ge3\). Letting \(J\) go to infinity, we see that when \(P^s > \beta\) and \(s > 1/\Delta\),
in the notation of Theorem 18. We use this theorem to infer that
Notice that we have \(s_H(j)-s_F(j)=0\) (and hence \(b_H(j)-b_F(j)=0\)) when \(j<\Delta\) by our assumption on \(\Delta\). Let us glue the variables \(m\) and \(j\) in \(n\). On using the definitions (11) and (13), we see that the functions \(m\mapsto C_{\mathscr{A}}(K,m,1-X)/{m}\) and \(j\mapsto (b_H(j)-b_F(j))\) are of the form \((1\!\!\!1\star r)(m)/m\), respectively \((\mu\star(s_H-s_F))(j)/j\). Hence
We replace \(r(t)\) by its value to conclude that this sum is \(C_{\mathscr{A}}(K,m,F/H)\), as defined by (4). We have reached
The final task is to control the tail of this product, but prior to that, we change the variable \(n\) in (18) in \(m\) again. To control the tail, we check that, by Lemma 17,
4. Link with two other sets of inequalities¶
In this section, we develop some elements that are contiguous to our topic.
A formula¶
The right-hand side of this formula contains products of the kind we seek and, if we were to start from such a set of formulas, the problem would be to invert them in some sense.
Proof. We note that \(\prod_{\chi\in G_0^\perp}(1-\chi(p)z)^{\chi(a)} =\prod_{\psi\in\hat{L}}(1-\psi(p)z)^{f(\psi)}\) when \(\langle{p}\rangle{}=L\) and where
The condition \(\chi\in G_0^\perp\) can also be written as \(\chi|G_0=1\), hence we can assume that \(\psi|(L\cap G_0)=1\). We write
where
When \(a\) lies outside \(L{} G_0\), this sum vanishes; otherwise it equals \(|G/(L{} G_0)|\psi'(a)\). The characters of \(L{} G_0\) that are trivial on \(G_0\) are canonically identified with the characters of the cyclic group \((L{} G_0)/G_0\). We thus have
and this proves our formula. ◻
Notes on the scope of Lemma 23¶
From a metholodogical viewpoint, a moment’s thought discloses that two residue classes modulo \(q\) that fall inside the same lattice-invariant class cannot be distinguished by the set of identities of Lemma 23. This implies that we indeed extract the maximum information from our setting. This could be formalized in the following manner: consider the vector space \(\mathscr{F}[G]\) of functions from \(G\) to \(\mathbb{C}\), and the sub-space generated by \((1\!\!\!1_{G_0})_{G_0\in\mathscr{G}}\). This subspace is clearly included in the subspace generated by \((1\!\!\!1_{\mathcal{A}})_{\mathcal{A}\in G^\sharp}\). These two spaces can be shown to be equal. We end this discussion here, as we do not need this fact.
Link with abelian field theory¶
The case \(G_0=\{1\}\) in the identity of Lemma 23 is classical in Dedekind zeta function theory for the field \(\mathbb{Q}(\zeta_q)\), where \(\zeta_q=\exp(2i\pi/q)\), and can be found in Proposition 13 of [13] in a rephrased form. For the general case, we follow Chapter 8 of [11] by Narkiewicz. The Dedekind zeta-function associated with an abelian field \(K\) is given by
as per Theorem 8.6 of [11]. The group \(X(K)\) is the group of characters attached to \(K\), see Proposition 8.4 of [11]. This equality (21) is proved prime per prime, and we can restrict to ideals whose norm is prime to some integer. In particular, we can restrict it to the primes that are prime to \(q\), which excludes at least the ramified primes. Let \(H_q(K)\) be the subgroup of the integers \(r\mod q\) that are such that the automorphism of \(\mathbb{Q}(\zeta_q)\) defined by \(\zeta_q\mapsto \zeta_q^r\) is the identity on \(K\). The sets \(X(K)\) and \(H_q(K)^\perp\) are almost equal: \(X(K)\) is made only of primitive characters associated to the characters in \(H_q(K)^\perp\). We may select \(G_0=H_q(K)\) in Lemma 23<23>. Some work involving the decomposition law in abelian number fields, which may for instance be found in Theorem 8.2 [11], gives us, when the prime factors of \(q\) are all at most \(P\), that
The proof we provide of Lemma 23 is much simpler, but the above analysis establishes that the identities stemming from both approaches are the same.
5. Timing and implementation notes¶
Let \(s > 1\) be a real number and \(P\ge2\) be a parameter. We consider the vector, for any positive integer \(t\):
The rows of \(\Gamma_{P,s}(t)\) are indexed by the cyclic subgroups
of \(G\). An approximate value of this vector is provided by the
function ComponentStructure.get_gamma
from the values of the
Hurwitz zeta function. We next define
The class LatticeInvariant
gives the two lists: the one of the cyclic subgroups and the one of
their generators, ordered similarly and in increasing size of the
subgroups.
The algorithm (function get_vs
):
Input
Input the four parameters q
, s
, nbdecimals
and big_p
as well as the two parameters that control the output verbose
and
with_laTeX
.
Precomputation-1
Compute and store the algebraic quantities that we need: the tuple of
cyclic subgroups of \(G=(\mathbb{Z}/q\mathbb{Z})^\times\), the
tuple of its lattice-invariant classes, the exponent of \(G\),
its character group, an enumeration of the elements of \(G\) and,
for each cyclic subgroup of \(G\), the set of characters
of \(G\) that are trivial on it. This is done by the class
ComponentStructure
.
Initialization
Find M
so that the right-hand side of (6) is
less than \(10^{-\texttt{nbdecimals}-10}\).
Precomputation-2
Build the set \(\mathscr{M}\) of integers \(m\) such that \(m\le M\) and all the prime factors of \(m\) divide \(q\). Then compute the constants \((C_{\mathscr{A}}(K,m,1-X))\) for every possible class \(\mathscr{A}\) and every \(m\) in \(\mathscr{M}\).
Main Loop
For \(m\in\mathscr{M}\), add the contribution of this index to the sum approximating \(V_s(1)\) from the right-hand side of (5) with \(P=\texttt{big_p}\).
Post-computation
Complete the products with the values for primes \(p < \texttt{big_p}\).
Output
Return the tuple of lattice-invariant classes and the tuple of couples of lower/upper bounds for the wanted Euler products.
Once the script is loaded, a typical call will be
get_vs(12, 2, 100, 110)
to compute modulo 12 the possible constants with \(s=2\), asking for
100 decimal digits and using \(P=110\). The output is self
explanatory. The number of decimal digits asked for is roughly handled
and one may lose precision in between, but this is indicated at the end.
Note that we expect the final result to be of size roughly unity, so
what we ask for is not the relative precision but the number of
decimals. Hence, in the function get_gamma
, we replace by an
approximation of 0 the values that we know are insignificantly small.
This is a true time-saver.
There are two subsequent optional parameters verbose
and
with_laTeX
. The first one may take the values 0, 1 and 2; when equal
to 0, the function will simply do its job and return the tuple of the
invariant classes and the one of the computed lower and upper values.
When equal to 1, the time taken will also be printed. And when equal to
2, its default value, some information on the computation is given. When
the parameter verbose
is at least 2 and with_laTeX
is 1, the
values of the constants will be further presented in a format suitable
for inclusion in a LaTeX-file. The digits presented in LaTeX-format when
with_laTeX
\(=1\) are always accurate. For instance, the call
get_vs(12, 2, 100, 100, 2, 1)
is the one used to prepare the addendum
[2] in which we give the first
hundred decimal digits of every Euler product over a lattice invariant
class when the modulus is at most 16.
The computations of the Euler products of Theorem 2
(with \(P=2\), the parameter big_p
being used to decide from
which point onwards we use the usual Euler product or the expression of
the theorem) is implemented in:
The parameter big_p
may be increased by the script to ensure that
\(P\ge2\beta\) (a condition that is usually satisfied). We reused
the same structure as the one for the function get_vs
except that the
set of indices \(m\) is now a full interval. Since the coefficients
\(|b_F(j)-b_G(j)|\) may increase like \(\beta^j\), we increase
the working precision by \(J\log\beta /\log 2\).
Checking¶
The values given here have been checked in several ways. The co-authors
of this paper have run several independent scripts. We also provide the
function get_vs_checker(q, s, borne = 10000)
which computes
approximate values of the same Euler products by simply truncating the
Euler product representation. We checked with positive result the
stability of our results with respect of the variation of the
parameter \(P\). This proved to be a very discriminating test.
Furthermore, approximate values for Shanks’ and Lal’s constants are known (Finch in [4] gives 10 digits) and we agree with those. Finally, the web site [7] by X. Gourdon and P. Sebah, or the attached postscript file on the same page, gives in section 4.4 the first fifty digits of the constant they call \(A\) and which are
Our result matches that of [7].
Some observations on the running time and complexity¶
We tried several large computations to get an idea of the limitations of our script with the choice \(s=2\) in Corollary 8. We present five tables:
A first table for \(3\le q\le 100\) with the uniform choice \(P=100\) and asking for 100 decimal digits.
Three further tables obtained with the choice \(P=200\) and asking for a thousand decimal digits. The cases retained are \(q\le 16\), \(91\le q\le 100\) and \(200\le q\le 220\). This last interval contains the first integer \(q\) such that \(r=\omega(\varphi(q))=4\), namely \(q=211\).
And finally a table for \(q\in\{3,5\}\) and asking for 5000 decimal digits. The running time is given with different choices of the parameter \(P\).
Since we did not run each computation hundred times to get an average timing, these tables have to be taken with a pinch of salt. The processor was an Intel Core i5-2500 at 3.30 GHz. The first half of Table 2 may be reproduced with the call:
table_performance(3, 51, 100, 100)
In these tables, \(r=\omega(\varphi(q))\) is the number of distinct prime divisors of \(\varphi(q)\) as in Corollary 8. The time is given in tenth of a second, indicated by “s/10”. The column with the tag “\(\#m's\)” contains the number of indices \(m\le M\) such that \(m|\varphi(q)^\infty\). We otherwise follow the notation of Theorem 2.
It seems likely, when looking at Tables 2, 3, 4 and 5 that the number of values of the Hurwitz zeta-function to be computed is the main determining factor of the time consumption. This number is controlled by \(\varphi(q)\), since this is the number of characters, and by the number of \(m\)’s required, a value that is on the whole controlled by \(r=\omega(\varphi(q))\).
\(q\) |
\(\varphi(q)\) |
\(r\) |
\(\#m's\) |
\(\|G^\sharp\|\) |
\(M\) |
Time (s/10) |
---|---|---|---|---|---|---|
3 |
2 |
1 |
8 |
2 |
218 |
10 |
4 |
2 |
1 |
8 |
2 |
218 |
7 |
5 |
4 |
1 |
8 |
3 |
218 |
14 |
7 |
6 |
2 |
26 |
4 |
218 |
69 |
8 |
4 |
1 |
8 |
4 |
218 |
12 |
9 |
6 |
2 |
26 |
4 |
218 |
67 |
11 |
10 |
2 |
19 |
4 |
218 |
81 |
12 |
4 |
1 |
8 |
4 |
218 |
14 |
13 |
12 |
2 |
26 |
6 |
218 |
135 |
15 |
8 |
1 |
8 |
6 |
218 |
26 |
16 |
8 |
1 |
8 |
6 |
218 |
24 |
\(q\) |
\(\varphi(q)\) |
\(r\) |
\(\#m's\) |
\(|G^\sharp|\) |
\(M\) |
Time (s/10) |
---|---|---|---|---|---|---|
91 |
72 |
2 |
26 |
30 |
219 |
910 |
92 |
44 |
2 |
14 |
8 |
218 |
286 |
93 |
60 |
3 |
47 |
16 |
219 |
1388 |
95 |
72 |
2 |
26 |
18 |
218 |
912 |
96 |
32 |
1 |
8 |
16 |
218 |
114 |
97 |
96 |
2 |
26 |
12 |
218 |
1257 |
99 |
60 |
3 |
47 |
16 |
219 |
1399 |
100 |
40 |
2 |
19 |
12 |
218 |
363 |
\(q\) |
\(\varphi(q)\) |
\(r\) |
\(\#m's\) |
\(\|G^\sharp\|\) |
\(M\) |
Time (s/10) |
---|---|---|---|---|---|---|
200 |
80 |
2 |
19 |
24 |
218 |
759 |
201 |
132 |
3 |
37 |
16 |
218 |
2543 |
203 |
168 |
3 |
42 |
24 |
219 |
3767 |
204 |
64 |
1 |
8 |
20 |
218 |
240 |
205 |
160 |
2 |
19 |
28 |
219 |
1573 |
207 |
132 |
3 |
37 |
16 |
218 |
2520 |
208 |
96 |
2 |
26 |
40 |
219 |
1259 |
209 |
180 |
3 |
47 |
24 |
219 |
4552 |
211 |
210 |
4 |
69 |
16 |
219 |
8406 |
212 |
104 |
2 |
14 |
12 |
218 |
743 |
213 |
140 |
3 |
31 |
16 |
218 |
2271 |
215 |
168 |
3 |
42 |
24 |
219 |
3807 |
216 |
72 |
2 |
26 |
24 |
219 |
930 |
217 |
180 |
3 |
47 |
40 |
219 |
4517 |
219 |
144 |
2 |
26 |
24 |
219 |
1970 |
220 |
80 |
2 |
19 |
24 |
218 |
753 |
Table 6 gives some data about the running time when asking for 5000 decimal digits, which essentially sets the horizon of the present method. The time is counted in minutes.
\(q\) |
\(P\) |
time |
---|---|---|
3 |
200 |
80m |
3 |
400 |
35m |
3 |
500 |
35m |
5 |
500 |
72m |
5 |
1000 |
70m |
5 |
5000 |
72m |
[1] H. Cohen, High precision computations of Hardy-Littlewood constants, preprint (1996), 1–19.
[2] S. Ettahri, O. Ramaré and L. Surel, Some Euler Products, Preprint (2020), 4p, Addendum to ’Fast multi-precision computation of some Euler products’.
[3] J.-H. Evertse, On sums of \(S\) -units and linear recurrences, Compositio Math. 53 (1984), no. 2, 225–244. MR 766298
[4] S. R. Finch, Mathematical constants, Encyclopedia of Mathematics and its Applications, vol. 94, Cambridge University Press, Cambridge, 2003. MR 2003519
[5] P. Flajolet and I. Vardi, Zeta function expansions of classical constants, preprint (1996), 1–10.
[6] É. Fouvry, C. Levesque and M. Waldschmidt, Representation of integers by cyclotomic binary forms, Acta Arith. 184 (2018), no. 1, 67–86. MR 3826641
[7] X. Gourdon and P. Sebah, Constants from number theory, http://numbers.computation.free.fr/Constants/constants.html (2010).
[8] M. Lal, Primes of the form \(n^{4}+1\), Math. Comp. 21 (1967), 245–247. MR 0222007
[9] P. Moree, Approximation of singular series constant and automata. with an appendix by Gerhard Niklasch., Manuscripta Matematica 101 (2000), no. 3, 385–399.
[10] P. Moree, On the average number of elements in a finite field with order or index in a prescribed residue class, Finite Fields Appl. 10 (2004), no. 3, 438–463. MR 2067608
[11] W. Narkiewicz, Elementary and analytic theory of algebraic numbers, third ed., Springer Monographs in Mathematics, Springer-Verlag, Berlin, 2004. MR 2078267 (2005c:11131)
[12] OEIS Foundation Inc., The on-line encyclopedia of integer sequence, 2019, http://OEIS.org/.
[13] J.-P. Serre, Cours d’arithmétique, Collection SUP: “Le Mathématicien”, vol. 2, Presses Universitaires de France, Paris, 1970. MR 0255476
[14] D. Shanks, On the conjecture of Hardy & Littlewood concerning the number of primes of the form \(n^{2}+a\), Math. Comp. 14 (1960), 320–332. MR 0120203
[15] D. Shanks, On numbers of the form :math:`n^{4}+1`, Math. Comput. 15 (1961), 186–189. MR 0120184
[16] D. Shanks, The second-order term in the asymptotic expansion of \(B(x)\), Math. Comp. 18 (1964), 75–86. MR 0159174
[17] D. Shanks, Lal’s constant and generalizations, Math. Comp. 21 (1967), 705–707. MR 0223315
[18] L. Tóth, Menon’s identity and arithmetical sums representing functions of several variables, Rend. Semin. Mat. Univ. Politec. Torino 69 (2011), no. 1, 97–110. MR 2884710
[19] L. Tóth, On the number of cyclic subgroups of a finite Abelian group, Bull. Math. Soc. Sci. Math. Roumanie (N.S.) 55(103) (2012), no. 4, 423–428. MR 2963406
[20] A. J. van der Poorten and H. P. Schlickewei, Zeros of recurrence sequences, Bull. Austral. Math. Soc. 44 (1991), no. 2, 215–223. MR 1126359
[21] E. Witt, Treue Darstellung Liescher Ringe, J. Reine Angew. Math. 177 (1937), 152–160. MR 1581553