Riemann Lab Header
Exploration numérique

Riemann Lab

Laboratoire d'exploration de l'Hypothèse de Riemann — calcul des zéros non triviaux de \(\zeta(s)\) sur la droite critique \(\text{Re}(s) = \tfrac{1}{2}\).

Ubuntu 24.04 Python · mpmath 138 069 zéros validés · v16 · 0 manquant ✅ · Obj2 atteint 04/07/2026, amélioré 08/08/2026
\(\zeta(s) = \displaystyle\sum_{n=1}^{\infty} \frac{1}{n^s}\) · \(\text{Re}(s) = \tfrac{1}{2}\) · \(Z(t) = e^{i\theta(t)}\,\zeta\!\left(\tfrac{1}{2}+it\right) \in \mathbb{R}\) · \(\theta(t) = \text{Im}\!\left[\ln\Gamma\!\left(\tfrac{1}{4}+\tfrac{it}{2}\right)\right] - \tfrac{t}{2}\ln\pi\) · \(\zeta(2) = \dfrac{\pi^2}{6} \approx 1.6449\) · \(N(T) \approx \dfrac{T}{2\pi}\ln\!\dfrac{T}{2\pi e}\) · \(\zeta(s) = \displaystyle\sum_{n=1}^{\infty} \frac{1}{n^s}\) · \(\text{Re}(s) = \tfrac{1}{2}\) · \(Z(t) = e^{i\theta(t)}\,\zeta\!\left(\tfrac{1}{2}+it\right) \in \mathbb{R}\) · \(\theta(t) = \text{Im}\!\left[\ln\Gamma\!\left(\tfrac{1}{4}+\tfrac{it}{2}\right)\right] - \tfrac{t}{2}\ln\pi\) · \(\zeta(2) = \dfrac{\pi^2}{6} \approx 1.6449\) · \(N(T) \approx \dfrac{T}{2\pi}\ln\!\dfrac{T}{2\pi e}\) ·

Visualisation interactive — \(\theta(t)\) de Riemann-Siegel

Animation de la fonction de phase \(\theta(t)\) et de son rôle dans la détection des zéros de \(\zeta\!\left(\tfrac{1}{2}+it\right)\) par changement de signe de \(Z(t)\).

Animations interactives
138 069 zéros validés
10⁻¹⁵ précision max
99 999 t max atteint
Avancement du projet
01

Calcul des zéros non triviaux

v16 opérationnel — Illinois hybride 2-phases + cache RS 33 KB + Phase 2 adaptative (SEUIL_1NEWTON=20k) + Z_arb à précision fixe (acb_dirichlet_hardy_z, 64 bits, remplace l'escalade automatique arb_fpwrap ~1e-16 surdimensionnée vs le besoin réel 1e-12). 138 069 zéros calculés jusqu'à T=100 000 en 1.6 min · 1407 z/s (avec turbo) · 0 manquant. Turing-Backlund COMPLET ✅ · LMFDB 20/20 ✅ · ×2.75 vs v15 · ×787.5 vs v1.

Opérationnel — v16 ⭐ · Objectif 2 largement dépassé ✅
138 069
zéros ✓
02

Visualisations avancées

8 animations interactives en ligne — \(\theta(t)\), \(Z(t)\), plan \(\mathbb{C}\), Gamma, Dirichlet, produit eulérien, distribution des zéros, mur de latence.

8 animations en ligne
En ligne
03

Intelligence artificielle locale

BrainVault structuré — inbox-ia opérationnel, 26 pavés ingérés (PDF → MD). Ollama + Mathstral : exploratoire. RAG non encore opérationnel.

Exploratoire
WIP
04

Preuves formelles Lean 4

Formalisation des résultats numériques en preuves mathématiques vérifiées par Lean 4.

Non démarré
○
Premiers zéros calculés
# Partie imaginaire \(t\) \(\left|\zeta\left(\tfrac{1}{2}+it\right)\right|\) vs LMFDB
114.1347251417346931.23e-14✓ 0.00e+00
221.0220396387715562.45e-14✓ 0.00e+00
325.0108575801456883.67e-14✓ 0.00e+00
430.4248761258595134.89e-14✓ 0.00e+00
532.9350615877391905.12e-14✓ 0.00e+00
637.5861781588256716.34e-14✓ 7.11e-15
… 10 142 zéros supplémentaires jusqu'à t ≈ 10 000 zeros_T10000_10142.csv ↗
📚 Formation ζ & HR — du lycée au doctorat

Cours gradué en 14 chapitres — analyse complexe, fonction ζ, Hypothèse de Riemann. Chaque chapitre : démonstration, exemple numérique recalculé, piège/limite, lien avec le LAB.
« Lire » ouvre le chapitre sur le wiki · « PDF VAULT » télécharge le cours complet.

Chapitre 1 Série de Dirichlet & convergence
🟢 Lycée🔵 L1-L2 🟠 L3-M1🔴 M2-doctorat
Chapitre 2 Critère série ↔ intégrale
🟢 Lycée🔵 L1-L2 🟠 L3-M1🔴 M2-doctorat
Chapitre 3 Nombres complexes : module & argument
🟢 Lycée🔵 L1-L2 🟠 L3-M1🔴 M2-doctorat
Chapitre 4 Formule d'Euler (deux démonstrations)
🟢 Lycée🔵 L1-L2 🟠 L3-M1🔴 M2-doctorat
Chapitre 5 Module |e^{iθ}|=1 et la fonction Z(t)
🟢 Lycée🔵 L1-L2 🟠 L3-M1🔴 M2-doctorat
Chapitre 6 Fonction êta de Dirichlet & prolongement
🟢 Lycée🔵 L1-L2 🟠 L3-M1🔴 M2-doctorat
Chapitre 7 Chemins, contours, intégrale de contour
🟢 Lycée🔵 L1-L2 🟠 L3-M1🔴 M2-doctorat
Chapitre 8 Théorème de Cauchy & holomorphie
🟢 Lycée🔵 L1-L2 🟠 L3-M1🔴 M2-doctorat
Chapitre 9 Singularités, pôles, résidus (ordre 2, 3, n)
🟢 Lycée🔵 L1-L2 🟠 L3-M1🔴 M2-doctorat
Chapitre 10 Facteurs Gamma & Stirling
🟢 Lycée🔵 L1-L2 🟠 L3-M1🔴 M2-doctorat
Chapitre 11 Prolongement analytique & équation fonctionnelle
🟢 Lycée🔵 L1-L2 🟠 L3-M1🔴 M2-doctorat
Chapitre 12 Fonction ξ, produit de Hadamard, Ξ(t)
🟢 Lycée🔵 L1-L2 🟠 L3-M1🔴 M2-doctorat
Chapitre 13 Produit d'Euler & nombres premiers
🟢 Lycée🔵 L1-L2 🟠 L3-M1🔴 M2-doctorat
Chapitre 14 Résidus de ζ'/ζ, N(T) & Hypothèse de Riemann
🟢 Lycée🔵 L1-L2 🟠 L3-M1🔴 M2-doctorat
Cours — Apprendre \(\zeta(s)\)

Parcours structuré du niveau zéro à l'expert — chaque niveau produit un module Python réutilisable.
Méthode : théorie → formule → animation → code.

Méthode 📋 Méthode générale Hiérarchie des prérequis, ressources, outils cartes mentales ● disponible Niveau 0 🔢 Prérequis Complexes · Trigonométrie · Formule d'Euler · Cercle unité ● session 1 disponible Niveau 1 📈 Séries et convergence Séries numériques · DL · Série de Dirichlet \(\zeta(s) = \sum 1/n^s\) ● disponible Niveau 2 🌀 Analyse complexe Holomorphie · Cauchy · Résidus · Fonctions méromorphes ● disponible Niveau 3 🎯 Fonction Gamma Γ Séries de Dirichlet · Transformée de Mellin · Equation fonctionnelle de ζ(s) ● disponible Niveau 4 \(\zeta(s)\) La fonction zêta Définition · Équation fonctionnelle · Z de Hardy · HR ● disponible Niveau 5 - Expert 🏆 TNP - Théorème des nombres premiers Matrices aléatoires · Fonctions L · Cryptographie ● disponible Animation ◎ \(\theta(t)\) de Riemann-Siegel Visualisation interactive de la fonction de phase — connexion avec \(Z(t)\) ● disponible Animation ⧗ Le mur de latence Pourquoi 10 000 zéros précis coûtent des heures ● disponible Animation ◉ Zéros non-triviaux de ζ Plan complexe interactif · Z(t) · Hypothèse de Riemann ● disponible Animation ∑ Série de Dirichlet Convergence \(\zeta(s)=\sum 1/n^s\) · frontière \(\sigma=1\) · prolongement analytique · séries alternées ● disponible Animation ∏ Produit eulérien Facteurs \((1-p^{-s})^{-1}\) · convergence vers \(\zeta(s)\) · lien avec la distribution des premiers ● disponible Animation ℂ Plan complexe de ζ Heatmap \(|\zeta(\sigma+it)|\) · pôle \(s=1\) · bande critique · coupes interactives ● disponible Animation Γ Fonction Gamma Pôles en \(0,-1,-2,\ldots\) · formule de réflexion · \(|\Gamma(\tfrac{1}{2}+it)|\) · lien \(\xi(s)\) ● disponible Animation ⊞ Distribution des zéros Espacements normalisés · loi de Wigner GUE · Poisson · \(N(T)\) interactif · connexion matrices aléatoires ● disponible
Ressources
Performances — De 21h à 1.6 min · T=100 000 · v16 ⭐
T = 10 000 ZÉROS
Version Vitesse T = 10 000 Gain vs v1
v1 0.13 z/s 21h —
v3 1.02 z/s 2h 46min ×7.6
v4 / v5 ~1.0 z/s ~2h 45min ×7.6
v4.1 Option B ✦ 18.65 z/s 9.1 min ×138
v4.1+Arb ✦ 64.1 z/s 2.60 min ×484
T = 100 000 ZÉROS
Version Vitesse T = 100 000 Gain vs préc. Conditions
v7 74.5 z/s 30.9 min — avec turbo
v8 45.6 z/s 50.5 min — sans turbo
v9 Brent 86.5 z/s 26.6 min ×1.80 vs v8 avec turbo
v10 W=8 97.08 z/s 23.7 min ×1.12 vs v9 avec turbo
v12 ~261 z/s 8.8 min — avec turbo
v13 271 z/s 8.50 min ×1.04 vs v12 avec turbo
v14 299 z/s 7.7 min ×1.10 vs v13 avec turbo
v15 517 z/s 4.4 min ×1.93 vs v13 avec turbo · Obj2 ✅
v16 ✦ 1407 z/s 1.6 min ×2.75 vs v15 avec turbo · Obj2 ✅✅
LEVIER 1
Illinois en C / libmpfr
Affinage à 170 bits en C pur. Fini le Python scalaire sur le goulot principal.
×5 à ×10
LEVIER 2
Parallélisme post-fork
4 workers indépendants chargent chacun leur propre .so. Pas de contention GIL.
×4
LEVIER 3 — CLÉ
Option B — correction Z
Erreur ~0.3 → <10⁻¹³. Python passe $(f_a, f_b)$ au C. Illinois ne diverge plus.
Pipeline corrigé ✓
LEVIER 4 — v9
Brent C/mpfr — ordre ~1.84
IQI + sécante + bissection. 2 phases 64→80 bits. Moins d'itérations que Illinois (ordre 1.44).
×1.80 vs Illinois
TURING-BACKLUND
COMPLET
0 zéro manquant
LMFDB
20 / 20
< 10⁻¹² · v16
Z_ARB PRÉCISION FIXE
64 bits
acb_dirichlet_hardy_z, sans escalade
COMMIT
00abe5c
Riemann_Lab_C · v16
T=100K — GAIN v15→v16
×2.75
avec turbo · 8 août 2026
PROGRESSION V1 → V16
v1
21h
baseline
v2
2h
×10
v3
45min
×28
v4.1
9min
×140
v5
~1min
×1 260
v7
30.9m
T=100k · turbo
v9
26.6m
×1.80 vs v8
v10
23.7m
×1.12 vs v9
v12
8.8m
×16.9 bench
v13
8.5m
×1.04
v14
7.7m
×1.10
v15
4.4m
×1.93 · Obj2 ✅
v16 ✦
1.6m
×2.75 · Obj2 ✅✅
Ver. Temps Gain Algorithme clé Formule principale Analyse
v1 21h — Newton scalar ζ(½+it) Newton séquentiel, 1 worker —
v2 2h ×10 Illinois + Z(t) Z(t) = eiθ(t)ζ(½+it) · Illinois bracket v2→v3 (PDF) ↗
v3 45min ×28 Parallèle W=4 T/W par worker · post-fork .so · N(T) corrigé v3→v4 (PDF) ↗
v4.1 9min ×140 Illinois C/libmpfr illinois_mpfr.c · (fa,fb) pré-calculés Python→C v4.1→v5 (PDF) ↗
v5 ~1min ×1 260 Arb hardy_z arb_fpwrap_cdouble_hardy_z · double natif, 0 malloc v5→v6 (PDF) ↗
v6 ~130 min — scan_arb.c STEP=0.010 fixe · scan_arb.c Z_double inline · T=100k · 0 manquant v6→v7 (PDF) ↗
v7 74.5 z/s ×4.2 vs v6 Illinois adaptive prec=64 bits → 1 limb → SIMD ×16 · T=100k · 30.9 min v7→v8 (PDF) ↗
v8 45.6 z/s ×1.06 vs v7 Illinois 116→80 bits prec_full=80 bits · T=100k · 50.5 min sans turbo v8→v9 (PDF) ↗
v9 86.5 z/s ×1.80 vs v8 Brent C/mpfr IQI+sécante+bissection · ordre ~1.84 · T=100k · 26.6 min (turbo) · 28.0 min (sans) v9→v10 (PDF) ↗
v10 97.08 z/s ×1.12 vs v9 Brent C/mpfr + W=8 W=8 forcé · Brent grand t dilue overhead HT · T=100k · 23.7 min (turbo) v10→v12 (PDF) ↗
v12 ~261 z/s ×16.9 bench Illinois hybride 2-phases Z_rs_double Phase1 + 2 Newton Z_arb · T=100k · 8.8 min —
v13 271 z/s ×1.04 vs v12 Illinois hybride + T_SEUIL=65 T_SEUIL 200→65 · TOL 1e-9→1e-12 · T=100k · 8.50 min · LMFDB 20/20 ✅ v13→v15 (PDF) ↗
v14 299 z/s ×1.10 vs v13 v13 + cache RS statique log_n_cache[2101] + isqrt_n_cache[2101] · 33 KB · init post-fork · T=100k · 7.7 min —
v15 517 z/s ×1.93 vs v13 v14 + Phase 2 adaptative SEUIL_1NEWTON=20k · 87% zéros 1 Newton · T=100k · 4.4 min · LMFDB 20/20 ✅ · Obj2 ✅ —
v16 ✦ 1407 z/s ×2.75 vs v15 v15 + Z_arb précision fixe acb_dirichlet_hardy_z 64 bits (remplace arb_fpwrap, escalade ~1e-16 surdimensionnée) · T=100k · 1.6 min · LMFDB 20/20 ✅ · Obj2 ✅✅ rapport global v1→v16 (PDF) ↗
v17 (en préparation) — — Audit de v16 · aucun code modifié Référence T=100k : 6 runs identiques (138 069 zéros, LMFDB 20/20) · test T1b sur [4,90 M ; 4,986 M] : la déduplication à 0,01 a supprimé 4 vraies paires de zéros (écarts 0,003 à 0,008, confirmées par mpmath) en plus de 7 doublons de frontière · un seul intervalle, à étendre v16→v17 (PDF) ↗
Gain v16 vs v15 (T=100k)
×2.75
Durée T=100k v16 ⭐
1.6 min
Gain global v1 → v16
×787.5
Cluster Zeta — Infrastructure de calcul

PC1 · zeta-lab

Rôle : Orchestrateur / Calcul principal

CPU : Intel Core i7 — 4 cœurs

RAM : 8 GB + 16 GB swap

GPU : NVIDIA GTX 960M 4 GB

OS : Ubuntu Linux

Vitesse : 1407 z/s (v16) · 517 z/s (v15)

✅ Actif — Calcul

PC2 · zeta-calc-second

Rôle : Second nœud de calcul

CPU : Intel Core2Duo E8400 — 2 cœurs

RAM : 7.6 GB

OS : Debian Linux

Vitesse : 512 z/s (v15, avec python-flint)

✅ Actif — Calcul

PC3 · zeta-backup

Rôle : Backup / Monitoring / DNS

CPU : AMD Athlon II X2 215 — 2 cœurs

RAM : 5.7 GB

OS : Linux Lite

Services : chrony, rsyslog, dnsmasq

⚙️ Monitoring

PC4 · zeta-secure

Rôle : Bastion VPN / WireGuard

CPU : Intel Celeron B830 (dual-core)

OS : OpenBSD

VPN : WireGuard (accès distant)

DNS : DDNS dédié (non divulgué)

🔒 Bastion VPN

PC5 · zeta-monitor

Rôle : Monitoring

Modèle : Compaq CQ57 Notebook PC

OS : Debian 12

⚙️ Monitoring

📊 Performances distribution PC1+PC2 — v13 — Milestone 2026-06-17

ConfigurationVitesseZérosStatut
PC1 seul v12195 z/s—référence
PC1 seul v13634 z/s—×3.2 vs v12
PC1+PC2 v13 T=10 000350 z/s10 142✅ Turing COMPLET
PC1+PC2 v13 T=100 000270 z/s138 069✅ Turing COMPLET

PC1+PC2 synchronisés à la seconde — 8.50 min chacun pour T=100k · pivot N(T) marge −15%

📊 Run T=5 000 000 — v13 — PC1 seul — Terminé 30 juin 2026

ParamètreValeur
Zéros attendus N(5M)10 016 473
Zéros trouvés10 016 377
Manquants96 — paires de zéros proches, pas de changement de signe visible sur grille Z_double
REJECT / FALLBACK arb0 ✅ confirmé par ZETA_DEBUG_BRACKETS
Illinoiscorrect — tous les brackets fournis bien affinés
Durée~35h (loi T^1.5)

Piste : v16 T=5M (gain ×2.75 supplémentaire vs v15 mesuré à T=100k, non encore mesuré à cette échelle) — même STEP → 96 manquants probablement identiques · rescan ciblé STEP/2 pour réduction