QMBLthe quantum many-body leaderboard

All instances / Transverse-field Ising

Transverse-field Ising chain, 10 sites, open, h = 1

Exact energy and best values (rules §6)

exact -1.238149 ED
Wu et al. (2024) · the instance is solved
best variational -1.238149 DMRG
Wu et al. (2024) · the lowest unflagged variational energy, a strict variational bound

Energies as E/N (Pauli). Classes are different claims and are not ranked against each other.

The Hamiltonian

H = −∑⟨ij⟩ σziσzj − h ∑i σxi

Transverse field h = 1. Already in Pauli operators, with no S·S term to rescale, so the per-site energy is E/N.

lattice
chain
sites
10
boundary
open
h
1
energies
7

Stored as a total energy; quoted here as E/N (Pauli), which is what the papers report (how the conversion works).

Every published energy

Grouped by what the number is. The exact energy comes first where there is one; in every other group the lowest unflagged energy is its best value, and each row's distance is to that best (rules §6).

Numerically exact (1)

Exact diagonalization, an exact solution, or sign-problem-free QMC where that is established. An exact energy is shown first, before the best of each other class. QMC is exact only within its error bar, which it must state, and reads exact (stochastic); an exact diagonalization outranks it. For a diagonalization resolved by symmetry sector only the ground state's sector is listed; the lowest energies of the other sectors are the instance's spectrum, in its JSON, and are not shown as the exact energy.

E/N (Pauli)distance to class bestσVar(E)V-score methodsourcecodeyearcomment
-1.238149exact 0 n/a n/a n/a ED
VarBench reference run
Wu et al. (2024) run script 2024

Strict variational upper bounds (6)

Energies that a variational state reached (VMC, DMRG and MPS at finite bond dimension, PEPS, NQS, VQE). Each is an upper bound on the ground-state energy.

E/N (Pauli)distance to class bestσVar(E)V-score methodsourcecodeyearcomment
-1.238172 n/a 2.2e-6 4.94e-4 3.2e-5 VMC (RBM)
below exact energy VarBench reference run
Wu et al. (2024) run script 2024
-1.2381549 n/a 7.0e-7 n/a n/a VMC (LRU)
below exact energy preprint
Merali et al. (2026) ParallelScan-RNNs/PSR-NQS 2026
-1.238149best variational 0 n/a 4.80e-13 3.1e-14 DMRG
VarBench reference run
Wu et al. (2024) run script 2024
-1.2381338 1.5e-5 n/a 7.99e-4 5.2e-5 VQE
VarBench reference run
Wu et al. (2024) run script 2024
-1.2380038 1.5e-4 n/a 7.94e-3 5.2e-4 VQE
VarBench reference run
Wu et al. (2024) run script 2024
-1.23784 3.0e-4 1.9e-5 3.61e-2 2.4e-3 VMC (Jastrow)
VarBench reference run
Wu et al. (2024) run script 2024

Flagged rows

A flagged row stays listed in rank order but cannot be the best of its class. Rules §10 says how a flag is lifted or upheld.

below exact energy, VMC (RBM), -1.238172(2)

Finding. -12.381718(22) sits 2.28e-4 (10.4 sigma) below the exact energy -12.38148999965 (VarBench ED via NetKet and DMRG rows; Lanczos on the 1024-state space here agrees to 1e-13). Same provenance as chain_10_P_1: the number entered VarBench in commit 6e7a021 (Dian Wu, 2023-01-09, 'Update Ising Jastrow and RBM baselines', no code), replacing -12.381447(21), var 0.00047990793 (77a95d7, 2022-12-12; 4.3e-5 = 2.0 sigma ABOVE exact) with a value 2.7e-4 (12 sigma) lower at a variance that changed by only 3% (0.00049440652). The linked script scripts/TFIsing/chain_10_O_1/vmc_rbm.sh -> programs/vmc_netket/vmc.py was written in July 2024 (methods 1347303, link added in dataset 5047bfd with the value unchanged) and does not produce the stored number: the bit-faithful rerun (NetKet 3.13.0, jax 0.4.30, CPU, seed 123) prints energy -12.381393 +- 0.000027 [var 0.000753, R_hat 1.0005], 9.7e-5 ABOVE exact and 3.2e-4 (12 sigma) above the stored value; full summation of the final parameters gives -12.381410828 (above exact) and five repeated 2^20-sample estimates (-12.381428, -12.381419, -12.381402, -12.381353, -12.381416; sigma 2.6e-5, tau_corr <= 0.04, R_hat 1.0005) scatter around it within 2.2 sigma (checks/tfising-rbm-varbench-rerun/ising_open_1d_L10_h=1.eval.json). The published code (persistent chains, float64 matrix elements, between-chain error estimate; see the chain_10_P_1 finding) has no mechanism for a below-exact value; the stored sigma = sqrt(0.00049440652/2^20) = 2.17e-5 marks the number as a 2^20-sample final estimate, so it is neither a trace point (per-step sigma 9e-4 in the rerun) nor a 10-sigma fluctuation, but a biased estimate from an unpublished January 2023 run. Earlier 'minimum of the optimization trace' diagnosis withdrawn.

Diagnosis. The three values were entered in VarBench commit 6e7a021 (Dian Wu, 2023-01-09, 'Update Ising Jastrow and RBM baselines', no code, no log), replacing uploads that sat above the exact energy: chain_10_P_1 -12.784707(48) and chain_10_O_1 -12.381447(21) of 2022-12-12 (77a95d7; 4.2 and 2.0 sigma above), while chain_32_P_0.5 was below exact in both its uploads (2022-07 and 2023-01). The linked program, programs/vmc_netket in varbench/methods, was written in July 2024 (IsingJax and VMC_SRt did not exist in January 2023) and the links were attached on 2024-07-30 (5047bfd) without regenerating a number. Run as pinned (NetKet 3.13.0, jax 0.4.30, seed 123, CPU, 2026-09-19) the script gives -12.784382(65), -12.381393(27) and -34.03197(10): all above the exact energies, with full summation of the same parameters at -12.784376 and -12.381411 and five repeated 2^20-sample estimates scattering around them (tau_corr ~ 0, R_hat 1.0005). The stored sigmas equal sqrt(stored variance / 2^20), so the stored numbers are final 2^20-sample estimates of a better-converged 2023 state (variance about half of the rerun's) whose bias below the exact energy no published source explains.

Ruled out. Not a minimum of the optimisation trace: the program prints a separate final estimate, the per-step noise (2.2e-3, 8.9e-4, 3.1e-3 at 1024 samples) is 40x the stored bars, and the trace minima lie about 1e-2 below the exact energy, not 2-3e-4. Not an unthermalised restart of the sampler: the chains persist into the final estimate, and a fresh restart biases the estimate upward (seen on the 32-site evaluation). Not float32 local energies: the local energy is accumulated in float64 with float32 amplitude ratios. The 2026-09-11 check (checks/tfising_rbm_check.py: complex RBM, netket 3.22.4, 2000 steps) ran a different program and is withdrawn as a diagnosis.

Evidence. VarBench dataset commits 77a95d7, 6e7a021, 5047bfd; varbench/methods programs/vmc_netket/vmc.py (1347303, c686621, bba4595); checks/tfising-rbm-varbench-rerun/ (run.sh, run.log, *.eval.json, trace_summary.json); the first rerun, checks/tfising_rbm_check.py, for the withdrawn diagnosis.

below exact energy, VMC (LRU), -1.2381549(7)

Finding. E/N = -1.2381549(7) (arXiv:2605.13807v1, Table I, row N = 10, column e_1DLRU(N); the only arXiv version, submitted 2026-05-13, PDF byte-identical to the cached copy) against e_exact(10) = -1.2381490 printed in the same row: 5.90e-6 per site, 8.4 sigma, below an exact value the paper itself derives from [1 - csc(pi/(2(2N+1)))]/N and that its released code recomputes with the same formula (PSR-NQS/lru_1d/run_training.py line 22-23, exact_obc_critical_energy_density) for the same Hamiltonian H = -sum sz sz - h sum sx, J = -1, h = 1, open chain (run_training.py 282, 318-319; vmc_utils.py 12-13, 28). Stored total -12.381549 +/- 0.000007 = 10 x per-site value, matches the instance exact row -12.38148999965 to 7 digits. The released code shows what the number is: run_training.py 189-230 evaluates the model state at the END of training with 1000 x 1024 = 1,024,000 fresh autoregressive samples and writes energy_mean and energy_error_of_mean = sqrt(Var/1024000) to final_stats.csv; the Table I caption says the same. A 1024-sample training-step bar would be sqrt(1000) = 31.6x larger (2.2e-5 per site, printed as (2) at five decimals), so the printed (7) is the final-estimate standard error, not a per-step one. The lowest_energy checkpoint (run_training.py 52-58, 141-160, UCB rule after half the steps) is saved but never restored; the reported energy is not a minimum over the optimization trace, and the mechanism established for the VarBench RBM (alpha = 1) row on this instance does not apply here (that dip would be ~4 sigma_step = 9e-5 per site, 15x deeper than observed, with a 30x wider bar). Samples are exact autoregressive draws (wvfn_1d.py 116-151, log_softmax conditionals, categorical sampling), so no autocorrelation correction is missing either. With a normalized causal ansatz (checked: the parallel path shifts inputs by one site and skip-adds the unshifted input, ssm_1d.py 108-112, ssm_blocks.py 50-55, identical to the sampler loop at wvfn_1d.py 134-149) and consistent psi evaluations, the estimator is unbiased and 8.4 sigma below E0 has probability ~1e-17: the printed value cannot come from the released procedure unless the two psi evaluations it mixes disagree. They are different code paths: the denominator psi(sigma) is the sampler sequential recurrence (run_training.py 200-201, model.log_psis(samples, clp)), the N numerators psi(sigma^i) are a parallel associative-scan forward pass (vmc_utils.py 22-24, parallel=True). A mismatch delta between them enters as exp(delta) and biases the field term downward (Jensen); an rms mismatch of ~4e-3 in log psi would reproduce the N = 10 dip. The repository sanity check never tests this: benchmark_trainstep_vs_L_1D_lru.py 280-292 passes clp into both sides of the sampled-input comparison, as its own comment admits. Not run here (out of scope for this pass); no results, logs or CSVs were ever committed (27 commits, 1D code in one commit 8335644 of 2026-05-12). Whatever the mechanism, the same column has two more sub-exact entries (N = 24: -1.57e-5, 15.7 sigma; N = 32: -5.92e-5, 29.6 sigma) and two entries within 1 sigma of exact (N = 8, N = 128), so the printed bars understate the true uncertainty of the column by an order of magnitude; the paper and the script both print the relative error unsigned (rel_err = abs(E - exact)/abs(exact), run_training.py 221), which is why the sign flips went unnoticed and Table I text reads the non-monotonic error as optimization noise. The flag stands; the row holds no record. Corrections: the RBM-rerun diagnosis attached to this row through SHARED["below-exact"] in scripts/defects.mjs is about a different row and must come off (separate correction entry).

How these numbers were read

Where each number below was read, and how it was checked.

-1.2381549(7), VMC (LRU)

Checked 2026-09-15 · source text of arXiv:2605.13807 read locally (arXiv HTML or pypdf layout text); value copied from the harvested cell and the text, no LLM transcription of numbers; adversarial re-read: confirmed

Reported as. -1.2381549(7)

TABLE I, N=10 row: e_1DLRU(10)=-1.2381549(7) vs e_exact(10)=-1.2381490 | matches instance exact_per_site -1.2381489999654733 to 7 significant figures, confirming per-site convention at h=1, OBC

-1.238149, DMRG

Checked 2026-09-29 · varbench/methods ed31bb0 scripts/TFIsing/chain_10_O_1/dmrg.sh -> programs/dmrg_itensors/ising_1d.jl, common.jl, args.jl (ITensors.jl, Manifest pinned)

Reported as. VarBench TFIsing/chain_10_O_1.md: Energy -12.381489999654796 | Sigma (empty) | Energy Variance 4.8e-13 | DOF 10 | Einf 0 | Method "DMRG (bond dimension = 13)"

Script builds the instance (Pauli TFIM +sum ZZ + h sum X on the open 10-site chain, h = 1, equivalent to -sum ZZ - h sum X on this bipartite cluster; no symmetry or magnetisation constraint). The label's bond dimension is the one reached under the 1e-12 cutoff with max_B = 128. Energy is the last sweep's, variational, no extrapolation; variance <H^2> - E^2 of the final MPS (ising_*.jl lines 63-65). No output log (config scope). Value since 77a95d7 (2022-12-12, 'Add TFIM chain L = 10', with the ED row); script link attached 2024-07-19 (f88f9ba, cd362c4). Record row when read (the best bound then). 3.9e-14 below the free-fermion E0 -12.381489999654757 and 6.2e-14 below the ED row: double-precision noise (relative 3e-15), inside the validator's relative 1e-8. M6 flag (V-score 3.1e-14 'outlier') settled: the state is exact to machine precision, so Var = 4.8e-13 is the floating-point floor of <H^2> - E^2 (E^2 ~ 153), not an error.

-1.238149, ED

Checked 2026-09-29 · QMBL ED cost run checks/cost/ed/results/TFIsing--chain_10_O_1.json (checks/cost/ed/run_ed.py: NetKet 3.22.4 operator, sparse CSR built in blocks, SciPy eigsh/ARPACK k=1 SA; commit 716e043); results file read locally, no rerun

Reported as. energy -12.381489999654761 (stored_exact -12.381489999654734, relative_difference 2.15e-15, reproduces_stored true)

|reproduced - stored| = 2.66e-14 (relative 2.15e-15); within 1e-9 relative. Sector none, dimension 1024, 81 Lanczos steps (the file states no residual). The stored value is the source's own ED (varbench@2024-10-22), so two codes agree; a third code, E1's node Lanczos (qmbl-runs/qmbl-verify/out/E1-exact-recompute/results/TFIsing__chain_10_O_1.json), gives -12.381489999654757 (3.55e-15 from the cost run). Also read by VB4-tfising-tv#3 (scope value: ed.py lines 7-10; vmc.py lines 20-51, 73-78).

-1.2381338, VQE

Checked 2026-09-29 · varbench/methods ed31bb0 programs/pqc_ising_1d/pqc_HamVar.py (G. Mazzola; qutip 4.7): the hard-coded 48 parameters evaluated here in a 10-qubit statevector with qutip's gate conventions (work/tfising_checks.mjs; no optimisation, no diagonalisation)

Reported as. VarBench TFIsing/chain_10_O_1.md: Energy -12.38133801299217 | Sigma (empty) | Energy Variance 0.0007985776929899657 | DOF 10 | Einf 0 | Method "VQE HV (d = 24)"

The committed program reproduces the stored energy and variance: deterministic statevector expectation, 24 blocks = 48 parameters, open chain h = 1, total energy 1.52e-4 above the exact -12.3814899997. Upload history: until ff71117 (2024-08-05) VarBench listed VQE HV at d = 8, 12, 16, 20, 24, 26, with this exact number and variance under 'd = 26' and -12.381299615657655 (var 0.0009568460000082268) under 'd = 24'; ff71117 kept one row, relabelled 'd = 24', with the former d = 26 value. The program's 24-block circuit gives this value, so the current label matches the linked program and the pre-2024 'd = 26' label was the inconsistent one; the dropped d = 24 number is listed under Unlisted numbers. Note: units.mjs isSampled() counts 'VQE HV (d = 24)' as sampled (no deterministic marker in the string) although the energy is an exact statevector expectation; it has no effect here (the instance is solved and the row is not the best bound).

-1.2380038, VQE

Checked 2026-09-29 · varbench/methods ed31bb0 programs/pqc_ising_1d/pqc_RYCNOT.py (G. Mazzola; qutip 4.7): the hard-coded 110 parameters evaluated here in a 10-qubit statevector (work/tfising_checks.mjs)

Reported as. VarBench TFIsing/chain_10_O_1.md: Energy -12.380038028233812 | Sigma (empty) | Energy Variance 0.007944439359960143 | DOF 10 | Einf 0 | Method "VQE R-CX (d = 10)"

The committed program reproduces the stored energy and variance (statevector, deterministic), 1.45e-3 above exact. The row kept its 2022 label and value through ff71117 (2024-08-05), which dropped the d = 4, 6, 8, 12 rows (Unlisted numbers). Same isSampled() remark as the HV row.

-1.23784(2), VMC (Jastrow)

Checked 2026-09-29 · varbench/methods ed31bb0 scripts/TFIsing/chain_10_O_1/vmc_jastrow.sh -> programs/vmc_netket/vmc.py, args_parser.py (NetKet 3.13.0 per requirements.txt)

Reported as. VarBench TFIsing/chain_10_O_1.md: Energy -12.37844 | Sigma 1.9e-4 | Energy Variance 0.03606162 | DOF 10 | Einf 0 | Method "Jastrow baseline"

Script builds the instance (open chain of 10 sites, h = 1, Pauli TFIM) with nk.models.Jastrow (vmc.py lines 118-124); +0.00305 from the exact -12.381489999654757 (above it, as a variational energy must be). sigma check: sqrt(Var/2^20) = sqrt(0.03606162/1048576) = 1.85e-4 vs stored 0.00019 (vmc.py lines 268-270: final estimate with estim_size = 2^20 samples); variance is Var(H) of the total energy. The linked script was attached on 2024-07-30 (fdb4bfb Jastrow / 5047bfd RBM) to a number already in VarBench (77a95d7 (2022-12-12)); vmc.py uses nk.operator.IsingJax (vmc.py line 78), so it is a later reimplementation of the baseline that documents the ansatz and protocol, not the output of the run that produced this number (no log in the methods repo). Value unchanged since 77a95d7; no value was changed and restored.

Coverage

Newest published number here: 2026. Literature last checked 2026-09-15 (table harvest of cached arXiv sources (match_tables.mjs --all), every matched paper read for this instance): 1 paper read, 1 of them with an energy on this page.

This instance as data

JSON · source file on GitHub · add a result · open an issue about this instance