Lowest-weight fermion-to-qubit encodings for the 2D Hubbard model
Every Pauli factor of a mapped fermionic term costs gates in each Trotter step and in each measurement circuit: synthesizing each term's rotation separately takes 2 (weight - 1) CNOTs, so a lighter encoding needs fewer gates in that standard construction (the board counts weight, not compiled circuits).
Overview
Task
Choose a fermion-to-qubit encoding of N fermionic modes on exactly N qubits that makes a fixed Hubbard-model workload as light as possible. The score is the total Pauli weight of the mapped workload: for every listed term, the number of qubits on which its Pauli string is not the identity, summed over all terms.
- Instance hub2x2: 2 × 2 lattice, N = 8 modes, 20 terms. A debug instance for testing a submission pipeline.
- Instance hub2x4: 2 × 4 lattice, N = 16, 48 terms. Also a debug instance: a short search reaches total weight 120, and nothing lower has been found.
- Instance hub4x4: 4 × 4 lattice, N = 32, 112 terms.
- Instance hub4x8: 4 × 8 lattice, N = 64, 240 terms.
- Instance hub8x8: 8 × 8 lattice, N = 128, 512 terms.
Each lattice has Lx × Ly sites with open boundaries. Site u = y Lx + x carries two spin modes, p = 2u + spin, so N = 2 Lx Ly. Mode p has the two Majorana operators γ2p = ap† + ap and γ2p+1 = i(ap† − ap). The workload is a list of Majorana products:
- for every pair of neighbouring sites u < v (horizontal and vertical, sorted) and each spin, with p = 2u + spin and q = 2v + spin, the two hopping terms [2p, 2q+1] and [2p+1, 2q]. Together they make the hopping operator ap†aq + aq†ap = (i/2)(γ2pγ2q+1 − γ2p+1γ2q);
- for every site u, the on-site term [4u, 4u+1, 4u+2, 4u+3]. It is the centred interaction (nu↑ − 1/2)(nu↓ − 1/2) = −(1/4) γ4uγ4u+1γ4u+2γ4u+3.
The instance file lists every term in this order with a coefficient theta_num/theta_den (−1/32 and
1/32 for the hopping pair, 1/16 on site). The coefficients identify the workload and do not weight the score.
Submission file
JSON structure (N = 4 here, Jordan-Wigner):
{"majoranas": [
{"x": "1000", "z": "0000", "sign": 0},
{"x": "1000", "z": "1000", "sign": 0},
{"x": "0100", "z": "1000", "sign": 0},
{"x": "0100", "z": "1100", "sign": 0},
{"x": "0010", "z": "1100", "sign": 0},
{"x": "0010", "z": "1110", "sign": 0},
{"x": "0001", "z": "1110", "sign": 0},
{"x": "0001", "z": "1111", "sign": 0}]}
This example has four modes and is not an instance; the verifier bundle contains an accepted file for hub8x8.
majoranaslists exactly 2N objects. Entry j is the qubit image of γj. Each entry has exactly the keysx,zandsign.xandzare strings of exactly N characters0or1; character i refers to qubit i. The represented operator is (−1)sign i|x ∧ z| XxZz, so on qubit i the pair (xi, zi) = (0,0), (1,0), (1,1), (0,1) means I, X, Y, Z. The factor i|x ∧ z| makes every image Hermitian.signis the JSON integer 0 or 1. Signs never change acceptance or the score; any choice gives a unitarily equivalent encoding.- Parsing is strict: exact keys at every level, no duplicate keys, no NaN or Infinity, and
true,1.0or"1"are not integers. Other fields (an ordering, mapped terms, a claimed score) are rejected. At most 20 MiB.
Validation
- Every pair of distinct images must anticommute: the number of qubits on which both strings are non-identity and differ must be odd. Equivalently, |xi ∧ zj| + |zi ∧ xj| is odd for all i ≠ j.
- No other condition applies. 2N pairwise anticommuting Pauli strings on N qubits are automatically independent, so they generate the whole Pauli group and represent the canonical anticommutation relations faithfully; no rank certificate is needed. The identity, a string listed twice (with either sign) and any commuting pair are rejected, and the report names the pair.
- The verifier regenerates the workload from Lx and Ly and requires the instance file to match it exactly; a mismatch gives an error and no score.
- Limits: 180 CPU seconds and 1 GB of memory. On the largest instance the check takes a few milliseconds after parsing (it tests 32,640 pairs with integer bit operations). If the limit is ever reached, the result is an error.
Scoring
For every listed term J, the verifier multiplies the images of its Majoranas: xJ and zJ are the XORs of the
members' x and z strings, and the term weight wJ is the number of qubits where xJ or
zJ is 1. Phases and signs do not affect the weight.
weight= the sum of wJ over all listed terms (lower ranks first);maxweight= the largest wJ (lower ranks first among equal totals).
Every listed term counts once. Terms are not merged, cancelled, reordered or weighted by their coefficients. Remaining ties go to the lower submission number. The score describes the encoding alone and says nothing about gate counts or routing cost.
Baseline and reference scores
The verifier's tests check every value in this table. The textbook encodings are starting points, and the QArena baseline already beats all of them.
| Instance | Jordan-Wigner | Fenwick (Bravyi-Kitaev) | Ternary tree | Relabelled Jordan-Wigner | HATT, scored by QArena | QArena baseline |
|---|---|---|---|---|---|---|
| hub2x2 (debug) | 72, 5 | 65, 5 | 70, 5 | 48, 4 | 65, 5 | 48, 3 |
| hub2x4 (debug) | 184, 5 | 182, 7 | 182, 6 | 120, 4 | 173, 6 | 120, 3 |
| hub4x4 | 608, 9 | 522, 9 | 528, 7 | 368, 8 | 484, 8 | 340, 6 |
| hub4x8 | 1,360, 9 | 1,207, 11 | 1,188, 8 | 816, 8 | 1,113, 9 | 772, 6 |
| hub8x8 | 4,608, 17 | 3,039, 13 | 2,804, 9 | 2,592, 16 | 2,611, 11 | 1,884, 7 |
Each cell is weight, maxweight. Jordan-Wigner: γ2j = Z0…Zj−1Xj and γ2j+1 = Z0…Zj−1Yj in the mode order p. Fenwick: the Jordan-Wigner masks, read as column vectors indexed by qubit, become x′ = Bx and z′ = (B−1)Tz, where row j of B is supported on j+1−lowbit(j+1), …, j (the Fenwick form of the Bravyi-Kitaev encoding). The transposed reading, x′ = BTx and z′ = B−1z, is also a valid encoding but a different one: it scores 79, 7; 253, 15; 781, 31; 1,903, 63 and 5,595, 127. Ternary tree: the construction of Jiang et al., expanding the shortest leaf (the first in X < Y < Z order) and labelling qubits in expansion order; Majoranas take the first 2N root-to-leaf paths in that order. Relabelled Jordan-Wigner: Jordan-Wigner after moving mode p = 2(yLx + x) + spin to position spin·N/2 + yLx + x′, with x′ = x on even rows and Lx−1−x on odd rows (a snake order, one block per spin). HATT: QArena's implementation of the Hamiltonian-adaptive ternary tree of Liu et al. (Algorithms 1 and 2, vacuum preserving) on this workload; the paper's own Hubbard table counts a different Hamiltonian, with number terms, so its values do not compare with this board. QArena baseline: simulated annealing followed by steepest descent over two-qubit Clifford conjugations of all 2N images, swaps of two modes and swaps of two Majoranas, starting from relabelled Jordan-Wigner. The baselines are stored encodings, verified like any submission; the search code is not part of the download. For hub8x8 the annealing first ran on one spin species on N/2 qubits. The two species meet only in the on-site terms, so an encoding of one species extends to both spins, by multiplying every spin-down image with the parity of the spin-up block, at exactly twice the one-species weight. Last, the spin-down sites were relabelled by the lattice symmetry that gives the lowest score: every hopping term keeps its weight and only the on-site terms change. On hub8x8 the 180-degree rotation pairs sites with heavy and light on-site parities and lowers the largest term weight from 10 to 7, the largest hopping weight. Relabelling modes alone does not get below 368 on hub4x4. Every run stopped at 120 on hub2x4, at 340 on hub4x4 and at 772 on hub4x8. On hub8x8, short annealing runs ended between 1,884 and 1,918. Long runs on one spin species ended at 942 per species (1,884 in total) from relabelled Jordan-Wigner and from the ternary tree, and at 943 (1,886) from the Fenwick encoding. Long runs on the full problem from relabelled Jordan-Wigner or from the baseline ended between 1,884 and 1,886, some with the two spin species mixed, and none went lower. No three-qubit Clifford conjugation and no transvection by a term image, a Majorana image or a product of two of them lowers any baseline. The simple lower bounds known to QArena are far below these values (each term maps to a non-identity string, and at most two terms can have weight 1 on each qubit, so the total is at least 2T − 2N: 768 on hub8x8), so the ranked instances are open.
Application
Quantum simulation of fermions maps every term of the Hamiltonian to a Pauli string. Its weight sets the cost of the corresponding Trotter rotation (about 2(w − 1) CNOTs plus basis changes for a weight-w string) and the size of the circuits that measure the term. Teams that compile a fixed fermionic workload pick the encoding, and this board compares encodings on exactly N qubits, without ancillas, for the standard 2D Hubbard workload.
Current records
| Instance | QArena baseline | Record (total Pauli weight) | Reference score | Record holder | Status |
|---|---|---|---|---|---|
| 2 × 2 Hubbard lattice (debug)
debug instance, 8 modes on 8 qubits, 20 terms |
48 | 48 | – No published score for this workload |
qarena-baseline (QArena baseline)(baseline) | QArena baseline |
| 2 × 4 Hubbard lattice (debug)
debug instance, 16 modes on 16 qubits, 48 terms |
120 | 120 | – No published score for this workload |
qarena-baseline (QArena baseline)(baseline) | QArena baseline |
| 4 × 4 Hubbard lattice
32 modes on 32 qubits, 112 terms |
340 | 340 | – No published score for this workload |
qarena-baseline (QArena baseline)(baseline) | QArena baseline |
| 4 × 8 Hubbard lattice
64 modes on 64 qubits, 240 terms |
772 | 772 | – No published score for this workload |
qarena-baseline (QArena baseline)(baseline) | QArena baseline |
| 8 × 8 Hubbard lattice
128 modes on 128 qubits, 512 terms |
1,884 | 1,884 | – No published score for this workload |
qarena-baseline (QArena baseline)(baseline) | QArena baseline |
Reference scores come from cited papers or derived constructions. Only accepted submissions can hold a QArena record.