Fewest CX gates for a Hubbard Trotter step of Pauli rotations
On current hardware, two-qubit gates take most of the time and cause most of the errors of a Hamiltonian-simulation circuit. A product-formula step is repeated many times, so a CX saved in one step is saved in every step.
Verifier
The verifier checks your file and computes its score. The server runs the same code on every submission.
Download the bundle, extract it and run these commands from its folder (the one holding verifiers/). The bundle
includes an accepted example file.
python3 -m pip install -r requirements.txt python3 -I verifiers/run_one.py pnet pn-hub8 example/pn-hub8.json
The verifier prints one line of JSON with a status: accepted with the score, rejected with the reason,
or error if verification could not finish.
Files
| File | Role |
|---|---|
| run_one.py | Runs the verifier |
| common.py | Shared helpers |
| pnet.py | Validates submissions for this problem |
How verification works
The verifier follows the Clifford gates of the circuit with an exact signed frame: for every qubit q it keeps the Pauli operators that X_q and Z_q become when pulled back through the Clifford gates so far, as integer bit strings with a phase. At each rotation R(i, q, s) it checks that s times the pulled-back Z_q equals term i exactly, sign included, that term i has not appeared before, and that every earlier term that anticommutes with it has already appeared. At the end every X_q and Z_q must be back to +X_q and +Z_q. Together these conditions mean that the circuit equals the target product for every value of the angles. A second program, written independently from the specification, pulls each rotation axis back gate by gate as a string of Pauli letters and checks small circuits against explicit unitary matrices; it agreed with the verifier on every test file (see the statement for the counts).