QMBLthe quantum many-body leaderboard

All instances / Heisenberg

Heisenberg triangular 12x12, open

Best values (rules §6)

best variational -0.5150648 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
triangular
sites
144
boundary
open
energies
5

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).

Strict variational upper bounds (5)

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.5150648best variational 0 n/a 3.75e+1 6.1e-2 DMRG
VarBench reference run
Wu et al. (2024) run script 2024
-0.5120 3.1e-3 1.0e-4 3.78e+1 6.3e-2 VMC (2D RNN) Wu et al. (2024) run script 2024
-0.5114972 3.6e-3 n/a 5.63e+1 9.3e-2 DMRG
VarBench reference run
Wu et al. (2024) run script 2024
-0.48352 3.2e-2 1.6e-5 8.97e+1 1.7e-1 VMC (RBM)
VarBench reference run
Wu et al. (2024) run script 2024
-0.47597 3.9e-2 1.9e-5 1.27e+2 2.4e-1 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.5150648, 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. | -296.677327164 | | 37.53968 | 144 | 0 | DMRG (Bond dimension = 3000) | [code](https://github.com/varbench/methods/blob/main/programs/dmrg_itensor_cpp/dmrg_triangular_heisenberg_12x12.cc) |

Record (no exact row). Program dmrg_triangular_heisenberg_12x12.cc (M. Hibat-Allah, ITensor C++): Nx = Ny = 12, triangularLattice with YPeriodic=false (bonds (x,y)-(x+1,y), (x,y)-(x,y+1), (x,y)-(x+1,y+1), open, 385 bonds: the VarBench triangular_144_O rhombus), H = sum S.S (lines 25-27, S.S units), Neel start with QN conservation (Sz = 0), maxdim 10 ... 2000, 3000 (last sweep at 3000), cutoff 1e-10: final DMRG energy, variational. Units: the program prints E in S.S units; stored -296.677327164 = 4 x -74.169331791, consistent with upstream's 'Fix missing factor of 4' (878bf7a). The DMRG is the reference computation of arXiv:2207.14314 ('For 12× 12, we used D = 3000', sources/2207.14314.txt line 366-367), which only plots it, so the row cites the primary numbers. Caveats for the provenance, not the value: the committed program does not compile (lines 82-83, 'H2 = inner(H,psi,H,psi); var = H2-energy^2;' with undeclared H2/var and ^ on a double), so the stored variance 37.53968 has no runnable source; it is consistent with Pauli units (lower energy and lower variance than the Julia D = 1024 row, 56.34). History: -74.07647 (S.S, ff3ad5b, 2022-02-15) -> x4 -296.30588 (878bf7a, 2022-07-11) -> -296.677327164 with variance 37.53968 (da6643b, 2023-02-01, Hibat-Allah, same label): a new, lower run, not a restoration. M11: 0.60% below the gated RNN; now read (config). Linked 9369b7d (2024-08-13).

-0.5114972, 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. | -294.6224149903317 | | 56.34376540512312 | 144 | 0 | DMRG (bond dimension = 1024) | [code](https://github.com/varbench/methods/blob/main/scripts/Heisenberg/triangular_144_O/dmrg.sh) |

dmrg.sh first line: heisenberg_2d.jl --L 12 --J2 1 --zero_mag --max_B 1024: open 12x12 triangular rhombus, Pauli, J = 1, Sz = 0, 50 sweeps at D = 1024 (the script's C++ half cannot run: cd programs/dmrg_itensors_c++). 2.055 above the C++ D = 3000 record, with higher variance (56.34 vs 37.54): consistent. Entered 3c108e3 (2022-07-11, Dian Wu), never changed; linked 2024-07-19.

-0.48352(2), 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. | -278.5075 | 0.0094 | 89.67089 | 144 | 0 | RBM (alpha = 1) | [code](https://github.com/varbench/methods/blob/main/scripts/Heisenberg/triangular_144_O/vmc_rbm.sh) |

scripts/Heisenberg/triangular_144_O/vmc_rbm.sh: 'python3 vmc.py --ham heis_tri --boundary open --sign mars --ham_dim 2 --L 12 --zero_mag --net rbm --seed 123 --show_progress' -> 12x12 triangular lattice (ColoredJ1J2 back_diag=False: square grid + (i,j)-(i+1,j+1) diagonals), open; NetKet Heisenberg J = 1 in Pauli form with Marshall rotation on the square bonds only (sign_rule=[True, False], a unitary: the diagonals join same-sublattice sites); 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.016: the stored sigma is the error of that final estimate. 18.1698 above the DMRG record -296.677327164. M2/M6 flags (if any): real float32 parameters make the amplitudes positive, so on this frustrated lattice the ansatz cannot carry the ground-state signs; no constant shift is involved and the energy is a valid bound. History: entered 10f5c12 (2022-07-11, Dian Wu) as -278.457 | 0.0096 | 94.0425 | RBM (alpha = 1); 59e621a (2022-09-13, 'Update Jastrow and RBM baselines'): energy -278.457 -> -277.8726; variance 94.0425 -> 94.39827; 14d39eb (2022-10-19, 'Update estimation of some VMC results'): energy -277.8726 -> -278.4569; variance 94.39827 -> 94.04247; e4e2504 (2022-10-19, 'Fix slope = 1 in plot_v_score_rel_err.py'): energy -278.4569 -> -278.5075; sigma 0.0096 -> 0.0094; variance 94.04247 -> 89.67089; linked 5047bfd (2024-07-30). Changed and restored upstream: July -278.457 (10f5c12) -> September -277.8726 (59e621a) -> -278.4569 on 2022-10-19 morning (14d39eb, the July value with more digits, variance 94.04247 again) -> -278.5075 with new sigma and variance that evening inside e4e2504, a commit titled 'Fix slope = 1 in plot_v_score_rel_err.py'. The stored value is that last, fourth estimate, not the restored one; each is a valid bound of a different run (spread 0.63, far above sigma), so nothing to correct, but the row entered through a commit that does not mention it. The same pair of commits changed the J1-J2 square_36_P_0.9 RBM row and restored it exactly (-92.3972 -> -93.0317 -> -92.3972; group VB1). Program files postdate the value (scripts added to varbench/methods 2024-07-30); they document the settings after the run.

-0.47597(2), 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. | -274.157 | 0.011 | 127.347 | 144 | 0 | Jastrow baseline | [code](https://github.com/varbench/methods/blob/main/scripts/Heisenberg/triangular_144_O/vmc_jastrow.sh) |

scripts/Heisenberg/triangular_144_O/vmc_jastrow.sh: 'python3 vmc.py --ham heis_tri --boundary open --sign mars --ham_dim 2 --L 12 --zero_mag --net jas --seed 123 --show_progress' -> 12x12 triangular lattice (ColoredJ1J2 back_diag=False: square grid + (i,j)-(i+1,j+1) diagonals), open; NetKet Heisenberg J = 1 in Pauli form with Marshall rotation on the square bonds only (sign_rule=[True, False], a unitary: the diagonals join same-sublattice sites); 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) = 0.998: the stored sigma is the error of that final estimate. 22.5203 above the DMRG record -296.677327164. M2/M6 flags (if any): real float32 parameters make the amplitudes positive, so on this frustrated lattice the ansatz cannot carry the ground-state signs; no constant shift is involved and the energy is a valid bound. History: entered af1d48f (2022-09-01, Dian Wu) as -271.754 | 0.011 | 127.947 | Jastrow baseline; 59e621a (2022-09-13, 'Update Jastrow and RBM baselines'): energy -271.754 -> -274.157; variance 127.947 -> 127.347; 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. Literature last checked 2026-09-15 (table harvest of cached arXiv sources (match_tables.mjs --all), every matched paper read for this instance): 2 papers read, 0 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