The Hamiltonian
H = −∑⟨ij⟩ σziσzj − h ∑i σxi
Transverse field h = 3. Already in Pauli operators, with no S·S term to rescale, so the per-site energy is E/N.
- lattice
- square
- sites
- 36
- boundary
- periodic
- h
- 3
- energies
- 4
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.
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.
How these numbers were read
Where each number below was read, and how it was checked.
-3.2009085, ED
Checked 2026-09-29 · varbench/methods ed31bb0 scripts/TFIsing/square_36_P_3/ed_lattice_symmetries.sh -> programs/vmc_netket/ed_ls.py + nk2ls.py (lattice-symmetries 2.0.4 per conda_env.yaml)
Reported as. VarBench TFIsing/square_36_P_3.md: Energy -115.232707303718485 | Sigma (empty) | Energy Variance (empty) | DOF 36 | Einf 0 | Method "Exact diagonalization" (VarBench prints -115.232707303718485)
Script builds the instance: 6x6 torus (Grid pbc=True), h = 3, Pauli IsingJax(J=-1). Sector: every lattice symmetry fixed to sector 0; this is the ground-state sector here because -h sum X has non-positive off-diagonal elements in the Z basis, so the ground state is nodeless (Perron-Frobenius) and invariant under all site permutations of the lattice; no magnetisation restriction. No output log; the DMRG (chi = 1024) row sits 5.8e-6 above and the RBM 1.06e-3 above, consistent. Value in VarBench since 721e09e (2022-08-22, 'Add exact diagonalization for 6x6 TFIsing, Heisenberg, and Heisenberg triangular'); script link 2024-07-23 (3604bb4). Value-level recompute (2^36 / 288 ~ 2.4e8 symmetric states) belongs to the VE group.
-3.2009084, DMRG
Checked 2026-09-29 · varbench/methods ed31bb0 scripts/TFIsing/square_36_P_3/dmrg.sh -> programs/dmrg_itensors/ising_2d.jl, common.jl, args.jl (ITensors.jl, Manifest pinned)
Reported as. VarBench TFIsing/square_36_P_3.md: Energy -115.23270149009103 | Sigma (empty) | Energy Variance 0.00029784587604808627 | DOF 36 | Einf 0 | Method "DMRG (bond dimension = 1024)"
Script builds the instance (Pauli TFIM +sum ZZ + h sum X on the periodic 6x6 square, h = 3, equivalent to -sum ZZ - h sum X on this bipartite cluster; no symmetry or magnetisation constraint). Bond dimension = max_B = 1024. 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 b9049c5 (2022-08-23, 'Add DMRG for 6x6 TFIsing'); script link attached 2024-07-19 (f88f9ba, cd362c4). Record row when read (the best bound then; the ED holds the instance record). 5.81e-6 above the ED -115.23270730371848, variance 2.98e-4.
-3.200879(8), VMC (RBM)
Checked 2026-09-29 · varbench/methods ed31bb0 scripts/TFIsing/square_36_P_3/vmc_rbm.sh -> programs/vmc_netket/vmc.py, args_parser.py (NetKet 3.13.0 per requirements.txt)
Reported as. VarBench TFIsing/square_36_P_3.md: Energy -115.23165 | Sigma 0.00028 | Energy Variance 0.082848699 | DOF 36 | Einf 0 | Method "RBM (alpha = 1)"
Script builds the instance (periodic square of 36 sites, h = 3, Pauli TFIM) with nk.models.RBM(alpha = 1, log_cosh, float32; vmc.py lines 125-140); +0.00106 from the exact -115.23270730371848 (above it, as a variational energy must be). sigma check: sqrt(Var/2^20) = sqrt(0.082848699/1048576) = 2.81e-4 vs stored 0.00028 (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 (6e7a021 (2023-01-09; earlier -115.2259(17) 721e09e / -115.22592(53) af1d48f)); 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 6e7a021; no value was changed and restored.
-3.19986(2), VMC (Jastrow)
Checked 2026-09-29 · varbench/methods ed31bb0 scripts/TFIsing/square_36_P_3/vmc_jastrow.sh -> programs/vmc_netket/vmc.py, args_parser.py (NetKet 3.13.0 per requirements.txt)
Reported as. VarBench TFIsing/square_36_P_3.md: Energy -115.19484 | Sigma 0.00062 | Energy Variance 0.39779351 | DOF 36 | Einf 0 | Method "Jastrow baseline"
Script builds the instance (periodic square of 36 sites, h = 3, Pauli TFIM) with nk.models.Jastrow (vmc.py lines 118-124); +0.0379 from the exact -115.23270730371848 (above it, as a variational energy must be). sigma check: sqrt(Var/2^20) = sqrt(0.39779351/1048576) = 6.16e-4 vs stored 0.00062 (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 (af1d48f (2022-09-01)); 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 af1d48f; no value was changed and restored.