/* Copyright (C) 2022-2025 Alessandro Languasco */ {firstpols() = local(p1, p2, p3, p4, fpols, f1pols, g, F, A, R, w, tail, fplus, fminus, gplus, gminus); \\ x, p are the formal indeterminates, not program variables tail = x^(12)/(1 - x); fplus = 1 + x - x^2 + x^3 - x^4 - x^5 + x^6 + x^7 + x^8 - x^9 + x^(10) - x^(11) + tail; fminus = 1 + x - x^2 + x^3 - x^4 - x^5 - x^6 + x^7 + x^8 - x^9 - x^(10) - x^(11) - tail; gplus = 1 + x - x^2 + x^3 + x^4 - x^5 + x^6 + x^7 + x^8 + x^9 + x^(10) - x^(11) + tail; gminus = 1 + x - x^2 + x^3 + x^4 - x^5 - x^6 + x^7 + x^8 + x^9 - x^(10) - x^(11) - tail; p1 = (1 - x) * fplus; p2 = (1 - x) * fminus; p3 = (1 - x) * gplus; p4 = (1 - x) * gminus; fpols=vector(4); f1pols=vector(4); fpols[1] = p1; fpols[2] = p2; fpols[3] = p3; fpols[4] = p4; for (j=1,4, f1pols[j] = Pol(fpols[j])); for (j=1,4, g = f1pols[j]; print("------"); print("polynomial f_",j,"; eps = ", if(j%2 == 1, 1, -1), " is = "); print(g); F = subst(g, x, 1/p); A = prodeulerrat(F); print("Eulerprod(f) = ", A); R = (1 + A)/(1-A); print("rho(f) = ", R); w = 2^(-3); print("rho-tilde(f) = ", R*w) ); } /******** languasc@zygalski Finer-analysis % gp2c-run -pmy_ -g -W nuovipols-v2.gp Reading GPRC: /Users/languasc/.gprc GPRC Done. GP/PARI CALCULATOR Version 2.17.2 (released) amd64 running darwin (x86-64/GMP-6.3.0 kernel) 64-bit version compiled: Apr 29 2025, Apple clang version 17.0.0 (clang-1700.0.13.3) threading engine: pthread, nbthreads = 12 (readline v8.0 enabled, extended help enabled) Copyright (C) 2000-2024 The PARI Group PARI/GP is free software, covered by the GNU General Public License, and comes WITHOUT ANY WARRANTY WHATSOEVER. Type ? for help, \q to quit. Type ?18 for how to get moral (and possibly technical) support. parisizemax = 2048000000, primelimit = 1048576, factorlimit = 1048576 ? firstpols() ------ polynomial f_1; eps = 1 is = 2*x^12 - 2*x^11 + 2*x^10 - 2*x^9 + 2*x^6 - 2*x^4 + 2*x^3 - 2*x^2 + 1 Eulerprod(f) = 0.4603876680625199200612838020253376964418292341390849924705407960534804048201325001077106219224396065 rho(f) = 2.706364516946809905963181932740429548267307965284459892344215626532007760447550938740268139202828584 rho-tilde(f) = 0.3382955646183512382453977415925536935334134956605574865430269533165009700559438673425335174003535730 ------ polynomial f_2; eps = -1 is = -2*x^9 + 2*x^7 - 2*x^4 + 2*x^3 - 2*x^2 + 1 Eulerprod(f) = 0.4472945575530463265489456733663300331539044411238852455932420482626884227548690986800177926424324157 rho(f) = 2.618563969888810215551606487964037201584818845869249407640690162033609045475750920029881147064932806 rho-tilde(f) = 0.3273204962361012769439508109955046501981023557336561759550862702542011306844688650037351433831166008 ------ polynomial f_3; eps = 1 is = 2*x^12 - 2*x^11 + 2*x^6 - 2*x^5 + 2*x^3 - 2*x^2 + 1 Eulerprod(f) = 0.5177726835880827185312393353672436382285396525771582274728670249464240764892623773971629812888023676 rho(f) = 3.147421624476381506643928407951769596208782533571802993561699174207350663087435132487225748210046543 rho-tilde(f) = 0.3934277030595476883304910509939711995260978166964753741952123967759188328859293915609032185262558179 ------ polynomial f_4; eps = -1 is = -2*x^10 + 2*x^7 - 2*x^5 + 2*x^3 - 2*x^2 + 1 Eulerprod(f) = 0.5042814111793717979843901589422677178503262579114192768249709148802823169890572279514472164552681481 rho(f) = 3.034547110202647593693070896945732991460760621104679749261350607719694002076389315692637804636429291 rho-tilde(f) = 0.3793183887753309492116338621182166239325950776380849686576688259649617502595486644615797255795536614 ? ## *** last result: cpu time 16 ms, real time 16 ms. *********/ { severalpols() = local(E, E1, p1, p2, p3, p4, p5, p6, p7, fpols, f1pols, eps, g, F, A, R, w, tail1); \\ x, p are the formal indeterminates, not program variables E = x^(10) + x^(12) + x^(16) + x^(18) + x^(21) + x^(22); E1 = (1 - x) * E; \\tail = x^(25)/(1 - x); tail1 = x^(25); p1 = 1 + x - x^2 + x^3 - x^4 - x^5 - x^6 + x^7 + x^8 - x^9 - x^(11) - x^(13) + x^(14) + x^(15) + x^(17) - x^(19) + x^(20) - x^(23); p2 = 1 + x - x^2 + x^3 + x^4 - x^5 - x^6 + x^7 + x^8 + x^9 - x^(11) - x^(13) - x^(14) + x^(15) + x^(17) + x^(19) + x^(20) - x^(23); p3 = 1 + x - x^2 + x^3 + x^4 - x^5 + x^6 + x^7 + x^8 + x^9 - x^(11) + x^(13) - x^(14) + x^(15) + x^(17) + x^(19) - x^(20) - x^(23); p4 = 1 + x - x^2 + x^3 - x^4 - x^5 + x^6 + x^7 + x^8 - x^9 - x^(11) + x^(13) + x^(14) + x^(15) + x^(17) - x^(19) - x^(20) - x^(23); p5 = 1 + x + x^2 + x^3 - x^4 + x^5 - x^6 + x^7 + x^8 - x^9 + x^(11) - x^(13) - x^(14) + x^(15) + x^(17) - x^(19) - x^(20) + x^(23); p6 = 1 + x + x^2 + x^3 - x^4 + x^5 + x^6 + x^7 + x^8 - x^9 + x^(11) + x^(13) - x^(14) + x^(15) + x^(17) - x^(19) + x^(20) + x^(23); p7 = 1 + x + x^2 + x^3 + x^4 + x^5 - x^6 + x^7 + x^8 + x^9 + x^(11) - x^(13) + x^(14) + x^(15) + x^(17) + x^(19) - x^(20) + x^(23); p1 = (1 - x) * p1; p2 = (1 - x) * p2; p3 = (1 - x) * p3; p4 = (1 - x) * p4; p5 = (1 - x) * p5; p6 = (1 - x) * p6; p7 = (1 - x) * p7; fpols=vector(14); f1pols=vector(14); eps=1; fpols[1] = p1 + eps * E1 + eps * tail1; fpols[3] = p2 + eps * E1 + eps * tail1; fpols[5] = p3 + eps * E1 + eps * tail1; fpols[7] = p4 + eps * E1 + eps * tail1; fpols[9] = p5 + eps * E1 + eps * tail1; fpols[11] = p6 + eps * E1 + eps * tail1; fpols[13] = p7 + eps * E1 + eps * tail1; eps=-1; fpols[2] = p1 + eps * E1 + eps * tail1; fpols[4] = p2 + eps * E1 + eps * tail1; fpols[6] = p3 + eps * E1 + eps * tail1; fpols[8] = p4 + eps * E1 + eps * tail1; fpols[10] = p5 + eps * E1 + eps * tail1; fpols[12] = p6 + eps * E1 + eps * tail1; fpols[14] = p7 + eps * E1 + eps * tail1; for (j=1,14,f1pols[j] = Pol(fpols[j])); for (j=1,14, g = f1pols[j]; print("------"); print("polynomial f_",j,"; eps = ", if(j%2 == 1, 1, -1), " is = "); print(g); F = subst(g, x, 1/p); A = prodeulerrat(F); print("Eulerprod(f) = ", A); R = (1 + A)/(1-A); print("rho(f) = ", R); if (j <= 8, w = 2^(-3)); if (j >= 9 && j <= 12, w = 2^(-5)); if (j >= 13, w = 2^(-7)); print("rho-tilde(f) = ", R*w) ); } /********** RESULTS ------ languasc@zygalski Finer-analysis % gp2c-run -pmy_ -g -W nuovipols-v2.gp Reading GPRC: /Users/languasc/.gprc GPRC Done. GP/PARI CALCULATOR Version 2.17.2 (released) amd64 running darwin (x86-64/GMP-6.3.0 kernel) 64-bit version compiled: Apr 29 2025, Apple clang version 17.0.0 (clang-1700.0.13.3) threading engine: pthread, nbthreads = 12 (readline v8.0 enabled, extended help enabled) Copyright (C) 2000-2024 The PARI Group PARI/GP is free software, covered by the GNU General Public License, and comes WITHOUT ANY WARRANTY WHATSOEVER. Type ? for help, \q to quit. Type ?18 for how to get moral (and possibly technical) support. parisizemax = 2048000000, primelimit = 1048576, factorlimit = 1048576 ? \\ x, p are the formal indeterminates, not program variables ? \p100 realprecision = 115 significant digits (100 digits displayed) ? severalpols() ------ polynomial f_1; eps = 1 is = x^25 + x^24 - 2*x^23 + 2*x^20 - 2*x^19 + 2*x^14 - 2*x^13 + 2*x^12 - 2*x^11 + 2*x^10 - 2*x^9 + 2*x^7 - 2*x^4 + 2*x^3 - 2*x^2 + 1 Eulerprod(f) = 0.4482503035658232145870376410694512289685218697480115936374922470822373511422155208576845859862970638 rho(f) = 2.624832080426161321634491015327119426174127389006153605919760990736174440480195260823333284112077415 rho-tilde(f) = 0.3281040100532701652043113769158899282717659236257692007399701238420218050600244076029166605140096769 ------ polynomial f_2; eps = -1 is = -x^25 + x^24 - 2*x^21 + 2*x^20 - 2*x^18 + 2*x^17 - 2*x^16 + 2*x^14 - 2*x^9 + 2*x^7 - 2*x^4 + 2*x^3 - 2*x^2 + 1 Eulerprod(f) = 0.4473651306018669337375966150700366217929917812648644161291152128886744860832855488380770755717424037 rho(f) = 2.619026070827148718221776616924917190048440399754981021475048815999681477428920968842159751918827324 rho-tilde(f) = 0.3273782588533935897777220771156146487560550499693726276843811019999601846786151211052699689898534154 ------ polynomial f_3; eps = 1 is = x^25 + x^24 - 2*x^23 + 2*x^15 - 2*x^13 + 2*x^12 - 2*x^11 + 2*x^7 - 2*x^5 + 2*x^3 - 2*x^2 + 1 Eulerprod(f) = 0.5052183152534292791294816308297222602175155116072598497627763122602958148194546346909168163261199213 rho(f) = 3.042186810177519989265543839173903069258395343205156856205689671596971581991980547854183591112574851 rho-tilde(f) = 0.3802733512721899986581929798967378836572994179006446070257112089496214477489975684817729488890718563 ------ polynomial f_4; eps = -1 is = -x^25 + x^24 - 2*x^21 + 2*x^19 - 2*x^18 + 2*x^17 - 2*x^16 + 2*x^15 - 2*x^10 + 2*x^7 - 2*x^5 + 2*x^3 - 2*x^2 + 1 Eulerprod(f) = 0.5043109880820652813010581909219868289875467967116296451015912846575819167135111835021513806621621345 rho(f) = 3.034787844623669002086194448796087909026198545272647516530205437518185655707485826859446105976562736 rho-tilde(f) = 0.3793484805779586252607743060995109886282748181590809395662756796897732069634357283574307632470703421 ------ polynomial f_5; eps = 1 is = x^25 + x^24 - 2*x^23 + 2*x^21 - 2*x^20 + 2*x^15 - 2*x^14 + 2*x^12 - 2*x^11 + 2*x^6 - 2*x^5 + 2*x^3 - 2*x^2 + 1 Eulerprod(f) = 0.5177277194214733296811194499241949838728393697320110916906888684839191346506154652326421943880366094 rho(f) = 3.147034943830546682570410224242462470991187422722230292791359335111533196152924930872419082238434157 rho-tilde(f) = 0.3933793679788183353213012780303078088738984278402787865989199168889416495191156163590523852798042696 ------ polynomial f_6; eps = -1 is = -x^25 + x^24 - 2*x^20 + 2*x^19 - 2*x^18 + 2*x^17 - 2*x^16 + 2*x^15 - 2*x^14 + 2*x^13 - 2*x^10 + 2*x^6 - 2*x^5 + 2*x^3 - 2*x^2 + 1 Eulerprod(f) = 0.5168180050886673325408804518148412760630179962711338477345614053636671016743012091959633473689986207 rho(f) = 3.139227084334991051040611863608421401703195291806574934671396551571529143060474168252593181421550147 rho-tilde(f) = 0.3924033855418738813800764829510526752128994114758218668339245689464411428825592710315741476776937684 ------ polynomial f_7; eps = 1 is = x^25 + x^24 - 2*x^23 + 2*x^21 - 2*x^19 + 2*x^12 - 2*x^11 + 2*x^10 - 2*x^9 + 2*x^6 - 2*x^4 + 2*x^3 - 2*x^2 + 1 Eulerprod(f) = 0.4603855476504320407735460642407939733690257282576259450533483951813322398542210442704012065238115418 rho(f) = 2.706349952807377388065324151468566579765220306469694654644073102694945341277485657625761064553179765 rho-tilde(f) = 0.3382937441009221735081655189335708224706525383087118318305091378368681676596857072032201330691474706 ------ polynomial f_8; eps = -1 is = -x^25 + x^24 - 2*x^18 + 2*x^17 - 2*x^16 + 2*x^13 - 2*x^9 + 2*x^6 - 2*x^4 + 2*x^3 - 2*x^2 + 1 Eulerprod(f) = 0.4594979985486154022848226489011480969852415721269318831290664712096876276358793200054783655175743285 rho(f) = 2.700263818874849835527528485884464368421868341286348089391932274748244141666697443491146759783766133 rho-tilde(f) = 0.3375329773593562294409410607355580460527335426607935111739915343435305177083371804363933449729707667 ------ polynomial f_9; eps = 1 is = x^25 - x^24 + 2*x^21 - 2*x^19 + 2*x^15 - 2*x^13 + 2*x^10 - 2*x^9 + 2*x^7 - 2*x^6 + 2*x^5 - 2*x^4 + 1 Eulerprod(f) = 0.8995715773821857362792698276253549173395264194271211420151747740860315485706063160037106898847411301 rho(f) = 18.91468100232049866638498367570044785637825530425004309944205088080925634057983121857985638153431038 rho-tilde(f) = 0.5910837813225155833245307398656389955118204782578138468575640900252892606431197255806205119229471993 ------ polynomial f_10; eps = -1 is = -x^25 - x^24 + 2*x^23 - 2*x^18 + 2*x^17 - 2*x^16 + 2*x^15 - 2*x^12 + 2*x^11 - 2*x^9 + 2*x^7 - 2*x^6 + 2*x^5 - 2*x^4 + 1 Eulerprod(f) = 0.8983350725386445357021525999944316921343143592845373039600018627673709318143369242705649662262612273 rho(f) = 18.67246768321586005885341873357371100413590011925217442384123578995020977810043141084515480432740043 rho-tilde(f) = 0.5835146151004956268391693354241784688792468787266304507450386184359440555656384815889110876352312635 ------ polynomial f_11; eps = 1 is = x^25 - x^24 + 2*x^20 - 2*x^19 + 2*x^15 - 2*x^14 + 2*x^10 - 2*x^9 + 2*x^5 - 2*x^4 + 1 Eulerprod(f) = 0.9167888041882341815856006192331311726626498577586588944177986124868731833620701947984143609585491571 rho(f) = 23.03522723702050056081985357696566915930228421495050344845050716717464064053184138269489859925044805 rho-tilde(f) = 0.7198508511568906425256204242801771612281963817172032327640783489742075200166200432092155812265765015 ------ polynomial f_12; eps = -1 is = -x^25 - x^24 + 2*x^23 - 2*x^21 + 2*x^20 - 2*x^18 + 2*x^17 - 2*x^16 + 2*x^15 - 2*x^14 + 2*x^13 - 2*x^12 + 2*x^11 - 2*x^9 + 2*x^5 - 2*x^4 + 1 Eulerprod(f) = 0.9155494931516610886415839526348548988064223790442351509901041162606670783585959541910181560572508166 rho(f) = 22.68251032041424330299842166390509035317591659682942149200563415059939323856556590440559398347549366 rho-tilde(f) = 0.7088284475129451032187006769970340735367473936509194216251760672062310387051739345126748119836091768 ------ polynomial f_13; eps = 1 is = x^25 - x^24 + 2*x^21 - 2*x^20 + 2*x^14 - 2*x^13 + 2*x^7 - 2*x^6 + 1 Eulerprod(f) = 0.9823344979653564206346334141092846506910898337917901423154617264981928420880768595929512843573487546 rho(f) = 112.2150105939716174007919761644650328252717520781015657131519997107943390610183803411790098411705210 rho-tilde(f) = 0.8766797702654032609436873137848830689474355631101684821339999977405807739142060964154610143841446951 ------ polynomial f_14; eps = -1 is = -x^25 - x^24 + 2*x^23 - 2*x^20 + 2*x^19 - 2*x^18 + 2*x^17 - 2*x^16 + 2*x^14 - 2*x^12 + 2*x^11 - 2*x^10 + 2*x^7 - 2*x^6 + 1 Eulerprod(f) = 0.9810714960255764038487225932852456857132884183784033905038280560273749926587348517317405034212476469 rho(f) = 104.6607538927757900213414354657924274277495511537183549837597446795032794131648698480760173808914522 rho-tilde(f) = 0.8176621397873108595417299645765033392792933683884246483106230053086193704153505456880938857882144704 ? ## *** last result: cpu time 56 ms, real time 56 ms. **********/ /******* avg rho lower bound zetaodd(x) = (1-2^( - x)) * zeta(x) %2 = (x)->(1-2^( - x)) * zeta(x) ? delta(m) = (1-3/2^m)/(zetaodd(m-1))^2 %3 = (m)->(1-3/2^m)/(zetaodd(m-1))^2 ? delta(3) %16 = 0.41063929018737340756611133068474776567 ? (1+delta(3))/(1-delta(3)) %17 = 2.3935075187415412666172164694871393084 ? (1+delta(3))/(1-delta(3))/8 %18 = 0.29918843984269265832715205868589241355 /********** ? q=17; for(j=1,25,if (kronecker(j,q) == 1, coeff = "+", coeff = "-" ); print1("[",j,",",coeff,"]",";")) [1,+];[2,+];[3,-];[4,+];[5,-];[6,-];[7,-];[8,+];[9,+];[10,-];[11,-];[12,-];[13,+];[14,-];[15,+];[16,+];[17,-];[18,+];[19,+];[20,-];[21,+];[22,-];[23,-];[24,-];[25,+]; ? q=127; for(j=1,25,if (kronecker(j,q) == 1, coeff = "+", coeff = "-" ); print1("[",j,",",coeff,"]",";")) [1,+];[2,+];[3,-];[4,+];[5,-];[6,-];[7,-];[8,+];[9,+];[10,-];[11,+];[12,-];[13,+];[14,-];[15,+];[16,+];[17,+];[18,+];[19,+];[20,-];[21,+];[22,+];[23,-];[24,-];[25,+]; for(j=1,25,if (kronecker(j,41) == 1, coeff = "+", coeff = "-" ); print1("[",j,",",coeff,"]",";")) [1,+];[2,+];[3,-];[4,+];[5,+];[6,-];[7,-];[8,+];[9,+];[10,+];[11,-];[12,-];[13,-];[14,-];[15,-];[16,+];[17,-];[18,+];[19,-];[20,+];[21,+];[22,-];[23,+];[24,-];[25,+]; for(j=1,25,if (kronecker(j,167) == 1, coeff = "+", coeff = "-" ); print1("[",j,",",coeff,"]",";")) [1,+];[2,+];[3,+];[4,+];[5,-];[6,+];[7,+];[8,+];[9,+];[10,-];[11,+];[12,+];[13,-];[14,+];[15,-];[16,+];[17,-];[18,+];[19,+];[20,-];[21,+];[22,+];[23,-];[24,+];[25,+]; *************/