Alessandro Languasco

Home

Research

Divulgazione

Programs

Books

OEIS

Teaching2223

Links

Teaching2122

Teaching2021

Teaching1920

Alessandro Languasco


Papers: List Papers; (with Abstracts); Curriculum (in Italian): long version ; short version; in English: long version. Google Scholar profile. ResearchGate page. Orcid ID. Scopus Author ID. Web of Science Researcher ID, Mathematical Reviews page, Zentralblatt page, IRIS-CINECA bibliometric parameters (italian ASN) [2023]. English C1 badge.


Computation of the Euler-Kronecker constants for prime cyclotomic fields
(and some related problems)
A. Languasco



In this page I collect some links concerning the computation of the Euler-Kronecker constants for prime cyclotomic fields, the maximum over non trivial characters for the logarithmic derivative at 1 of Dirichlet L-functions modulo q (q odd prime up to 10^6) and the generalised Euler constants in arithmetic progressions. In a recent paper [1], I introduced a faster method to compute the Euler-Kronecker constants for prime cyclotomic fields and, as a by-product, I also applied it to estimate the maximum of the absolute value of the logarithmic derivative at 1 of Dirichlet L-functions with prime modulus and to evaluate the generalised Euler constants in arithmetic progressions.

In particular in [1], using such an improved algorithm, I established that
𝔊9109334831 = -0.248739...    and    𝔊9854964401 = -0.096465...

thus getting a two new negative values for 𝔊q; remark also that 𝔊9109334831 is the new minimal known value. The previous record was obtained in 2014 by Ford, Luca and Moree in [2] and was 𝔊964477901 = -0.182374...

I describe here the Pari/GP scripts and the C programs used. More detailed instructions on how to use the C programs are here: How-it-works.txt.

I have to state the obvious fact that if you wish to use some of the softwares below for your own research, you should acknowledge the author and cite the relevant paper in which the program was used first. In other words, you can use them but you have to cite the paper of mine that contains such programs. If you are wondering why I am stating something so trivial, please have a look at P0 here: A.Languasco-Programs



Pari/GP scripts

Euler-Kronecker constants computation:
EK-direct-final.gp: Pari/GP script. It can be used via gp2c. The function to be run is:
global_eulerkronecker_direct (r1,r2,defaultprecision).
Input: 2< r1 < r2, two integers; defaultprecision is the number of digits requested.
Output: 𝔊q and 𝔊q+ for every odd prime q such that r1≤q≤r2 and the running times.
Comment: it uses the lfun command of Pari/GP and the Conrey description of Dirichlet characters. Examples on how to use the function and computational results are collected towards the end of the file.
EK-T-final.gp: Pari/GP script. It can be used via gp2c. The function to be run is:
global_eulerkroneckerT (r1,r2,defaultprecision,flag).
Input: 2< r1 < r2, two integers; defaultprecision is the number of digits requested; flag (defalult =0): if nonzero computes also the Euler generalised constant γ0(a,q) and γ1(a,q), 1≤a≤q.
Output: 𝔊q and 𝔊q+ for every odd prime q such that r1≤q≤r2 and the running times.
Comments: it computes first the needed values of ψ and T at the a/q points, see [1], and then obtain 𝔊q and 𝔊q+ with a trivial implementation of the sum over a, 1≤a≤q-1. Examples on how to use the function and computational results are collected towards the end of the file.
EK-S-DIF-final.gp: Pari/GP script. It can be used via gp2c. The function to be run is:
global_eulerkroneckerS_DIF (r1,r2,defaultprecision).
Input: 2< r1 < r2, two integers; defaultprecision is the number of digits requested.
Output: 𝔊q and 𝔊q+ for every odd prime q such that r1≤q≤r2 and the running times.
Comments: it computes first the values of log(Γ) and the decimated in frequency values of S at the a/q points, see [1], and then obtain 𝔊q and 𝔊q+ with a trivial implementation of the sum over a, 1≤a≤q-1. Examples on how to use the function and computational results are collected towards the end of the file.
Generalised Euler constants in arithmetic progressions:
Gen-Euler-constants.gp: Pari/GP script. It can be used via gp2c. The function to be run is:
gk(k,r1,r2,defaultprecision).
Input: k≥1 is an integer,r1 ≤ r2 two integers; defaultprecision is the number of digits requested.
Output: γk(a,q) for every q such that r1≤q≤r2 and 1≤a≤q.
Comments: it uses the values of T at the a/q points and then obtain γk(a,q) as described in [1]. Examples on how to use the function and computational results are collected towards the end of the file.
Greedy sequence of prime offsets:
greedy_seq.gp: Pari/GP script. It can be used via gp2c. The function to be run is:
greedy()
whose output is the first 2088 terms of the greedy sequence of prime offsets.
Such values are used to evaluate which candidates (q prime) can have small, possibly negative, values of 𝔊q. An exhaustive search for every prime q up to 10^(10) were performed to towards the end a list of q with evalutation greater than 1.2; for very few primes such a condition holds.
Maximum over non trivial characters for the logarithmic derivative at 1 of Dirichlet L-functions modulo q:
Max-direct-final.gp: Pari/GP script. It can be used via gp2c. The function to be run is:
max_direct (r1,r2,defaultprecision).
Input: 2< r1 < r2, two integers; defaultprecision is the number of digits requested.
Output: the value Mq (distinguishing between even and odd characters) for every odd prime q such that r1≤q≤r2 and the running times.
Comment: it uses the lfun command of Pari/GP and the Conrey description of Dirichlet characters. Examples on how to use the function and computational results are collected towards the end of the file.
Max-S-final.gp: Pari/GP script. It can be used via gp2c. The function to be run is:
maxS_DIF (r1,r2,defaultprecision).
Input: 2< r1 < r2, two integers; defaultprecision is the number of digits requested.
Output: the value Mq (distinguishing between even and odd characters) for every odd prime q such that r1≤q≤r2 and the running times.
Comments: it computes first the values of log(Γ) and the decimated in frequency values of S at the a/q points, see [1], and then obtain Mq with a trivial implementation of the sum over a, 1≤a≤q-1. Examples on how to use the function and computational results are collected towards the end of the file.
Max-T-final.gp: Pari/GP script. It can be used via gp2c. The function to be run is:
maxT (r1,r2,defaultprecision).
Input: 2< r1 < r2, two integers; defaultprecision is the number of digits requested.
Output: the value Mq (distinguishing between even and odd characters) for every odd prime q such that r1≤q≤r2 and the running times.
Comments: it computes first the needed values of ψ and T at the a/q points, see [1], and then obtain Mq with a trivial implementation of the sum over a, 1≤a≤q-1. Examples on how to use the function and computational results are collected towards the end of the file.

C programs
Examples on how to use the following programs and the results obtained with them are contained in the directory: results.
Towards the end of each file are inserted the compilation instructions for some of the machines used for performing the actual computations.
Precomputations:
EKmain.c: C program.
input: an odd prime q.
output: the ascii file primroot.res contains q and g, a primitive root mod q.

m_precpsi.c: C program. Computes the needed values of ψ(a/q), a =gj mod q, g=primroot, for j in a given interval [x,y]. Saves the results on an ASCII file.
input: the file primroot.res (reads q and g), 0≤ x < y ≤ q-2: integers.
output: the ascii file precψ--x-y.res contains q in its first line and then, line by line, the values of ψ(gj/q), x≤j≤y.

DIFm_precS.c: C program. Computes the needed decimated in frequency values of -(S(a/q)+S(1-a/q)), a =gj mod q, g=primroot, 1-a/q = gj+m/q, m=(q-1)/2, for j in a given interval [x,y]. Saves the results on an ASCII file.
input: the file primroot.res (reads q and g), 0≤ x < y ≤ q-2: integers.
output: the ascii file precomp_S-DIF--x-y.res contains q in its first line and then, line by line, the decimated in frequency values of S. i.e. the values of -(S(gj/q)+S(1-gj/q)), m=(q-1)/2, x≤j≤y.

m_precT.c: C program. Computes the needed values of -T(a/q), a =gj mod q, g=primroot, for j in a given interval [x,y]. Saves the results on an ASCII file.
input: the file primroot.res (reads q and g), 0≤ x < y ≤ q-2: integers.
output: the ascii file precT--x-y.res contains q in its first line and then, line by line, the values of -T(gj/q), x≤j≤y.
FFT step: (using the FFTW library): All the following programs use the FFTW-guru64 interface (which also allows to transform sequences having dimension larger than 231-1).

Euler-Kronecker constants computation:

EK-S-fftwl.c: C program.
It computes 𝔊q+ and 𝔊q via FFT; it needs the fftw library. It's the long double precision version. Values of log(Γ) are computed using the internal function of the C programming language. Uses the decimated in frequency values for S and the sequence gk mod q.
input: the ascii files primroot.res, precomp_S-DIF.res.
output: the values 𝔊q+ and 𝔊q and their difference together with the running times.

EK-T-fftwl.c: C program.
It computes 𝔊q+ and 𝔊q via FFT; it needs the fftw library. It's the long double precision version. Double precision values of ψ are computed using the GSL library.
input: the ascii files primroot.res, precomp_T.res.
output: the values 𝔊q+ and 𝔊q and their difference together with the running times.

An alternative version of EK-T-fftwl.c (which uses the ψ function values generated by the program m_precpsi previously described; precomputed and stored on an external file as for T and S) is also available on request together with the quadruple precision versions of all the previously mentioned programs.

Maximum over non trivial characters for the logarithmic derivative at 1 of Dirichlet L-functions modulo q:

Max-S-fftwl.c: C program.
It computes Mq via FFT; it needs the fftw library. It's the long double precision version. Values of log(Γ) are computed using the internal function of the C programming language. Uses the decimated in frequency values for S and the sequence gk mod q.
input: the ascii files primroot.res, precomp_S-DIF.res.
output: the value Mq (distinguishing between even and odd characters) and the running times.

Max-T-fftwl.c: C program.
It computes Mq via FFT; it needs the fftw library. It's the long double precision version. Double precision values of ψ are computed using the GSL library.
input: the ascii files primroot.res, precomp_T.res.
output: the value Mq (distinguishing between even and odd characters) and the running times.

Results
The results presented in [1] can be retrieved as follows.
The results for 𝔊q+, 𝔊q and Mq for q up to 30011 are contained towards the end of the each gp scripts listed before.
The results for 𝔊q+ and 𝔊q for q from 40009 up to 75743411 were obtained with the C programs (and the FFTW library) and are collected as .zip files in the directory results.
The results for 𝔊q+, 𝔊q and Mq for every prime between 3 and 10^6 were obtained with the C programs (and the FFTW library) on the cluster of the Math. Dept. of the University of Padova; they can be found in a csv file here: results; the analysis on this file were performed using a python3-pandas script (also included there).
In the directory plots you can find the scatter plots of the normalised results of 𝔊q+, 𝔊q and Mq for every prime between 3 and 10^6.
The results for 𝔊q+ and 𝔊q with q≥ 193894451 were obtained with the C programs (and the FFTW library) on the cluster of the Math. Dept. or on the C.A.P.R.I. (Calcolo ad Alte Prestazioni per la Ricerca e l'Innovazione) infrastructure of the University of Padova. They involve huge files to store the needed values for T, S (and ψ; ascii files of about 20GB for S and 40 GB T and ψ for q= 964477901, for instance) and hence cannot be here included. We can just insert a .txt file with the output of the final fft-programs.
References

Some of the papers connected with this project are the following.
[1] A. Languasco - Efficient computation of the Euler-Kronecker constants for prime cyclotomic fields - Research in Number Theory 7 (2021), no. 1, Paper no. 2.
[2] K. Ford; F. Luca; P. Moree - Values of the Euler phi-function not divisible by a given odd prime, and the distribution of Euler-Kronecker constants for cyclotomic fields  - Math. Comp. 83 (2014), 1457-1476.
[3] P. Moree - Irregular Behaviour of Class Numbers and Euler-Kronecker Constants of Cyclotomic Fields: The Log Log Log Devil at Play, in Irregularities in the Distribution of Prime Numbers. From the Era of Helmut Maier's Matrix Method and Beyond (J. Pintz and M.Th. Rassias, eds.), Springer, 2018, pp. 143-163.
[4] A. Languasco, L. Righi - A fast algorithm to compute the Ramanujan-Deninger gamma function and some number-theoretic applications - Mathematics of Computation 90 (2021), 2899--2921.



Ultimo aggiornamento: 26.07.2023: 11:10:26

Go to the
Maths Department
Home Page

Home

Research

Divulgazione

Programs

Books

OEIS

Teaching2223

Links

Teaching2122

Teaching2021

Teaching1920

© Alessandro Languasco 2023