All checks were successful
wai-quantum command line / does this change touch it (push) Successful in 27s
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (push) Successful in 11s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (push) Successful in 38s
wai-quantum command line / command line · linux (push) Successful in 35m51s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (push) Successful in 14m31s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (push) Successful in 20m2s
wai-quantum command line / command line · macos (push) Successful in 5m23s
The committed runs, regenerated with the widened corpus at two jobs on each host, as the nightly run makes them: macOS on arm64 (M3 Ultra) pass 1973, known 16, not run 16, refused 11 as listed, in 66 minutes; Linux on x86_64 (32 threads) pass 1970, known 12, not run 17, refused 11 as listed, in 77 minutes. No check failed on either. The README's tables are written from them (tools/report.py). The single-precision finding at 20 qubits shows on macOS on arm64 only: on Linux on x86_64, with the same pinned versions, the distance is 5.5e-7 and the run records the listed disagreement as no longer showing. The finding says so. The nightly full tier's bound is 190 minutes, from these runs. Co-Authored-By: Claude Opus 5.5 <[email protected]>
29 lines
3.2 KiB
JSON
29 lines
3.2 KiB
JSON
{
|
|
"about": "Disagreements of other engines with the exact reference, each with a reproducer committed beside it (corpus/reproducers/) that states every claim made here as a case and checks it. tools/compare.py reports a failing check that matches one as `known`, not as a failure of the run, and reruns its reproducer. The engine under test may not be listed here: a failure of its checks is always a failure.",
|
|
"disagreements": [
|
|
{
|
|
"entry": "measure_twice",
|
|
"engine": "ddsim.statevector",
|
|
"quantity": ["deviation of an outcome's count", "L1 distance from the exact distribution"],
|
|
"right": "the exact reference: a second measurement of a qubit in the same basis repeats the first, so only 00 and 11 occur. Every other engine that ran this program met it (the results files).",
|
|
"finding": "MQT DDSIM 2.7.0's qasm_simulator, given h q[0]; c[0] = measure q[0]; c[1] = measure q[0]; with nothing between the two measurements, returns 00 and 10: c[0] is never set. With x in place of h it gives 10 on every shot; with a barrier between the measurements, 00 and 11; with c[1] measured first and c[0] second, ValueError [changePermutation]. Each is a case of the reproducer, with the circuit built in Qiskit 2.6.2.",
|
|
"reproducer": "corpus/reproducers/ddsim_repeated_measurement.py"
|
|
},
|
|
{
|
|
"entry": "repeat_until_success",
|
|
"engine": "ddsim.statevector",
|
|
"quantity": "counts",
|
|
"right": "the exact reference, which every other engine that ran this program met (the results files)",
|
|
"finding": "MQT DDSIM 2.7.0's qasm_simulator raises ValueError [changePermutation] on this program (two qubits; qubit 1 measured three times in the middle, with gates between and an x conditioned on each reading; four classical bits) and gives no counts. It raises the same without the conditioned x, and on qubit 1 measured, h, measured again, then qubit 0 measured into a third bit; with no third bit it gives counts. Each is a case of the reproducer.",
|
|
"reproducer": "corpus/reproducers/ddsim_feedback_rounds.py"
|
|
},
|
|
{
|
|
"entry": "dyadic_n20_k16",
|
|
"engine": "qsim.statevector",
|
|
"quantity": ["distance from the exact state"],
|
|
"right": "the integer reference: every double-precision engine and the bit-exact method met it within their bounds on this circuit (the results files), and the same construction on 16 qubits meets the single-precision bound.",
|
|
"finding": "On macOS on arm64, qsim 0.22.1 (single precision, gates fused to two qubits, one thread), on 148 rotations by m/2^16 of a turn and cz gates on 20 qubits, gives a state 2.3e-4 from the exact one, past the single-precision bound of 1.9e-4 that 148 gates allow (tools/tolerance.py), and almost all of it is the norm: 1.00023. Its run of the first 60 gates has a norm larger than its run of 59 by 6e-5, where the 60th gate applied by hand in single precision to the 59 gates' state moves the norm by under 10^-6. Cirq 1.7.0's own complex64 simulator gives the same distance. On 16 qubits the same construction stays within its bound. On Linux on x86_64, with the same pinned versions, neither shows it: qsim's distance is 5.5e-7 and the norm moves by 1e-8. Each is a case of the reproducer, which builds the circuit with the corpus's own adapter.",
|
|
"reproducer": "corpus/reproducers/qsim_single_precision_norm.py"
|
|
}
|
|
]
|
|
}
|