qec lab

Coherent errors on the surface code, exactly.

Put a coherent rotation rz(ε) on every data qubit of a rotated surface code, extract the syndrome, correct with minimum-weight matching, and ask what the logical qubit sees. A stabiliser simulator cannot pose the question; a dense one stops near 25 qubits; the research codes that can (fermionic linear optics, to d=37) are not products. Here the syndrome-resolved logical channel is one transform over the stabiliser group — 8,192 terms at d=5 instead of 225 amplitudes — exact, hosted, behind an API, and it matches a dense projection to 2.2e‑16 where one exists.

measured · code capacity, minimum-weight matching

Threshold curves at any distance, milliseconds per shot.

1e-21e-10.040.060.080.100.120.14 logical error p_L (log) physical error p (depolarising, code capacity) d=3d=5d=7d=9

What the picture is

Logical error rate against physical depolarising rate for d = 3, 5, 7, 9 (9 to 81 data qubits), 3,000 shots per point, Pauli-frame simulation with a minimum-weight decoder. Below threshold the curves fall with distance: at p = 0.04 the logical rate goes 0.019 → 0.0073 → 0.0023 → 0.0017. They cross near p ≈ 0.14, where the literature puts this noise model.

Cost per shot: 0.04 ms at d=3, 4.3 ms at d=9, dominated by the decoder. The frame itself is O(n).

Frame algebra checked against a dense code state at d=3: 0 mismatches in 300 random fault patterns.

coherent errors

The number stabiliser tools cannot give you.

DistanceεpL coherentpL Pauli-twirledRatio
3 (9 qubits)0.103.08e-41.11e-42.77×
30.302.20e-28.22e-32.68×
5 (25 qubits)0.101.89e-54.47e-64.23×
50.301.09e-22.75e-33.98×
7 (49 qubits, offline)0.052.4e-151.5e-1616× (400-syndrome sample)

Exact at d=3 and d=5 (every syndrome enumerated; normalisation 1.000000). d=7 is a 33-million-term transform with syndromes importance-sampled; it runs as an offline job. Coherent errors add within a syndrome class, which is why the ratio to the twirled rate grows with distance.

what is not here yet

Stated, so you do not have to guess.

  • Threshold sweeps on the live route use a union-find decoder under code-capacity or phenomenological noise (d rounds with measurement errors), d ≤ 11, up to 4,000 shots per point. It tracks the minimum-weight-matching curves above within a factor of two below threshold; the matching curves themselves are the offline reference.
  • Circuit-level noise (faulty two-qubit gates inside the extraction circuit) is not on the live route yet.
  • Only Z-type coherent rotations. Mixed-axis coherent errors break the single-transform structure and are an open problem here as elsewhere.
  • d=7 coherent runs offline only; d=9 coherent is a 241-term transform and out of reach of this construction. The literature reaches d=19 (Márton–Asbóth 2023) and d=37 (Bravyi et al. 2018) with fermionic linear optics; that is a chart change, the same one the observables route already makes for matchgate circuits, and it is the next step here. What no one sells today is the exact channel as an API next to sweeps.

scope

What it does, and what it does not.

Stating the boundary next to the result is the point. In a field where every benchmark is self-reported, the vendor that publishes its own limits is the one worth checking.

In class

  • Exact expectation values and typed observables on structured circuits, at widths no state vector holds.
  • Local observables on deep circuits: exact through the light cone (depth 5 in a 1D brickwork), certified beyond it — the cost is set by depth, not width (measured n=12 to 1,000).
  • Condensed-matter quenches: certified observable transport (TFIM to 100 sites within 4e-7 of an MPS oracle) and exact matchgate dynamics in the fermionic chart (TFIM order parameter at 200 sites in 7.7 s).
  • QEC: code-capacity thresholds at any distance in O(n) per shot, and the exact coherent-error logical channel of the rotated surface code at d=3 and d=5.
  • Analytic ground truth a third party can check without trusting us.

Out of class

  • Full-distribution shot sampling. No counts are produced; `materialized_gate_count` is 0 by construction.
  • Scrambled circuits at depth of order the width: the observable fills the 4^n Pauli space (65,535 words at n=8, depth 14). That is the #P wall on the readout side, and no representation moves it.
  • Interacting spin models at long times (XXZ, Hubbard): the value is returned with its certificate, and past 24 sites the certificate stops certifying.
  • Any claim about hardware fidelity. This is a classical engine, not a QPU.

Sweep ε on d=5, or run your own threshold curve.

Sixteen angles per call, two credits each; sweeps at one credit per 500 shot-rounds. The free tier covers both.

Start free