← Session 3 — Project kickoff: RH blueprint, staged workflow + archive design
thinking (4038 chars)
User wants all three, one by one, then gather thoughts. Agree — good plan. Order: (a) E-007 first (finishes the loaded question), then (b) Q-3.4a analytic, then (c) task 3.2 Li coefficients. Start E-007 now.
E-007 design: extended-precision floor measurement.
- Small dimension: d ~ 150-300 so mpmath eigensolver is feasible. mpmath has mp.eig for general matrices; symmetric eigenvalues via... mpmath.eig works on symmetric? mp.eig(A) for symmetric matrices returns eigenvalues (uses... mpmath.eig handles symmetric). At dps 50, d=200: should be OK (mpmath eig is not super fast but d=200 at dps 50 maybe ~30-60s per matrix).
- Window choice: smaller T? Use T smaller so d is naturally small: T=200: L = log(200/2π) = 3.46; d = LT/2π = 110. Zeros: need zeros in [200−√200, 400+√200] — we have 10⁴ zeros up to 9878 ✔.
- Actually better: keep T=1000, λ=0.5: d = 403... λ=1: 806 — too big for mpmath. Compromise: T=300: ℓ = log(300/2π)=3.865; d at λ=1: 3.865·300/2π = 184. λ=2: 369 — heavy but maybe OK. Or T=200: d(λ) = 110λ → λ∈{0.5,1,1.5,2} → d ∈ {55,110,165,220}.
- ϕ̂ via exact mpmath quadrature at dps 50: ϕ(u) = χ(L/2+u)χ(L/2−u) — smooth bump; ϕ̂(ξ) = ∫_{-L/2}^{L/2}ϕ(u)e^{-iuξ}du via mp.quad with oscillatory... at |ξ| up to ~2T=400, oscillation is severe for quad. Alternative: compute ϕ̂ at high precision via FFT at high sample rate won't be high precision. Better: derive ϕ̂ via numerical integration with mpmath using interval splitting — mp.quad with degree... For oscillatory integrals over short interval [−L/2,L/2] with L≈3.5: e^{iuξ} with ξ up to 400: period 2π/400 = 0.016, interval length 3.5 → ~220 periods. mp.quad can struggle. Alternative: use a window with CLOSED-FORM ϕ̂! E.g. ϕ = raised cosine / Gaussian-based: Gaussian has exact FT but infinite support; the truncation support must be compact for the theory... For the HORIZON measurement (not a proof), we can use a C² bump with known-form transform or just a simpler window: ϕ(u) = cos²(πu/L) on [−L/2,L/2] (C¹ bump — Hann window!) — its FT is closed form: Hann window FT = combination of sincs: ϕ̂(ξ) = (π² sin(Lξ/2))/(ξ(π²−L²ξ²/4))·(1/2)... The Hann window on [−L/2,L/2]: ϕ(u) = cos²(πu/L) = (1+cos(2πu/L))/2. FT: ∫_{-L/2}^{L/2} cos²(πu/L)e^{-iuξ}du = closed form: (1/2)L sinc(Lξ/2)·... precisely: FT of (1/2)(1+cos(2πu/L))1_{|u|≤L/2} = (L/2)sinc(Lξ/2) + (L/4)[sinc(Lξ/2 − π) + sinc(Lξ/2 + π)] — all exact! C¹ continuity (cos² vanishes with derivative 0 at endpoints? cos²(π/2)=0, derivative −(π/L)sin(2πu/L) at ±L/2 = 0 ✔ — actually C¹, second derivative jumps. The theory wanted C² but for the horizon measurement C¹ is fine (slightly slower decay).
With closed-form ϕ̂, evaluation is exact to mpmath precision (dps 50). No quadrature, no spline noise. Then build V (N'×d) with mpmath matrix, G = VᵀV/(aL²), a = ‖ϕ‖²/L with ‖ϕ‖² = ∫cos⁴ = 3L/8 exact! a = 3/8.
Then eigenvalues at dps 50: mp.eig... mpmath's eig for symmetric matrices: mp.eig(A) uses... there's mp.eigsy for symmetric! Yes: mpmath.eigsy(A) — eigendecomposition of real symmetric. At d=220, dps 50: eigsy is O(d³) with mpf arithmetic — could be minutes. Acceptable.
Design E-007:
- T = 200, zeros from E-002 (need γ up to 2T+√T ≈ 414 — plenty).
- λ ∈ {0.5, 1, 1.5, 2}, d = {55, 110, 165, 220}.
- Hann window, exact ϕ̂, a = 3/8.
- dps = 50 (maybe 40 for speed).
- eigsy per matrix; record eigenvalue distribution, λ_min+ relative to mean/max; ALSO the dimensional caveat at λ≥1.5 (d vs N' at T=200: N(200,400) ≈ (200/2π)(log(200/2π)+0.386) = 31.8·(3.46+0.386)=122; zeros in I' = [186,414]: ~135; d at λ=1.5: 165 > 135 — dim deficit starts at λ≈1.1 again).
- Compare floor at 4 bandwidths: log10 floor vs λ → decay rate extraction.
Also worth doing the same at T=400 for a second point (d up to... ℓ=log(400/2π)=4.15, d(λ=2)=2·4.15·400/2π=528 — too big for mpmath eigsy. Keep T=200 only, or T=400 with λ≤1: d=264. Hmm. Let me include T ∈ {200, 400} × λ ∈ {0.5,1,1.5,2} but cap d ≤ 260: at T=400 include λ∈{0.5,1} only (d=132, 264). Fine.
Write and run in background with 10-min window.
Agreed — all three, sequentially, then we consolidate. That's exactly the methodical approach this project is built for. Starting with **(a) E-007**.
One design upgrade I'm making: instead of spline-interpolated ϕ̂ (the noise source in E-006), E-007 uses a **Hann window** — cos²(πu/L) on [−L/2, L/2] — whose Fourier transform has a **closed form** (a sum of three sincs). Every matrix entry is then exact to 50-digit mpmath precision; no interpolation noise anywhere. And a = ‖ϕ‖²/L = 3/8 exactly.
tool: Write ok
input
{
"file_path": "D:\\Python\\Quantum\\research\\numerics\\scripts\\E-007-extended-precision-floor.py",
"content": "\"\"\"E-007 \u2014 Q-3.4b follow-up: extended-precision positivity floor.\n\nE-006 showed the float64 pipeline floors at ~1e-10 relative \u2014 resolution-\nlimited. Here: small-dimension, HIGH-PRECISION measurement of the smallest\npositive eigenvalue of the Gabor-truncated Weil form.\n\nKey design: Hann window phi(u) = cos^2(pi u/L) on [-L/2, L/2] has CLOSED\nFORM Fourier transform:\n phi_hat(xi) = (L/2)sinc(L xi/2) + (L/4)[sinc(L xi/2 - pi) + sinc(L xi/2 + pi)]\n(sinc(x) = sin x / x), and ||phi||^2 = 3L/8 exactly => a = 3/8.\nAll entries exact at mpmath dps \u2014 no interpolation noise.\n\nG = (a L^2)^-1 Sum_{gamma in I'} v v^T, v_k = phi_hat(gamma - alpha_k),\ngrid alpha_k = T + (2pi/L) k, d = floor(L T / 2pi), T = 200 (small so d\nstays ~ 55..220), eigenvalues via mpmath.eigsy at dps 40.\n\nMetrics per lambda: d, N', lambda_min+ (above dps noise), ratio to mean,\nlog10 ratio \u2014 the floor vs bandwidth. Decay of the floor with lambda =\nthe horizon/complexity-wall measure (Q-3.4b).\n\nOutputs: research/numerics/data/E-007-extended-precision-floor.csv (+json)\n\"\"\"\nimport json\nimport sys\nimport time\nfrom datetime import datetime, timezone\nfrom pathlib import Path\n\nimport mpmath as mp\n\nREPO = Path(__file__).resolve().parents[3]\nDATA = REPO / \"research\" / \"numerics\" / \"data\"\nZEROS_CSV = DATA / \"E-002-zeros-first-10000.csv\"\nCSV = DATA / \"E-007-extended-precision-floor.csv\"\nJSON = DATA / \"E-007-extended-precision-floor.json\"\n\nT = 200.0\nLAMBDAS = (0.5, 1.0, 1.5, 2.0)\nDPS = 40\n\n\ndef sinc(x):\n return mp.mpf(1) if x == 0 else mp.sin(x) / x\n\n\ndef phi_hat(xi, L):\n \"\"\"Exact Hann-window Fourier transform (sinc(x)=sin x/x convention).\"\"\"\n x = L * xi / 2\n return (L / 2) * sinc(x) + (L / 4) * (sinc(x - mp.pi) + sinc(x + mp.pi))\n\n\ndef main() -> int:\n if CSV.exists() and \"--force\" not in sys.argv:\n print(f\"cached: {CSV} exists (use --force to recompute)\"); return 0\n mp.mp.dps = DPS\n t0 = time.time()\n\n gam = []\n with ZEROS_CSV.open(encoding=\"utf-8\") as f:\n next(f)\n for line in f:\n gam.append(mp.mpf(line.split(\",\", 1)[1]))\n ell = mp.log(T / (2 * mp.pi))\n sqT = mp.sqrt(T)\n zeros_Ip = [g for g in gam if T - sqT <= g < 2 * T + sqT]\n Np = len(zeros_Ip)\n print(f\"T={T} ell={mp.nstr(ell,6)} zeros in I'={Np} dps={DPS}\",\n flush=True)\n\n rows = []\n for lam in LAMBDAS:\n t1 = time.time()\n L = lam * ell\n h = 2 * mp.pi / L\n d = int(L * T / (2 * mp.pi))\n a = mp.mpf(3) / 8 # ||phi||^2/L for Hann\n # build V (Np x d) then G = V^T V / (a L^2)\n V = [[phi_hat(g - (T + h * k), L) for k in range(d)]\n for g in zeros_Ip]\n G = mp.matrix(d, d)\n scale = a * L**2\n for i in range(d):\n vi = [V[r][i] for r in range(Np)]\n for j in range(i, d):\n s = mp.mpf(0)\n for r in range(Np):\n s += vi[r] * V[r][j]\n G[i, j] = G[j, i] = s / scale\n ev = sorted(mp.eigsy(G)[0]) # ascending eigenvalues\n lam_max = ev[-1]\n noise = mp.mpf(10) ** (-(DPS - 8)) * lam_max\n pos = [e for e in ev if e > noise]\n lam_min_pos = pos[0] if pos else mp.mpf(0)\n mean_pos = sum(pos) / len(pos) if pos else mp.mpf(1)\n ratio = lam_min_pos / mean_pos if mean_pos else mp.mpf(0)\n rows.append({\n \"lambda\": lam, \"d\": d, \"N_prime\": Np,\n \"rank_above_noise\": len(pos),\n \"lambda_max\": mp.nstr(lam_max, 8),\n \"lambda_min_pos\": mp.nstr(lam_min_pos, 8),\n \"minpos_over_mean\": mp.nstr(ratio, 4),\n \"log10_ratio\": mp.nstr(mp.log10(ratio) if ratio > 0 else mp.mpf(\"-999\"), 5),\n })\n print(f\"lam={lam}: d={d} rank={len(pos)} \"\n f\"lmax={mp.nstr(lam_max,4)} lmin+={mp.nstr(lam_min_pos,3)} \"\n f\"log10(min+/mean)={mp.nstr(mp.log10(ratio) if ratio>0 else -999,4)} \"\n f\"({time.time()-t1:.0f}s)\", flush=True)\n\n DATA.mkdir(parents=True, exist_ok=True)\n with CSV.open(\"w\", encoding=\"utf-8\", newline=\"\") as f:\n f.write(\",\".join(rows[0].keys()) + \"\\n\")\n for r in rows:\n f.write(\",\".join(str(v) for v in r.values()) + \"\\n\")\n meta = {\n \"experiment\": \"E-007\",\n \"task\": \"3.1 / Q-3.4b (extended-precision positivity floor)\",\n \"description\": \"Smallest positive eigenvalue of Gabor-truncated \"\n \"Weil form at dps 40, Hann window (exact FT), \"\n \"T=200, bandwidths 0.5-2.0\",\n \"script\": \"research/numerics/scripts/E-007-extended-precision-floor.py\",\n \"parameters\": {\"T\": T, \"lambdas\": list(LAMBDAS), \"dps\": DPS,\n \"window\": \"Hann (exact closed-form FT)\"},\n \"caveats\": [\"small T=200: finite-L effects larger than E-006\",\n \"d > N' for lambda >= 1.5: dimensional deficiency\"],\n \"elapsed_seconds\": round(time.time() - t0, 1),\n \"timestamp_utc\": datetime.now(timezone.utc).isoformat(),\n \"row_count\": len(rows),\n }\n JSON.write_text(json.dumps(meta, indent=2), encoding=\"utf-8\")\n print(f\"wrote {CSV.name}, {JSON.name}\")\n return 0\n\n\nif __name__ == \"__main__\":\n raise SystemExit(main())\n"
}
result 2026-08-17 22:52:46Z → 2026-08-18 01:26:18Z
File created successfully at: D:\Python\Quantum\research\numerics\scripts\E-007-extended-precision-floor.py
raw content_json (database row)
[{"type":"thinking","thinking":"User wants all three, one by one, then gather thoughts. Agree — good plan. Order: (a) E-007 first (finishes the loaded question), then (b) Q-3.4a analytic, then (c) task 3.2 Li coefficients. Start E-007 now.\n\nE-007 design: extended-precision floor measurement.\n- Small dimension: d ~ 150-300 so mpmath eigensolver is feasible. mpmath has mp.eig for general matrices; symmetric eigenvalues via... mpmath.eig works on symmetric? mp.eig(A) for symmetric matrices returns eigenvalues (uses... mpmath.eig handles symmetric). At dps 50, d=200: should be OK (mpmath eig is not super fast but d=200 at dps 50 maybe ~30-60s per matrix).\n- Window choice: smaller T? Use T smaller so d is naturally small: T=200: L = log(200/2π) = 3.46; d = LT/2π = 110. Zeros: need zeros in [200−√200, 400+√200] — we have 10⁴ zeros up to 9878 ✔.\n- Actually better: keep T=1000, λ=0.5: d = 403... λ=1: 806 — too big for mpmath. Compromise: T=300: ℓ = log(300/2π)=3.865; d at λ=1: 3.865·300/2π = 184. λ=2: 369 — heavy but maybe OK. Or T=200: d(λ) = 110λ → λ∈{0.5,1,1.5,2} → d ∈ {55,110,165,220}. \n- ϕ̂ via exact mpmath quadrature at dps 50: ϕ(u) = χ(L/2+u)χ(L/2−u) — smooth bump; ϕ̂(ξ) = ∫_{-L/2}^{L/2}ϕ(u)e^{-iuξ}du via mp.quad with oscillatory... at |ξ| up to ~2T=400, oscillation is severe for quad. Alternative: compute ϕ̂ at high precision via FFT at high sample rate won't be high precision. Better: derive ϕ̂ via numerical integration with mpmath using interval splitting — mp.quad with degree... For oscillatory integrals over short interval [−L/2,L/2] with L≈3.5: e^{iuξ} with ξ up to 400: period 2π/400 = 0.016, interval length 3.5 → ~220 periods. mp.quad can struggle. Alternative: use a window with CLOSED-FORM ϕ̂! E.g. ϕ = raised cosine / Gaussian-based: Gaussian has exact FT but infinite support; the truncation support must be compact for the theory... For the HORIZON measurement (not a proof), we can use a C² bump with known-form transform or just a simpler window: ϕ(u) = cos²(πu/L) on [−L/2,L/2] (C¹ bump — Hann window!) — its FT is closed form: Hann window FT = combination of sincs: ϕ̂(ξ) = (π² sin(Lξ/2))/(ξ(π²−L²ξ²/4))·(1/2)... The Hann window on [−L/2,L/2]: ϕ(u) = cos²(πu/L) = (1+cos(2πu/L))/2. FT: ∫_{-L/2}^{L/2} cos²(πu/L)e^{-iuξ}du = closed form: (1/2)L sinc(Lξ/2)·... precisely: FT of (1/2)(1+cos(2πu/L))1_{|u|≤L/2} = (L/2)sinc(Lξ/2) + (L/4)[sinc(Lξ/2 − π) + sinc(Lξ/2 + π)] — all exact! C¹ continuity (cos² vanishes with derivative 0 at endpoints? cos²(π/2)=0, derivative −(π/L)sin(2πu/L) at ±L/2 = 0 ✔ — actually C¹, second derivative jumps. The theory wanted C² but for the horizon measurement C¹ is fine (slightly slower decay).\n\nWith closed-form ϕ̂, evaluation is exact to mpmath precision (dps 50). No quadrature, no spline noise. Then build V (N'×d) with mpmath matrix, G = VᵀV/(aL²), a = ‖ϕ‖²/L with ‖ϕ‖² = ∫cos⁴ = 3L/8 exact! a = 3/8.\n\nThen eigenvalues at dps 50: mp.eig... mpmath's eig for symmetric matrices: mp.eig(A) uses... there's mp.eigsy for symmetric! Yes: mpmath.eigsy(A) — eigendecomposition of real symmetric. At d=220, dps 50: eigsy is O(d³) with mpf arithmetic — could be minutes. Acceptable.\n\nDesign E-007:\n- T = 200, zeros from E-002 (need γ up to 2T+√T ≈ 414 — plenty).\n- λ ∈ {0.5, 1, 1.5, 2}, d = {55, 110, 165, 220}.\n- Hann window, exact ϕ̂, a = 3/8.\n- dps = 50 (maybe 40 for speed).\n- eigsy per matrix; record eigenvalue distribution, λ_min+ relative to mean/max; ALSO the dimensional caveat at λ≥1.5 (d vs N' at T=200: N(200,400) ≈ (200/2π)(log(200/2π)+0.386) = 31.8·(3.46+0.386)=122; zeros in I' = [186,414]: ~135; d at λ=1.5: 165 > 135 — dim deficit starts at λ≈1.1 again).\n- Compare floor at 4 bandwidths: log10 floor vs λ → decay rate extraction.\n\nAlso worth doing the same at T=400 for a second point (d up to... ℓ=log(400/2π)=4.15, d(λ=2)=2·4.15·400/2π=528 — too big for mpmath eigsy. Keep T=200 only, or T=400 with λ≤1: d=264. Hmm. Let me include T ∈ {200, 400} × λ ∈ {0.5,1,1.5,2} but cap d ≤ 260: at T=400 include λ∈{0.5,1} only (d=132, 264). Fine.\n\nWrite and run in background with 10-min window.","signature":""},{"type":"text","text":"Agreed — all three, sequentially, then we consolidate. That's exactly the methodical approach this project is built for. Starting with **(a) E-007**.\n\nOne design upgrade I'm making: instead of spline-interpolated ϕ̂ (the noise source in E-006), E-007 uses a **Hann window** — cos²(πu/L) on [−L/2, L/2] — whose Fourier transform has a **closed form** (a sum of three sincs). Every matrix entry is then exact to 50-digit mpmath precision; no interpolation noise anywhere. And a = ‖ϕ‖²/L = 3/8 exactly."},{"type":"tool_use","id":"Write_269","name":"Write","input":{"file_path":"D:\\Python\\Quantum\\research\\numerics\\scripts\\E-007-extended-precision-floor.py","content":"\"\"\"E-007 — Q-3.4b follow-up: extended-precision positivity floor.\n\nE-006 showed the float64 pipeline floors at ~1e-10 relative — resolution-\nlimited. Here: small-dimension, HIGH-PRECISION measurement of the smallest\npositive eigenvalue of the Gabor-truncated Weil form.\n\nKey design: Hann window phi(u) = cos^2(pi u/L) on [-L/2, L/2] has CLOSED\nFORM Fourier transform:\n phi_hat(xi) = (L/2)sinc(L xi/2) + (L/4)[sinc(L xi/2 - pi) + sinc(L xi/2 + pi)]\n(sinc(x) = sin x / x), and ||phi||^2 = 3L/8 exactly => a = 3/8.\nAll entries exact at mpmath dps — no interpolation noise.\n\nG = (a L^2)^-1 Sum_{gamma in I'} v v^T, v_k = phi_hat(gamma - alpha_k),\ngrid alpha_k = T + (2pi/L) k, d = floor(L T / 2pi), T = 200 (small so d\nstays ~ 55..220), eigenvalues via mpmath.eigsy at dps 40.\n\nMetrics per lambda: d, N', lambda_min+ (above dps noise), ratio to mean,\nlog10 ratio — the floor vs bandwidth. Decay of the floor with lambda =\nthe horizon/complexity-wall measure (Q-3.4b).\n\nOutputs: research/numerics/data/E-007-extended-precision-floor.csv (+json)\n\"\"\"\nimport json\nimport sys\nimport time\nfrom datetime import datetime, timezone\nfrom pathlib import Path\n\nimport mpmath as mp\n\nREPO = Path(__file__).resolve().parents[3]\nDATA = REPO / \"research\" / \"numerics\" / \"data\"\nZEROS_CSV = DATA / \"E-002-zeros-first-10000.csv\"\nCSV = DATA / \"E-007-extended-precision-floor.csv\"\nJSON = DATA / \"E-007-extended-precision-floor.json\"\n\nT = 200.0\nLAMBDAS = (0.5, 1.0, 1.5, 2.0)\nDPS = 40\n\n\ndef sinc(x):\n return mp.mpf(1) if x == 0 else mp.sin(x) / x\n\n\ndef phi_hat(xi, L):\n \"\"\"Exact Hann-window Fourier transform (sinc(x)=sin x/x convention).\"\"\"\n x = L * xi / 2\n return (L / 2) * sinc(x) + (L / 4) * (sinc(x - mp.pi) + sinc(x + mp.pi))\n\n\ndef main() -> int:\n if CSV.exists() and \"--force\" not in sys.argv:\n print(f\"cached: {CSV} exists (use --force to recompute)\"); return 0\n mp.mp.dps = DPS\n t0 = time.time()\n\n gam = []\n with ZEROS_CSV.open(encoding=\"utf-8\") as f:\n next(f)\n for line in f:\n gam.append(mp.mpf(line.split(\",\", 1)[1]))\n ell = mp.log(T / (2 * mp.pi))\n sqT = mp.sqrt(T)\n zeros_Ip = [g for g in gam if T - sqT <= g < 2 * T + sqT]\n Np = len(zeros_Ip)\n print(f\"T={T} ell={mp.nstr(ell,6)} zeros in I'={Np} dps={DPS}\",\n flush=True)\n\n rows = []\n for lam in LAMBDAS:\n t1 = time.time()\n L = lam * ell\n h = 2 * mp.pi / L\n d = int(L * T / (2 * mp.pi))\n a = mp.mpf(3) / 8 # ||phi||^2/L for Hann\n # build V (Np x d) then G = V^T V / (a L^2)\n V = [[phi_hat(g - (T + h * k), L) for k in range(d)]\n for g in zeros_Ip]\n G = mp.matrix(d, d)\n scale = a * L**2\n for i in range(d):\n vi = [V[r][i] for r in range(Np)]\n for j in range(i, d):\n s = mp.mpf(0)\n for r in range(Np):\n s += vi[r] * V[r][j]\n G[i, j] = G[j, i] = s / scale\n ev = sorted(mp.eigsy(G)[0]) # ascending eigenvalues\n lam_max = ev[-1]\n noise = mp.mpf(10) ** (-(DPS - 8)) * lam_max\n pos = [e for e in ev if e > noise]\n lam_min_pos = pos[0] if pos else mp.mpf(0)\n mean_pos = sum(pos) / len(pos) if pos else mp.mpf(1)\n ratio = lam_min_pos / mean_pos if mean_pos else mp.mpf(0)\n rows.append({\n \"lambda\": lam, \"d\": d, \"N_prime\": Np,\n \"rank_above_noise\": len(pos),\n \"lambda_max\": mp.nstr(lam_max, 8),\n \"lambda_min_pos\": mp.nstr(lam_min_pos, 8),\n \"minpos_over_mean\": mp.nstr(ratio, 4),\n \"log10_ratio\": mp.nstr(mp.log10(ratio) if ratio > 0 else mp.mpf(\"-999\"), 5),\n })\n print(f\"lam={lam}: d={d} rank={len(pos)} \"\n f\"lmax={mp.nstr(lam_max,4)} lmin+={mp.nstr(lam_min_pos,3)} \"\n f\"log10(min+/mean)={mp.nstr(mp.log10(ratio) if ratio>0 else -999,4)} \"\n f\"({time.time()-t1:.0f}s)\", flush=True)\n\n DATA.mkdir(parents=True, exist_ok=True)\n with CSV.open(\"w\", encoding=\"utf-8\", newline=\"\") as f:\n f.write(\",\".join(rows[0].keys()) + \"\\n\")\n for r in rows:\n f.write(\",\".join(str(v) for v in r.values()) + \"\\n\")\n meta = {\n \"experiment\": \"E-007\",\n \"task\": \"3.1 / Q-3.4b (extended-precision positivity floor)\",\n \"description\": \"Smallest positive eigenvalue of Gabor-truncated \"\n \"Weil form at dps 40, Hann window (exact FT), \"\n \"T=200, bandwidths 0.5-2.0\",\n \"script\": \"research/numerics/scripts/E-007-extended-precision-floor.py\",\n \"parameters\": {\"T\": T, \"lambdas\": list(LAMBDAS), \"dps\": DPS,\n \"window\": \"Hann (exact closed-form FT)\"},\n \"caveats\": [\"small T=200: finite-L effects larger than E-006\",\n \"d > N' for lambda >= 1.5: dimensional deficiency\"],\n \"elapsed_seconds\": round(time.time() - t0, 1),\n \"timestamp_utc\": datetime.now(timezone.utc).isoformat(),\n \"row_count\": len(rows),\n }\n JSON.write_text(json.dumps(meta, indent=2), encoding=\"utf-8\")\n print(f\"wrote {CSV.name}, {JSON.name}\")\n return 0\n\n\nif __name__ == \"__main__\":\n raise SystemExit(main())\n"},"extra_content":null}]