/* Copyright (C) 2020 Alessandro Languasco */ /**************** A. LANGUASCO ******************** ************* COMPUTATION OF THE EULER KRONECKER CONSTANTS MOD q (integer) *******/ /******* Direct use of the pari/gp lfun functions *****/ {maxminL_all(r1, r2, defaultprecision)=local(minutes, millisec, seconds, rows, n, m, L, maxL, minL, q, G, chi, elaptimecomp, absL, mcd, huge, MinLfilecsv, MaxLfilecsv, TimeLfilecsv); default(realprecision,defaultprecision); print("************ A. LANGUASCO *************"); print("********* COMPUTATION OF THE MAX |L(1,chi)|**********"); print("******* FOR q INTEGER IN ONE INTERVAL ********"); print("********* direct use of the lfun command **********"); if (r1>r2, print("error: no integers in this interval. END PROGRAM");return); if (r1 < 3, r1=3); print("Interval=[",r1,",",r2,"]"); MaxLfilecsv = fileopen("maxL-values-all.csv", "w"); MinLfilecsv = fileopen("minL-values-all.csv", "w"); TimeLfilecsv = fileopen("maxminL-times-all.csv", "w"); huge = 10^3; for(q=r1,r2, print1("q = ", q, " started:"); gettime(); maxL=0; minL = huge; G = znstar(q, 1); for(m=2, q-1, mcd = gcd (m,q); if (mcd == 1, chi=znconreychar(G,m); L=lfuncreate(Mod(m,q)); \\ defines L as the Dirichlet L-function associated with a non-trivial Dirichlet character (Conrey notation) absL=abs(lfun(L,1)); \\ computes the absolute value of L at 1 if(absL>maxL, maxL=absL); if(absL