QMBLthe quantum many-body leaderboard

All instances / Heisenberg

Heisenberg chain, 200 sites, open

Exact energy and best values (rules §6)

exact -0.4422078 Exact solution
best variational -0.4422078 DMRG
Wu et al. (2024) · the lowest unflagged variational energy, a strict variational bound

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

The Hamiltonian

H = ∑⟨ij⟩ σi·σj

Nearest-neighbour Heisenberg antiferromagnet, J = 1, written with Pauli matrices.

lattice
chain
sites
200
boundary
open
energies
4

Stored as a total energy; quoted here as E/N (S.S), 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 (S.S)distance to class bestσVar(E)V-score methodsourcecodeyearcomment
-0.4422078exact 0 n/a n/a n/a Exact solution QMBL check, checks/bethe-heisenberg-chain/ QMBL code n/a

Strict variational upper bounds (3)

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 (S.S)distance to class bestσVar(E)V-score methodsourcecodeyearcomment
-0.4422078best variational 0 n/a 5.40e-9 8.6e-12 DMRG
VarBench reference run
Wu et al. (2024) run script 2024
-0.437840 4.4e-3 5.0e-6 1.64e+1 2.7e-2 VMC (RBM)
VarBench reference run
Wu et al. (2024) run script 2024
-0.432402 9.8e-3 5.5e-6 2.00e+1 3.3e-2 VMC (Jastrow)
VarBench reference run
Wu et al. (2024) run script 2024

How these numbers were read

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

-0.4422078, Exact solution

Checked 2026-10-27 · bethe_xxx.py: Bethe equations in logarithmic form for the M = 100 real roots of the singlet ground state, Newton's method in double precision, then mpmath at 70 and 90 digits; open chain in the form of Alcaraz et al., J. Phys. A 20, 6397 (1987)

Reported as. -88.441555569500912890931952160508125031187157763513 (S.S units, 50 digits; results.txt)

Pauli total = 4 x -88.441555569500912890931952160508125031187157763513 = -353.76622227800365156372780864203250012474863105405. The same code reproduces the 20-site open chain's ED row to all its 16 digits. Agrees to a relative 1e-49 with the value of the bethe library (https://github.com/Uni20-dev/bethe, arbitrary-precision reals), sent to QMBL on 2026-10-27. The DMRG row, -353.766222278, lies 3.7e-12 above it.

-0.4422078, DMRG

Checked 2026-09-29 · VarBench snapshot 390a21e (vendor/varbench) and full upstream history (varbench-history, git log --follow on the file, every version); varbench/methods ed31bb0 run script and program read as text; no output log or result file exists in the methods repo for any Heisenberg row

Reported as. | -353.766222278 | | 5.4E-9 | 200 | 0 | DMRG (max truncation error ~ 1.0E-14) | [code](https://github.com/varbench/methods/blob/main/programs/dmrg_itensors_heisenberg/chain_200_O.jl) |

Program chain_200_O.jl: N = 200 (line 99), periodic = false (line 100), H = sum over the 199 chain edges of 2 S+S- + 2 S-S+ + 4 SzSz = sigma.sigma (lines 66-68), Neel product start with conserve_qns (Sz = 0, lines 103-104), maxdim 4 ... 1000, two sweeps each (line 108), E and var = <H^2> - E^2 printed after each stage. Independent value check: the Bethe-ansatz ground state of the open 200-site chain (Alcaraz et al. 1987 equations, solved in work/bethe.mjs, which reproduces both stored 20-site ED rows to 2e-14) is -353.7662222780039, so the stored -353.766222278 equals the exact energy at its 9 printed decimals and lies 3.9e-12 above it: a valid bound. M6 (V-score 8.6e-12 outlier): genuine, the MPS is converged to the exact energy. M11: now read (config) and checked against the exact energy; its 0.99% margin is over the RBM baseline. History: first -353.76622227495 (d5b1d3d, 2021-12-05, J. M. Silvester, 'max truncation error ~ 1.0E-12', 3.05e-9 above exact), replaced by -353.766222278 (86052ed, 2022-03-09, '~ 1.0E-14'); variance 0.0001475 -> 6.3E-10 (the chain_20_O value, pasted) -> blank -> 5.4E-9 (bead94c, 2022-03-10); nothing restored. Program linked 2024-08-08 (d944d80), copied from MaxSilvester/Hubbard-and-Heisenberg-codes.

-0.437840(5), VMC (RBM)

Checked 2026-09-29 · VarBench snapshot 390a21e (vendor/varbench) and full upstream history (varbench-history, git log --follow on the file, every version); varbench/methods ed31bb0 run script and program read as text; no output log or result file exists in the methods repo for any Heisenberg row

Reported as. | -350.2717 | 0.0040 | 16.35715 | 200 | 0 | RBM (alpha = 1) | [code](https://github.com/varbench/methods/blob/main/scripts/Heisenberg/chain_200_O/vmc_rbm.sh) |

scripts/Heisenberg/chain_200_O/vmc_rbm.sh: 'python3 vmc.py --ham heis --boundary open --sign mars --ham_dim 1 --L 200 --zero_mag --net rbm --seed 123 --show_progress' -> 200-site open chain (nk.graph.Grid, vmc.py line 51); NetKet Heisenberg J = 1 in Pauli form with Marshall sign rule (a sublattice rotation on a bipartite lattice, spectrum unchanged); Sz = 0 (total_sz=0, MetropolisExchange); real float32 RBM, alpha = 1 (nk.models.RBM, log_cosh); 10^4 SR steps; final estimate over 2^20 samples (vmc.py lines 268-269). sigma/sqrt(Var/2^20) = 1.013: the stored sigma is the error of that final estimate. 3.4945 above the Bethe-ansatz ground state -353.7662222780039 (work/bethe.mjs). History: entered 10f5c12 (2022-07-11, Dian Wu) as -350.272 | 0.0040 | 16.3572 | RBM (alpha = 1); af1d48f (2022-09-01, 'Add Jastrow baseline'): energy -350.272 -> -350.2717; variance 16.3572 -> 16.35715; linked 5047bfd (2024-07-30). Program files postdate the value (scripts added to varbench/methods 2024-07-30); they document the settings after the run.

-0.432402(6), VMC (Jastrow)

Checked 2026-09-29 · VarBench snapshot 390a21e (vendor/varbench) and full upstream history (varbench-history, git log --follow on the file, every version); varbench/methods ed31bb0 run script and program read as text; no output log or result file exists in the methods repo for any Heisenberg row

Reported as. | -345.9215 | 0.0044 | 19.99755 | 200 | 0 | Jastrow baseline | [code](https://github.com/varbench/methods/blob/main/scripts/Heisenberg/chain_200_O/vmc_jastrow.sh) |

scripts/Heisenberg/chain_200_O/vmc_jastrow.sh: 'python3 vmc.py --ham heis --boundary open --sign mars --ham_dim 1 --L 200 --zero_mag --net jas --seed 123 --show_progress' -> 200-site open chain (nk.graph.Grid, vmc.py line 51); NetKet Heisenberg J = 1 in Pauli form with Marshall sign rule (a sublattice rotation on a bipartite lattice, spectrum unchanged); Sz = 0 (total_sz=0, MetropolisExchange); real float32 Jastrow (nk.models.Jastrow); 10^4 SR steps; final estimate over 2^20 samples (vmc.py lines 268-269). sigma/sqrt(Var/2^20) = 1.008: the stored sigma is the error of that final estimate. 7.8447 above the Bethe-ansatz ground state -353.7662222780039 (work/bethe.mjs). History: entered af1d48f (2022-09-01, Dian Wu) as -345.9215 | 0.0044 | 19.99755 | Jastrow baseline; linked fdb4bfb (2024-07-30). Program files postdate the value (scripts added to varbench/methods 2024-07-30); they document the settings after the run.

Coverage

Newest published number here: 2024.

This instance as data

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