Decoder comparison
QEC Decoder Leaderboard
Every point below is a real, reproducible benchmark run -- not a self-reported number. Runs are only pooled together when they share the exact same benchmark suite and version, so what you see here is always an apples-to-apples comparison.
Code distance d=3
pymatchingunknown decoderLog y-axis
| Decoder | Physical p | Logical error rate | Std. error | Shots | Run |
|---|---|---|---|---|---|
| pymatching | 0.001 | 0.0003 | 0.0001731790980459247 | 10000 | surface-code-mwpm-baseline-d3-p001 |
| pymatching | 0.002 | 0.0013 | 0.0003603206904966741 | 10000 | surface-code-mwpm-baseline-d3-p002 |
| pymatching | 0.003 | 0.0022 | 0.0004685253461660319 | 10000 | surface-code-mwpm-baseline-d3-p003 |
| pymatching | 0.005 | 0.0067 | 0.0008157885755512883 | 10000 | surface-code-mwpm-baseline-d3-p005 |
| pymatching | 0.008 | 0.0167 | 0.001281448789456684 | 10000 | surface-code-mwpm-baseline-d3-p008 |
| pymatching | 0.01 | 0.0221 | 0.001470088092598535 | 10000 | surface-code-mwpm-baseline-d3-p01 |
| pymatching | 0.015 | 0.0448 | 0.00206864593393843 | 10000 | surface-code-mwpm-baseline-d3-p015 |
| pymatching | 0.02 | 0.0734 | 0.002607919477284527 | 10000 | surface-code-mwpm-baseline-d3-p02 |
| unknown decoder | 0.001 | 0.01 | 0.00995 | 100 | surface-code-mwpm-demo-run Demo |
Code distance d=5
pymatchingLinear y-axis; zero logical-error-rate points shown without fabrication
| Decoder | Physical p | Logical error rate | Std. error | Shots | Run |
|---|---|---|---|---|---|
| pymatching | 0.001 | 0 | 0 | 10000 | surface-code-mwpm-baseline-d5-p001 |
| pymatching | 0.002 | 0.0002 | 0.0001414072133945083 | 10000 | surface-code-mwpm-baseline-d5-p002 |
| pymatching | 0.003 | 0.001 | 0.0003160696125855822 | 10000 | surface-code-mwpm-baseline-d5-p003 |
| pymatching | 0.005 | 0.0044 | 0.0006618640343756413 | 10000 | surface-code-mwpm-baseline-d5-p005 |
| pymatching | 0.008 | 0.0148 | 0.001207516459515149 | 10000 | surface-code-mwpm-baseline-d5-p008 |
| pymatching | 0.01 | 0.0322 | 0.001765309038100695 | 10000 | surface-code-mwpm-baseline-d5-p01 |
| pymatching | 0.015 | 0.0899 | 0.002860384414724706 | 10000 | surface-code-mwpm-baseline-d5-p015 |
| pymatching | 0.02 | 0.1541 | 0.003610445817347215 | 10000 | surface-code-mwpm-baseline-d5-p02 |
Code distance d=7
pymatchingLinear y-axis; zero logical-error-rate points shown without fabrication
| Decoder | Physical p | Logical error rate | Std. error | Shots | Run |
|---|---|---|---|---|---|
| pymatching | 0.001 | 0 | 0 | 10000 | surface-code-mwpm-baseline-d7-p001 |
| pymatching | 0.002 | 0 | 0 | 10000 | surface-code-mwpm-baseline-d7-p002 |
| pymatching | 0.003 | 0.0006 | 0.0002448754785600224 | 10000 | surface-code-mwpm-baseline-d7-p003 |
| pymatching | 0.005 | 0.0026 | 0.0005092386473943233 | 10000 | surface-code-mwpm-baseline-d7-p005 |
| pymatching | 0.008 | 0.0153 | 0.001227432686545376 | 10000 | surface-code-mwpm-baseline-d7-p008 |
| pymatching | 0.01 | 0.0379 | 0.001909544186448693 | 10000 | surface-code-mwpm-baseline-d7-p01 |
| pymatching | 0.015 | 0.134 | 0.003406523154185217 | 10000 | surface-code-mwpm-baseline-d7-p015 |
| pymatching | 0.02 | 0.2436 | 0.004292540506506608 | 10000 | surface-code-mwpm-baseline-d7-p02 |