This is the 2D companion to the 3D eigenstate-thermalization spin-chain simulator, computed independently rather than a flattened render of the same 3D scene. It keeps the exact same N = 8 mixed-field Ising Hamiltonian, exactly diagonalized every time you move the hz slider:
H = -J Σ Sz(i)Sz(i+1) - hx Σ Sx(i) - hz Σ Sz(i)
J = 1, hx = 1.05 (fixed) — h_z: yours to tune
Instead of scattering ⟨n|SzSz|n⟩ against En in a 3D cloud, this view uses the gap-ratio statistic of the raw energy spectrum — a genuinely 2D-native, distribution-based chaos diagnostic (Oganesyan & Huse 2007) that needs no reference observable at all:
s_n = E(n+1) - E(n) (nearest-neighbor level spacing)
r_n = min(s_n, s_(n+1)) / max(s_n, s_(n+1))
Poisson (integrable): ⟨r⟩ ≈ 0.386
Wigner-Dyson GOE (chaotic): ⟨r⟩ ≈ 0.531
- The histogram (bottom strip) bins locally-unfolded level spacings s/⟨s⟩local across the full 256-eigenvalue spectrum and overlays the theoretical Poisson curve e-s and the Wigner surmise (π/2)s e-πs²/4. At hz=0 the bars pile up near s=0 (level clustering, no repulsion); as hz grows the pile-up empties out and the bars swing toward the GOE hump — visually the same integrable→chaotic crossover the 3D scatter cloud shows, but through an entirely different, spectrum-only lens.
- The live ⟨r⟩ readout is the actual mean gap ratio of this run's spectrum (dimensionless, no unfolding needed) — it rises from ≈0.35 at hz=0 toward ≈0.45–0.46 by hz≈0.5–0.6 in this N=8 chain. It does not fully reach the ideal 0.531 because a finite N=8 system's spectrum mixes symmetry sectors (the model's exact global spin-flip symmetry at hz=0 adds extra near-degeneracies) rather than being sector-resolved — the same finite-size caveat that applies to the exact-diagonalization literature this simulator is built on.
- The space-time heatmap (top strip) plots ⟨Sz(i)⟩ for every site i (x-axis) at every instant since the last quench (y-axis, scrolling downward) — a direct picture of the domain-wall/Néel imbalance dissolving toward the flat gray of thermal equilibrium when hz is large, versus persistent striping when hz≈0.