Current task: —

← Session 5 — Phase 0: paper deep-read + Bombieri–Lagarias literature

#192 assistant 2026-08-18 04:11:05.518 UTC · 4116→896 tok open ⤢
thinking (385 chars)
At dps 1200, stieltjes(k) is fast (sub-second; caching shared work). So n_max = 2000 at dps ~1200 is trivially cheap; even n=10^4 at dps 6200 might be OK (test later). Now — before writing E-011, verify my η_j/λ_n formula numerically at small scale: compute λ_n for n=1..20 at dps 100 with the Stieltjes split and compare against E-008's zero-side λ_n (certified). Quick inline test.
Fast. Prototyping the λ_n formula at dps 100 against E-008's certified zero-side values before writing E-011.
tool: Bash
input
{
  "command": "cd D:/Python/Quantum && ./.venv/Scripts/python.exe -c \"\nimport mpmath as mp\nmp.dps = 100\nNMAX = 120\n# Stieltjes\ngam = [mp.stieltjes(k) for k in range(NMAX)]  # gam[m] = gamma_m\n# c_m of t*zeta(1+t): c_0=1, c_m = (-1)^(m-1) gamma_{m-1}/(m-1)!\nc = [mp.mpf(1)] + [(-1)**(m-1) * gam[m-1] / mp.factorial(m-1) for m in range(1, NMAX+1)]\n# L_j = [t^j] log(sum c_m t^m): j L_j = j c_j - sum_{i=1}^{j-1} i L_i c_{j-i}\nL = [mp.mpf(0)]*(NMAX+1)\nfor j in range(1, NMAX+1):\n    s = j*c[j]\n    for i in range(1, j):\n        s -= i*L[i]*c[j-i]\n    L[j] = s/j\n# polygamma at 1/2: psi^{(m)}(1/2) = (-1)^{m+1} m! (2^{m+1}-1) zeta(m+1)\ndef pg(m):\n    return (-1)**(m+1) * mp.factorial(m) * (2**(m+1)-1) * mp.zeta(m+1)\n# eta_j = (-1)^{j+1}/j + L_j - (log pi /2)[j==1] + (1/2^j) pg(j-1)/j!\neta = [mp.mpf(0)]*(NMAX+1)\nfor j in range(1, NMAX+1):\n    eta[j] = ((-1)**(j+1)/j + L[j] + (mp.mpf(1)/2**j)*pg(j-1)/mp.factorial(j)\n              - (mp.log(mp.pi)/2 if j==1 else 0))\nlam = [mp.mpf(0)]*(NMAX+1)\nfor n in range(1, NMAX+1):\n    lam[n] = sum(mp.binomial(n,j)*j*eta[j] for j in range(1, n+1))\nprint('lambda_1 =', mp.nstr(lam[1], 30))\nprint('known    = 0.02309570896612103381...')\n# compare with E-008 zero-side (n<=116 certified)\nimport numpy as np\nd = np.loadtxt('research/numerics/data/E-008-li-coefficients.csv', delimiter=',', skiprows=1)\nfor n in [2, 10, 50, 100, 116]:\n    print(n, 'arith:', mp.nstr(lam[n], 15), ' zero-side:', d[n-1,1], ' tail_bd:', d[n-1,2])\n\"",
  "description": "Prototype arithmetic Li formula vs E-008",
  "timeout": 300000
}
raw content_json (database row)
[{"type":"thinking","thinking":"At dps 1200, stieltjes(k) is fast (sub-second; caching shared work). So n_max = 2000 at dps ~1200 is trivially cheap; even n=10^4 at dps 6200 might be OK (test later). \n\nNow — before writing E-011, verify my η_j/λ_n formula numerically at small scale: compute λ_n for n=1..20 at dps 100 with the Stieltjes split and compare against E-008's zero-side λ_n (certified). Quick inline test.","signature":""},{"type":"text","text":"Fast. Prototyping the λ_n formula at dps 100 against E-008's certified zero-side values before writing E-011."},{"type":"tool_use","id":"Bash_147","name":"Bash","input":{"command":"cd D:/Python/Quantum && ./.venv/Scripts/python.exe -c \"\nimport mpmath as mp\nmp.dps = 100\nNMAX = 120\n# Stieltjes\ngam = [mp.stieltjes(k) for k in range(NMAX)]  # gam[m] = gamma_m\n# c_m of t*zeta(1+t): c_0=1, c_m = (-1)^(m-1) gamma_{m-1}/(m-1)!\nc = [mp.mpf(1)] + [(-1)**(m-1) * gam[m-1] / mp.factorial(m-1) for m in range(1, NMAX+1)]\n# L_j = [t^j] log(sum c_m t^m): j L_j = j c_j - sum_{i=1}^{j-1} i L_i c_{j-i}\nL = [mp.mpf(0)]*(NMAX+1)\nfor j in range(1, NMAX+1):\n    s = j*c[j]\n    for i in range(1, j):\n        s -= i*L[i]*c[j-i]\n    L[j] = s/j\n# polygamma at 1/2: psi^{(m)}(1/2) = (-1)^{m+1} m! (2^{m+1}-1) zeta(m+1)\ndef pg(m):\n    return (-1)**(m+1) * mp.factorial(m) * (2**(m+1)-1) * mp.zeta(m+1)\n# eta_j = (-1)^{j+1}/j + L_j - (log pi /2)[j==1] + (1/2^j) pg(j-1)/j!\neta = [mp.mpf(0)]*(NMAX+1)\nfor j in range(1, NMAX+1):\n    eta[j] = ((-1)**(j+1)/j + L[j] + (mp.mpf(1)/2**j)*pg(j-1)/mp.factorial(j)\n              - (mp.log(mp.pi)/2 if j==1 else 0))\nlam = [mp.mpf(0)]*(NMAX+1)\nfor n in range(1, NMAX+1):\n    lam[n] = sum(mp.binomial(n,j)*j*eta[j] for j in range(1, n+1))\nprint('lambda_1 =', mp.nstr(lam[1], 30))\nprint('known    = 0.02309570896612103381...')\n# compare with E-008 zero-side (n<=116 certified)\nimport numpy as np\nd = np.loadtxt('research/numerics/data/E-008-li-coefficients.csv', delimiter=',', skiprows=1)\nfor n in [2, 10, 50, 100, 116]:\n    print(n, 'arith:', mp.nstr(lam[n], 15), ' zero-side:', d[n-1,1], ' tail_bd:', d[n-1,2])\n\"","description":"Prototype arithmetic Li formula vs E-008","timeout":300000},"extra_content":null}]