Compare commits
71 Commits
87e48b5ac6
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 4dfb3a7c35 | |||
| 10d791fe04 | |||
| 06852b8e62 | |||
| 400dc47df0 | |||
| ece8fc1715 | |||
| 56e3a0e5ca | |||
| 8d6df8a79d | |||
| c41ac9f61f | |||
| a41e0b05fe | |||
| 1edc3f301a | |||
| a977860ddb | |||
| 7bf1b2f8d7 | |||
| 72acea0321 | |||
| f1a5aaf3f8 | |||
| 23828b671a | |||
| 09893d527e | |||
| 25789a6bd3 | |||
| 001ca614bb | |||
| 9e5eaaf985 | |||
| 17191382cf | |||
| aa907ef4a3 | |||
| 12036caa91 | |||
| 4c206ae9c4 | |||
| 01a754e5da | |||
| 81292a2644 | |||
| 73958d7850 | |||
| 18e3683502 | |||
| 1eb4db289e | |||
| f56cd05890 | |||
| e9d996155d | |||
| 5e26179154 | |||
| 9ae98e07d7 | |||
| 728c8560c7 | |||
| dd30b4fc0d | |||
| 6e53ed5d1b | |||
| 0016df0004 | |||
| 9ca2698d38 | |||
| 72461fe555 | |||
| 5fabe2e146 | |||
| a90458dd8a | |||
| d2960b8f0e | |||
| 6b1821fd6b | |||
| 5687499b5b | |||
| f4718b67e7 | |||
| 0848e5dea6 | |||
| 7e18985b86 | |||
| 152e784546 | |||
| 15190ccf48 | |||
| 606d68e2c1 | |||
| 47493a6beb | |||
| 76a91c7d32 | |||
| 1632f19c47 | |||
| 3d3556689e | |||
| 4555570665 | |||
| 3b7618e1d1 | |||
| 635c0aab18 | |||
| c555151b9d | |||
| 05348579f0 | |||
| 1059b4d98f | |||
| 682eeb644e | |||
| 27f13c1db0 | |||
| 8071c9f485 | |||
| 94e4c9f8c9 | |||
| 64cf0e2269 | |||
| 76270695b9 | |||
| 62b4d4838b | |||
| 0aa425ae41 | |||
| b73a66649c | |||
| d7f05dc5b9 | |||
| 11178436b6 | |||
| dc283012ba |
Submodule lib/cel-thesis updated: f783ba56a1...f4a0e66b88
@@ -3,6 +3,16 @@
|
||||
long=quantum error correction
|
||||
}
|
||||
|
||||
\DeclareAcronym{dem}{
|
||||
short=DEM,
|
||||
long=detector error model
|
||||
}
|
||||
|
||||
\DeclareAcronym{ler}{
|
||||
short=LER,
|
||||
long=logical error rate
|
||||
}
|
||||
|
||||
\DeclareAcronym{bp}{
|
||||
short=BP,
|
||||
long=belief propagation
|
||||
@@ -13,11 +23,26 @@
|
||||
long=belief propagation with guided decimation
|
||||
}
|
||||
|
||||
\DeclareAcronym{gdg}{
|
||||
short=GDG,
|
||||
long=guided decimation guessing
|
||||
}
|
||||
|
||||
\DeclareAcronym{nms}{
|
||||
short=NMS,
|
||||
long=normalized min-sum
|
||||
}
|
||||
|
||||
\DeclareAcronym{osd}{
|
||||
short=OSD,
|
||||
long=ordered statistics decoding
|
||||
}
|
||||
|
||||
\DeclareAcronym{aed}{
|
||||
short=AED,
|
||||
long=automorphism ensemble decoding
|
||||
}
|
||||
|
||||
\DeclareAcronym{bsc}{
|
||||
short=BSC,
|
||||
long=binary symetric channel
|
||||
@@ -102,3 +127,18 @@
|
||||
short=BB,
|
||||
long=bivariate bicycle
|
||||
}
|
||||
|
||||
\DeclareAcronym{hgp}{
|
||||
short=HGP,
|
||||
long=hypergraph product
|
||||
}
|
||||
|
||||
\DeclareAcronym{lp}{
|
||||
short=LP,
|
||||
long=lifted-product
|
||||
}
|
||||
|
||||
\DeclareAcronym{bpc}{
|
||||
short=BPC,
|
||||
long=balanced product code
|
||||
}
|
||||
|
||||
@@ -7,19 +7,20 @@
|
||||
language = {en},
|
||||
number = {3},
|
||||
journal = {Mathematical Proceedings of the Cambridge Philosophical Society},
|
||||
author = {Dirac, P. a. M.},
|
||||
author = {Dirac, P. A. M.},
|
||||
month = jul,
|
||||
year = {1939},
|
||||
pages = {416--418},
|
||||
}
|
||||
|
||||
@article{huang_improved_2023,
|
||||
title = {Improved {Noisy} {Syndrome} {Decoding} of {Quantum} {LDPC} {Codes} with {Sliding} {Window}},
|
||||
@misc{huang_improved_2023,
|
||||
title = {Improved Noisy Syndrome Decoding of Quantum {LDPC} Codes with Sliding Window},
|
||||
doi = {10.48550/arXiv.2311.03307},
|
||||
publisher = {arXiv},
|
||||
author = {Huang, Shilin and Puri, Shruti},
|
||||
month = nov,
|
||||
year = {2023},
|
||||
howpublished = {arXiv:2311.03307},
|
||||
}
|
||||
|
||||
@article{huang_increasing_2024,
|
||||
@@ -35,17 +36,18 @@
|
||||
pages = {012453},
|
||||
}
|
||||
|
||||
@article{xu_batched_2025,
|
||||
@misc{xu_batched_2025,
|
||||
title = {Batched high-rate logical operations for quantum {LDPC} codes},
|
||||
doi = {10.48550/arXiv.2510.06159},
|
||||
publisher = {arXiv},
|
||||
author = {Xu, Qian and Zhou, Hengyun and Bluvstein, Dolev and Cain, Madelyn and Kalinowski, Marcin and Preskill, John and Lukin, Mikhail D. and Maskara, Nishad},
|
||||
month = oct,
|
||||
year = {2025},
|
||||
howpublished = {arXiv:2510.06159},
|
||||
}
|
||||
|
||||
@article{gidney_stability_2022,
|
||||
title = {Stability {Experiments}: {The} {Overlooked} {Dual} of {Memory} {Experiments}},
|
||||
title = {Stability Experiments: The Overlooked Dual of Memory Experiments},
|
||||
volume = {6},
|
||||
issn = {2521-327X},
|
||||
shorttitle = {Stability {Experiments}},
|
||||
@@ -57,30 +59,33 @@
|
||||
pages = {786},
|
||||
}
|
||||
|
||||
@article{koutsioumpas_colour_2025,
|
||||
title = {Colour {Codes} {Reach} {Surface} {Code} {Performance} using {Vibe} {Decoding}},
|
||||
@misc{koutsioumpas_colour_2025,
|
||||
title = {Colour Codes Reach Surface Code Performance using Vibe Decoding},
|
||||
doi = {10.48550/arXiv.2508.15743},
|
||||
publisher = {arXiv},
|
||||
author = {Koutsioumpas, Stergios and Noszko, Tamas and Sayginel, Hasan and Webster, Mark and Roffe, Joschka},
|
||||
month = aug,
|
||||
year = {2025},
|
||||
howpublished = {arXiv:2508.15743},
|
||||
}
|
||||
|
||||
@article{koutsioumpas_automorphism_2025,
|
||||
title = {Automorphism {Ensemble} {Decoding} of {Quantum} {LDPC} {Codes}},
|
||||
@misc{koutsioumpas_automorphism_2025,
|
||||
title = {Automorphism Ensemble Decoding of Quantum {LDPC} Codes},
|
||||
language = {en},
|
||||
author = {Koutsioumpas, Stergios and Sayginel, Hasan and Webster, Mark and Browne, Dan E},
|
||||
month = mar,
|
||||
year = {2025},
|
||||
howpublished = {arXiv:2503.01738},
|
||||
}
|
||||
|
||||
@article{gottesman_heisenberg_1998,
|
||||
title = {The {Heisenberg} {Representation} of {Quantum} {Computers}},
|
||||
@misc{gottesman_heisenberg_1998,
|
||||
title = {The Heisenberg Representation of Quantum Computers},
|
||||
doi = {10.48550/arXiv.quant-ph/9807006},
|
||||
publisher = {arXiv},
|
||||
author = {Gottesman, Daniel},
|
||||
month = jul,
|
||||
year = {1998},
|
||||
howpublished = {arXiv:quant-ph/9807006},
|
||||
}
|
||||
|
||||
@article{gidney_stim_2021,
|
||||
@@ -98,8 +103,8 @@
|
||||
}
|
||||
|
||||
@phdthesis{higgott_practical_2024,
|
||||
type = {Doctoral},
|
||||
title = {Practical and {Efficient} {Quantum} {Error} {Correction}},
|
||||
type = {Ph.D. {Thesis}},
|
||||
title = {Practical and Efficient Quantum Error Correction},
|
||||
copyright = {open},
|
||||
language = {eng},
|
||||
school = {UCL (University College London)},
|
||||
@@ -117,16 +122,17 @@
|
||||
}
|
||||
|
||||
@misc{gong_toward_2024,
|
||||
title = {Toward {Low}-latency {Iterative} {Decoding} of {QLDPC} {Codes} {Under} {Circuit}-{Level} {Noise}},
|
||||
title = {Toward Low-latency Iterative Decoding of {QLDPC} Codes Under Circuit-Level Noise},
|
||||
language = {en},
|
||||
journal = {arXiv.org},
|
||||
author = {Gong, Anqi and Cammerer, Sebastian and Renes, Joseph M.},
|
||||
month = mar,
|
||||
howpublished = {arXiv:2403.18901},
|
||||
year = {2024},
|
||||
}
|
||||
|
||||
@article{miao_quaternary_2025,
|
||||
title = {Quaternary {Neural} {Belief} {Propagation} {Decoding} of {Quantum} {LDPC} {Codes} with {Overcomplete} {Check} {Matrices}},
|
||||
title = {Quaternary Neural Belief Propagation Decoding of Quantum {LDPC} Codes with Overcomplete Check Matrices},
|
||||
volume = {13},
|
||||
issn = {2169-3536},
|
||||
doi = {10.1109/ACCESS.2025.3539475},
|
||||
@@ -138,7 +144,7 @@
|
||||
}
|
||||
|
||||
@misc{tsouchlos_ccam_2024,
|
||||
title = {{CCAM} {Summary}},
|
||||
title = {{CCAM} Summary},
|
||||
author = {Tsouchlos, Andreas},
|
||||
month = oct,
|
||||
year = {2024},
|
||||
@@ -158,7 +164,7 @@
|
||||
}
|
||||
|
||||
@book{griffiths_introduction_1995,
|
||||
title = {Introduction to {Quantum} {Mechanics}},
|
||||
title = {Introduction to Quantum Mechanics},
|
||||
isbn = {0-13-124405-1},
|
||||
language = {en},
|
||||
publisher = {Prentice Hall},
|
||||
@@ -167,7 +173,7 @@
|
||||
}
|
||||
|
||||
@misc{bradley_tensor_2018,
|
||||
title = {The {Tensor} {Product}, {Demystified}},
|
||||
title = {The Tensor Product, Demystified},
|
||||
author = {Bradley, Tai-Danae},
|
||||
month = nov,
|
||||
year = {2018},
|
||||
@@ -175,7 +181,7 @@
|
||||
|
||||
@book{nielsen_quantum_2010,
|
||||
address = {Cambridge},
|
||||
title = {Quantum {Computation} and {Quantum} {Information}: 10th {Anniversary} {Edition}},
|
||||
title = {Quantum Computation and Quantum Information: 10th Anniversary Edition},
|
||||
isbn = {978-0-511-97666-7},
|
||||
shorttitle = {Quantum {Computation} and {Quantum} {Information}},
|
||||
doi = {10.1017/CBO9780511976667},
|
||||
@@ -187,7 +193,7 @@
|
||||
}
|
||||
|
||||
@article{geiselhart_automorphism_2021,
|
||||
title = {Automorphism {Ensemble} {Decoding} of {Reed}–{Muller} {Codes}},
|
||||
title = {Automorphism Ensemble Decoding of Reed–Muller Codes},
|
||||
volume = {69},
|
||||
issn = {1558-0857},
|
||||
doi = {10.1109/TCOMM.2021.3098798},
|
||||
@@ -199,19 +205,20 @@
|
||||
pages = {6424--6438},
|
||||
}
|
||||
|
||||
@article{derks_designing_2025,
|
||||
@misc{derks_designing_2025,
|
||||
title = {Designing fault-tolerant circuits using detector error models},
|
||||
doi = {10.48550/arXiv.2407.13826},
|
||||
publisher = {arXiv},
|
||||
author = {Derks, Peter-Jan H. S. and Townsend-Teague, Alex and Burchards, Ansgar G. and Eisert, Jens},
|
||||
month = oct,
|
||||
year = {2025},
|
||||
howpublished = {arXiv:2407.13826},
|
||||
}
|
||||
|
||||
@phdthesis{klinke_neural_2025,
|
||||
address = {Karlsruhe},
|
||||
type = {Bachelor's {Thesis}},
|
||||
title = {Neural {Belief} {Propagation} {Ensemble} {Decoding} of {Quantum} {LDPC} {Codes}},
|
||||
title = {Neural Belief Propagation Ensemble Decoding of Quantum {LDPC} Codes},
|
||||
language = {English},
|
||||
school = {KIT},
|
||||
author = {Klinke, Jeremi},
|
||||
@@ -219,14 +226,15 @@
|
||||
year = {2025},
|
||||
}
|
||||
|
||||
@article{camps-moreno_toward_2024,
|
||||
title = {Toward {Quantum} {CSS}-{T} {Codes} from {Sparse} {Matrices}},
|
||||
@misc{camps-moreno_toward_2024,
|
||||
title = {Toward Quantum {CSS}-{T} Codes from Sparse Matrices},
|
||||
doi = {10.48550/arXiv.2406.00425},
|
||||
abstract = {CSS-T codes were recently introduced as quantum error-correcting codes that respect a transversal gate. A CSS-T code depends on a pair \$(C\_1, C\_2)\$ of binary linear codes \$C\_1\$ and \$C\_2\$ that satisfy certain conditions. We prove that \$C\_1\$ and \$C\_2\$ form a CSS-T pair if and only if \$C\_2 {\textbackslash}subset {\textbackslash}operatorname\{Hull\}(C\_1) {\textbackslash}cap {\textbackslash}operatorname\{Hull\}(C\_1{\textasciicircum}2)\$, where the hull of a code is the intersection of the code with its dual. We show that if \$(C\_1,C\_2)\$ is a CSS-T pair, and the code \$C\_2\$ is degenerated on \${\textbackslash}\{i{\textbackslash}\}\$, meaning that the \$i{\textasciicircum}\{th\}\$-entry is zero for all the elements in \$C\_2\$, then the pair of punctured codes \$(C\_1{\textbar}\_i,C\_2{\textbar}\_i)\$ is also a CSS-T pair. Finally, we provide Magma code based on our results and quasi-cyclic codes as a step toward finding quantum LDPC or LDGM CSS-T codes computationally.},
|
||||
publisher = {arXiv},
|
||||
author = {Camps-Moreno, Eduardo and López, Hiram H. and Matthews, Gretchen L. and McMillon, Emily},
|
||||
month = jun,
|
||||
year = {2024},
|
||||
howpublished = {arXiv:2406.00425},
|
||||
}
|
||||
|
||||
@article{roffe_quantum_2019,
|
||||
@@ -244,13 +252,14 @@
|
||||
pages = {226--245},
|
||||
}
|
||||
|
||||
@article{gottesman_introduction_2009,
|
||||
title = {An {Introduction} to {Quantum} {Error} {Correction} and {Fault}-{Tolerant} {Quantum} {Computation}},
|
||||
@misc{gottesman_introduction_2009,
|
||||
title = {An Introduction to Quantum Error Correction and Fault-Tolerant Quantum Computation},
|
||||
doi = {10.48550/arXiv.0904.2557},
|
||||
publisher = {arXiv},
|
||||
author = {Gottesman, Daniel},
|
||||
month = apr,
|
||||
year = {2009},
|
||||
howpublished = {arXiv:0904.2557},
|
||||
}
|
||||
|
||||
@article{gottesman_theory_1998,
|
||||
@@ -266,35 +275,38 @@
|
||||
pages = {127--137},
|
||||
}
|
||||
|
||||
@article{calderbank_quantum_1997,
|
||||
title = {Quantum {Error} {Correction} via {Codes} over {GF}(4)},
|
||||
@misc{calderbank_quantum_1997,
|
||||
title = {Quantum Error Correction via Codes over {GF}(4)},
|
||||
doi = {10.48550/arXiv.quant-ph/9608006},
|
||||
publisher = {arXiv},
|
||||
author = {Calderbank, A. R. and Rains, E. M. and Shor, P. W. and Sloane, N. J. A.},
|
||||
month = sep,
|
||||
year = {1997},
|
||||
howpublished = {arXiv:quant-ph/9608006},
|
||||
}
|
||||
|
||||
@article{gottesman_stabilizer_1997,
|
||||
title = {Stabilizer {Codes} and {Quantum} {Error} {Correction}},
|
||||
@misc{gottesman_stabilizer_1997,
|
||||
title = {Stabilizer Codes and Quantum Error Correction},
|
||||
doi = {10.48550/arXiv.quant-ph/9705052},
|
||||
publisher = {arXiv},
|
||||
author = {Gottesman, Daniel},
|
||||
month = may,
|
||||
year = {1997},
|
||||
howpublished = {Ph.D. {Thesis}, arXiv:quant-ph/9705052},
|
||||
}
|
||||
|
||||
@article{shor_fault-tolerant_1997,
|
||||
@misc{shor_fault-tolerant_1997,
|
||||
title = {Fault-tolerant quantum computation},
|
||||
doi = {10.48550/arXiv.quant-ph/9605011},
|
||||
publisher = {arXiv},
|
||||
author = {Shor, Peter W.},
|
||||
month = mar,
|
||||
year = {1997},
|
||||
howpublished = {arXiv:quant-ph/9605011},
|
||||
}
|
||||
|
||||
@article{divincenzo_fault-tolerant_1996,
|
||||
title = {Fault-{Tolerant} {Error} {Correction} with {Efficient} {Quantum} {Codes}},
|
||||
title = {Fault-Tolerant Error Correction with Efficient Quantum Codes},
|
||||
volume = {77},
|
||||
issn = {0031-9007, 1079-7114},
|
||||
doi = {10.1103/PhysRevLett.77.3260},
|
||||
@@ -335,7 +347,7 @@
|
||||
}
|
||||
|
||||
@article{terhal_quantum_2015,
|
||||
title = {Quantum {Error} {Correction} for {Quantum} {Memories}},
|
||||
title = {Quantum Error Correction for Quantum Memories},
|
||||
volume = {87},
|
||||
issn = {0034-6861, 1539-0756},
|
||||
doi = {10.1103/RevModPhys.87.307},
|
||||
@@ -353,7 +365,7 @@
|
||||
title = {Guidelines for snowballing in systematic literature studies and a replication in software engineering},
|
||||
isbn = {978-1-4503-2476-2},
|
||||
doi = {10.1145/2601248.2601268},
|
||||
booktitle = {Proceedings of the 18th {International} {Conference} on {Evaluation} and {Assessment} in {Software} {Engineering}},
|
||||
booktitle = {Proceedings of the 18th International Conference on Evaluation and Assessment in Software Engineering},
|
||||
publisher = {Association for Computing Machinery},
|
||||
author = {Wohlin, Claes},
|
||||
month = may,
|
||||
@@ -374,20 +386,21 @@
|
||||
pages = {83--84},
|
||||
}
|
||||
|
||||
@article{blume-kohout_estimating_2025,
|
||||
@misc{blume-kohout_estimating_2025,
|
||||
title = {Estimating detector error models from syndrome data},
|
||||
doi = {10.48550/arXiv.2504.14643},
|
||||
publisher = {arXiv},
|
||||
author = {Blume-Kohout, Robin and Young, Kevin},
|
||||
month = apr,
|
||||
year = {2025},
|
||||
howpublished = {arXiv:2504.14643},
|
||||
}
|
||||
|
||||
@inproceedings{chatterjee_quantum_2023,
|
||||
title = {Quantum {Error} {Correction} {For} {Dummies}},
|
||||
title = {Quantum Error Correction For Dummies},
|
||||
volume = {01},
|
||||
doi = {10.1109/QCE57702.2023.00017},
|
||||
booktitle = {2023 {IEEE} {International} {Conference} on {Quantum} {Computing} and {Engineering} ({QCE})},
|
||||
booktitle = {2023 {IEEE} International Conference on Quantum Computing and Engineering ({QCE})},
|
||||
author = {Chatterjee, Avimita and Phalak, Koustubh and Ghosh, Swaroop},
|
||||
month = sep,
|
||||
year = {2023},
|
||||
@@ -395,7 +408,7 @@
|
||||
}
|
||||
|
||||
@inproceedings{petersen_systematic_2008,
|
||||
title = {Systematic {Mapping} {Studies} in {Software} {Engineering}},
|
||||
title = {Systematic Mapping Studies in Software Engineering},
|
||||
doi = {10.14236/ewic/EASE2008.8},
|
||||
language = {en},
|
||||
publisher = {BCS Learning \& Development},
|
||||
@@ -405,7 +418,7 @@
|
||||
}
|
||||
|
||||
@article{postler_demonstration_2024,
|
||||
title = {Demonstration of {Fault}-{Tolerant} {Steane} {Quantum} {Error} {Correction}},
|
||||
title = {Demonstration of Fault-Tolerant Steane Quantum Error Correction},
|
||||
volume = {5},
|
||||
doi = {10.1103/PRXQuantum.5.030326},
|
||||
number = {3},
|
||||
@@ -418,7 +431,7 @@
|
||||
}
|
||||
|
||||
@article{cao_exact_2025,
|
||||
title = {Exact {Decoding} of {Quantum} {Error}-{Correcting} {Codes}},
|
||||
title = {Exact Decoding of Quantum Error-Correcting Codes},
|
||||
volume = {134},
|
||||
doi = {10.1103/PhysRevLett.134.190603},
|
||||
number = {19},
|
||||
@@ -431,13 +444,14 @@
|
||||
}
|
||||
|
||||
@misc{beni_tesseract_2025,
|
||||
title = {Tesseract: {A} {Search}-{Based} {Decoder} for {Quantum} {Error} {Correction}},
|
||||
title = {Tesseract: {A} Search-Based Decoder for Quantum Error Correction},
|
||||
shorttitle = {Tesseract},
|
||||
doi = {10.48550/arXiv.2503.10988},
|
||||
publisher = {arXiv},
|
||||
author = {Beni, Laleh Aghababaie and Higgott, Oscar and Shutty, Noah},
|
||||
month = aug,
|
||||
year = {2025},
|
||||
howpublished = {arXiv:2503.10988},
|
||||
}
|
||||
|
||||
@article{bausch_learning_2024,
|
||||
@@ -457,12 +471,13 @@
|
||||
}
|
||||
|
||||
@misc{bhardwaj_adaptive_2025,
|
||||
title = {Adaptive {Estimation} of {Drifting} {Noise} in {Quantum} {Error} {Correction}},
|
||||
title = {Adaptive Estimation of Drifting Noise in Quantum Error Correction},
|
||||
doi = {10.48550/arXiv.2511.09491},
|
||||
publisher = {arXiv},
|
||||
author = {Bhardwaj, Devansh and Takou, Evangelia and Lin, Yingjia and Brown, Kenneth R.},
|
||||
month = nov,
|
||||
year = {2025},
|
||||
howpublished = {arXiv:2511.09491},
|
||||
}
|
||||
|
||||
@article{roffe_decoding_2020,
|
||||
@@ -492,7 +507,7 @@
|
||||
}
|
||||
|
||||
@article{bausch_learning_2024-1,
|
||||
title = {Learning to {Decode} the {Surface} {Code} with a {Recurrent}, {Transformer}-{Based} {Neural} {Network}},
|
||||
title = {Learning to Decode the Surface Code with a Recurrent, Transformer-Based Neural Network},
|
||||
volume = {635},
|
||||
issn = {0028-0836, 1476-4687},
|
||||
doi = {10.1038/s41586-024-08148-8},
|
||||
@@ -511,15 +526,17 @@
|
||||
author = {Lin, Hsiang-Ku and Lim, Pak Kau and Kovalev, Alexey A. and Pryadko, Leonid P.},
|
||||
month = aug,
|
||||
year = {2025},
|
||||
howpublished = {arXiv:2506.16910},
|
||||
}
|
||||
|
||||
@misc{fan_accelerating_2025,
|
||||
title = {Accelerating {BP}-{OSD} {Decoder} for {QLDPC} {Codes} with {Local} {Syndrome}-{Based} {Preprocessing}},
|
||||
title = {Accelerating {BP}-{OSD} Decoder for {QLDPC} Codes with Local Syndrome-Based Preprocessing},
|
||||
doi = {10.48550/arXiv.2509.01892},
|
||||
publisher = {arXiv},
|
||||
author = {Fan, Wenxuan and Suzuki, Yasunari and Ravi, Gokul Subramanian and Ueno, Yosuke and Inoue, Koji and Tanimoto, Teruo},
|
||||
month = sep,
|
||||
year = {2025},
|
||||
howpublished = {arXiv:2509.01892},
|
||||
}
|
||||
|
||||
@misc{senior_scalable_2025,
|
||||
@@ -529,14 +546,16 @@
|
||||
author = {Senior, Andrew W. and Edlich, Thomas and Heras, Francisco J. H. and Zhang, Lei M. and Higgott, Oscar and Spencer, James S. and Applebaum, Taylor and Blackwell, Sam and Ledford, Justin and Žemgulytė, Akvilė and Žídek, Augustin and Shutty, Noah and Cowie, Andrew and Li, Yin and Holland, George and Brooks, Peter and Beattie, Charlie and Newman, Michael and Davies, Alex and Jones, Cody and Boixo, Sergio and Neven, Hartmut and Kohli, Pushmeet and Bausch, Johannes},
|
||||
month = dec,
|
||||
year = {2025},
|
||||
howpublished = {arXiv:2512.07737},
|
||||
}
|
||||
|
||||
@misc{wang_fully_2025,
|
||||
title = {Fully {Parallelized} {BP} {Decoding} for {Quantum} {LDPC} {Codes} {Can} {Outperform} {BP}-{OSD}},
|
||||
title = {Fully Parallelized {BP} Decoding for Quantum {LDPC} Codes Can Outperform {BP}-{OSD}},
|
||||
language = {en},
|
||||
author = {Wang, Ming and Li, Ang and Mueller, Frank},
|
||||
month = jun,
|
||||
year = {2025},
|
||||
howpublished = {arXiv:2507.00254},
|
||||
}
|
||||
|
||||
@misc{ye_beam_2025,
|
||||
@@ -565,7 +584,7 @@
|
||||
}
|
||||
|
||||
@article{higgott_improved_2023,
|
||||
title = {Improved {Decoding} of {Circuit} {Noise} and {Fragile} {Boundaries} of {Tailored} {Surface} {Codes}},
|
||||
title = {Improved Decoding of Circuit Noise and Fragile Boundaries of Tailored Surface Codes},
|
||||
volume = {13},
|
||||
doi = {10.1103/PhysRevX.13.031007},
|
||||
number = {3},
|
||||
@@ -578,31 +597,34 @@
|
||||
}
|
||||
|
||||
@misc{tsubouchi_degeneracy_2025,
|
||||
title = {Degeneracy {Cutting}: {A} {Local} and {Efficient} {Post}-{Processing} for {Belief} {Propagation} {Decoding} of {Quantum} {Low}-{Density} {Parity}-{Check} {Codes}},
|
||||
title = {Degeneracy Cutting: {A} Local and Efficient Post-Processing for Belief Propagation Decoding of Quantum Low-Density Parity-Check Codes},
|
||||
shorttitle = {Degeneracy {Cutting}},
|
||||
doi = {10.48550/arXiv.2510.08695},
|
||||
publisher = {arXiv},
|
||||
author = {Tsubouchi, Kento and Yamasaki, Hayata and Tamiya, Shiro},
|
||||
month = oct,
|
||||
year = {2025},
|
||||
howpublished = {arXiv:2510.08695},
|
||||
}
|
||||
|
||||
@misc{lee_scalable_2025,
|
||||
title = {Scalable {Neural} {Decoders} for {Practical} {Real}-{Time} {Quantum} {Error} {Correction}},
|
||||
title = {Scalable Neural Decoders for Practical Real-Time Quantum Error Correction},
|
||||
doi = {10.48550/arXiv.2510.22724},
|
||||
publisher = {arXiv},
|
||||
author = {Lee, Changwon and Hur, Tak and Park, Daniel K.},
|
||||
month = oct,
|
||||
year = {2025},
|
||||
howpublished = {arXiv:2510.22724},
|
||||
}
|
||||
|
||||
@misc{maan_decoding_2025,
|
||||
title = {Decoding {Correlated} {Errors} in {Quantum} {LDPC} {Codes}},
|
||||
title = {Decoding Correlated Errors in Quantum {LDPC} Codes},
|
||||
doi = {10.48550/arXiv.2510.14060},
|
||||
publisher = {arXiv},
|
||||
author = {Maan, Arshpreet Singh and Herrero, Francisco-Garcia and Paler, Alexandru and Savin, Valentin},
|
||||
month = oct,
|
||||
year = {2025},
|
||||
howpublished = {arXiv:2510.14060},
|
||||
}
|
||||
|
||||
@article{skoric_parallel_2023,
|
||||
@@ -622,7 +644,7 @@
|
||||
}
|
||||
|
||||
@article{higgott_sparse_2025,
|
||||
title = {Sparse {Blossom}: correcting a million errors per core second with minimum-weight matching},
|
||||
title = {Sparse Blossom: correcting a million errors per core second with minimum-weight matching},
|
||||
volume = {9},
|
||||
shorttitle = {Sparse {Blossom}},
|
||||
doi = {10.22331/q-2025-01-20-1600},
|
||||
@@ -636,7 +658,7 @@
|
||||
}
|
||||
|
||||
@article{breuckmann_quantum_2021,
|
||||
title = {Quantum {Low}-{Density} {Parity}-{Check} {Codes}},
|
||||
title = {Quantum Low-Density Parity-Check Codes},
|
||||
volume = {2},
|
||||
doi = {10.1103/PRXQuantum.2.040101},
|
||||
number = {4},
|
||||
@@ -649,10 +671,10 @@
|
||||
}
|
||||
|
||||
@inproceedings{gokduman_erasure_2024,
|
||||
title = {Erasure {Decoding} for {Quantum} {LDPC} {Codes} via {Belief} {Propagation} with {Guided} {Decimation}},
|
||||
title = {Erasure Decoding for Quantum {LDPC} Codes via Belief Propagation with Guided Decimation},
|
||||
issn = {2836-4503},
|
||||
doi = {10.1109/Allerton63246.2024.10735275},
|
||||
booktitle = {2024 60th {Annual} {Allerton} {Conference} on {Communication}, {Control}, and {Computing}},
|
||||
booktitle = {2024 60th Annual Allerton Conference on Communication, Control, and Computing},
|
||||
author = {Gökduman, Mert and Yao, Hanwen and Pfister, Henry D.},
|
||||
month = sep,
|
||||
year = {2024},
|
||||
@@ -660,13 +682,14 @@
|
||||
}
|
||||
|
||||
@misc{swierkowska_eccentric_2025,
|
||||
title = {{ECCentric}: {An} {Empirical} {Analysis} of {Quantum} {Error} {Correction} {Codes}},
|
||||
title = {ECCentric: An Empirical Analysis of Quantum Error Correction Codes},
|
||||
shorttitle = {{ECCentric}},
|
||||
doi = {10.48550/arXiv.2511.01062},
|
||||
publisher = {arXiv},
|
||||
author = {{\'S}wierkowska, Aleksandra and Pflieger, Jannik and Giortamis, Emmanouil and Bhatotia, Pramod},
|
||||
month = nov,
|
||||
year = {2025},
|
||||
howpublished = {arXiv:2511.01062},
|
||||
}
|
||||
|
||||
@phdthesis{guernut_fault-tolerant_2025,
|
||||
@@ -693,7 +716,7 @@
|
||||
}
|
||||
|
||||
@article{tan_scalable_2023,
|
||||
title = {Scalable {Surface}-{Code} {Decoders} with {Parallelization} in {Time}},
|
||||
title = {Scalable Surface-Code Decoders with Parallelization in Time},
|
||||
volume = {4},
|
||||
doi = {10.1103/PRXQuantum.4.040344},
|
||||
number = {4},
|
||||
@@ -735,21 +758,23 @@
|
||||
}
|
||||
|
||||
@misc{kuo_fault-tolerant_2024,
|
||||
title = {Fault-{Tolerant} {Belief} {Propagation} for {Practical} {Quantum} {Memory}},
|
||||
title = {Fault-Tolerant Belief Propagation for Practical Quantum Memory},
|
||||
doi = {10.48550/arXiv.2409.18689},
|
||||
publisher = {arXiv},
|
||||
author = {Kuo, Kao-Yueh and Lai, Ching-Yi},
|
||||
month = sep,
|
||||
year = {2024},
|
||||
howpublished = {arXiv:2409.18689},
|
||||
}
|
||||
|
||||
@misc{poor_ultra_2025,
|
||||
title = {Ultra {Low} {Overhead} {Syndrome} {Extraction} for the {Steane} code},
|
||||
title = {Ultra Low Overhead Syndrome Extraction for the Steane code},
|
||||
doi = {10.48550/arXiv.2511.13700},
|
||||
publisher = {arXiv},
|
||||
author = {Poór, Boldizsár and Rodatz, Benjamin and Kissinger, Aleks},
|
||||
month = nov,
|
||||
year = {2025},
|
||||
howpublished = {arXiv:2511.13700},
|
||||
}
|
||||
|
||||
@article{feynman_simulating_1982,
|
||||
@@ -770,15 +795,16 @@
|
||||
title = {Algorithms for quantum computation: discrete logarithms and factoring},
|
||||
shorttitle = {Algorithms for quantum computation},
|
||||
doi = {10.1109/SFCS.1994.365700},
|
||||
booktitle = {Proceedings 35th {Annual} {Symposium} on {Foundations} of {Computer} {Science}},
|
||||
booktitle = {Proc. Annual Symposium on Foundations of Computer Science},
|
||||
author = {Shor, P.W.},
|
||||
address = {Santa Fe},
|
||||
month = nov,
|
||||
year = {1994},
|
||||
pages = {124--134},
|
||||
}
|
||||
|
||||
@article{preskill_quantum_2018,
|
||||
title = {Quantum {Computing} in the {NISQ} era and beyond},
|
||||
title = {Quantum Computing in the {NISQ} era and beyond},
|
||||
volume = {2},
|
||||
doi = {10.22331/q-2018-08-06-79},
|
||||
language = {en-GB},
|
||||
@@ -791,7 +817,7 @@
|
||||
}
|
||||
|
||||
@misc{google_quantum_ai_quantum_nodate,
|
||||
title = {Quantum {Computing} {Roadmap}},
|
||||
title = {Quantum Computing Roadmap},
|
||||
language = {en},
|
||||
journal = {Google Quantum AI},
|
||||
author = {{Google Quantum AI}},
|
||||
@@ -811,7 +837,7 @@
|
||||
}
|
||||
|
||||
@article{zhang_classical_2023,
|
||||
title = {A {Classical} {Architecture} for {Digital} {Quantum} {Computers}},
|
||||
title = {A Classical Architecture for Digital Quantum Computers},
|
||||
volume = {5},
|
||||
doi = {10.1145/3626199},
|
||||
number = {1},
|
||||
@@ -829,6 +855,7 @@
|
||||
author = {Caune, Laura and Skoric, Luka and Blunt, Nick S. and Ruban, Archibald and McDaniel, Jimmy and Valery, Joseph A. and Patterson, Andrew D. and Gramolin, Alexander V. and Majaniemi, Joonas and Barnes, Kenton M. and Bialas, Tomasz and Buğdaycı, Okan and Crawford, Ophelia and Gehér, György P. and Krovi, Hari and Matekole, Elisha and Topal, Canberk and Poletto, Stefano and Bryant, Michael and Snyder, Kalan and Gillespie, Neil I. and Jones, Glenn and Johar, Kauser and Campbell, Earl T. and Hill, Alexander D.},
|
||||
month = oct,
|
||||
year = {2024},
|
||||
howpublished = {arXiv:2410.05202},
|
||||
}
|
||||
|
||||
@misc{ye_beam_2025-1,
|
||||
@@ -838,14 +865,15 @@
|
||||
author = {Ye, Min and Wecker, Dave and Delfosse, Nicolas},
|
||||
month = dec,
|
||||
year = {2025},
|
||||
howpublished = {arXiv:2512.07057},
|
||||
}
|
||||
|
||||
@misc{noauthor_reproducing_nodate,
|
||||
title = {Reproducing repetition and {Shor} code simulations using stim},
|
||||
title = {Reproducing repetition and Shor code simulations using stim},
|
||||
}
|
||||
|
||||
@misc{noauthor_tutorial_nodate,
|
||||
title = {Tutorial - {Estimating} the {Surface} {Code} {Threshold} — {NordIQuEst} {Application} {Library}},
|
||||
title = {Tutorial - Estimating the Surface Code Threshold — NordIQuEst Application Library},
|
||||
}
|
||||
|
||||
@misc{noauthor_simulating_nodate,
|
||||
@@ -853,7 +881,7 @@
|
||||
}
|
||||
|
||||
@article{ryan-anderson_realization_2021,
|
||||
title = {Realization of {Real}-{Time} {Fault}-{Tolerant} {Quantum} {Error} {Correction}},
|
||||
title = {Realization of Real-Time Fault-Tolerant Quantum Error Correction},
|
||||
volume = {11},
|
||||
doi = {10.1103/PhysRevX.11.041058},
|
||||
number = {4},
|
||||
@@ -880,11 +908,11 @@
|
||||
}
|
||||
|
||||
@misc{noauthor_tutorial_nodate-1,
|
||||
title = {Tutorial - {Fault}-{Tolerant} {Quantum} {Computing} with {CSS} codes},
|
||||
title = {Tutorial - Fault-Tolerant Quantum Computing with {CSS} codes},
|
||||
}
|
||||
|
||||
@article{panteleev_degenerate_2021,
|
||||
title = {Degenerate {Quantum} {LDPC} {Codes} {With} {Good} {Finite} {Length} {Performance}},
|
||||
title = {Degenerate Quantum {LDPC} Codes With Good Finite Length Performance},
|
||||
volume = {5},
|
||||
doi = {10.22331/q-2021-11-22-585},
|
||||
language = {en-GB},
|
||||
@@ -897,27 +925,29 @@
|
||||
}
|
||||
|
||||
@article{babar_fifteen_2015,
|
||||
title = {Fifteen {Years} of {Quantum} {LDPC} {Coding} and {Improved} {Decoding} {Strategies}},
|
||||
title = {Fifteen Years of Quantum {LDPC} Coding and Improved Decoding Strategies},
|
||||
volume = {3},
|
||||
issn = {2169-3536},
|
||||
doi = {10.1109/ACCESS.2015.2503267},
|
||||
journal = {IEEE Access},
|
||||
author = {Babar, Zunaira and Botsinis, Panagiotis and Alanis, Dimitrios and Ng, Soon Xin and Hanzo, Lajos},
|
||||
month = nov,
|
||||
year = {2015},
|
||||
pages = {2492--2519},
|
||||
}
|
||||
|
||||
@misc{yao_belief_2024,
|
||||
title = {Belief {Propagation} {Decoding} of {Quantum} {LDPC} {Codes} with {Guided} {Decimation}},
|
||||
title = {Belief Propagation Decoding of Quantum {LDPC} Codes with Guided Decimation},
|
||||
doi = {10.48550/arXiv.2312.10950},
|
||||
publisher = {arXiv},
|
||||
author = {Yao, Hanwen and Laban, Waleed Abu and Häger, Christian and Amat, Alexandre Graell i and Pfister, Henry D.},
|
||||
month = jun,
|
||||
year = {2024},
|
||||
howpublished = {arXiv:2312.10950},
|
||||
}
|
||||
|
||||
@article{sharon_efficient_2007,
|
||||
title = {Efficient {Serial} {Message}-{Passing} {Schedules} for {LDPC} {Decoding}},
|
||||
title = {Efficient Serial Message-Passing Schedules for {LDPC} Decoding},
|
||||
volume = {53},
|
||||
issn = {1557-9654},
|
||||
doi = {10.1109/TIT.2007.907507},
|
||||
@@ -943,7 +973,7 @@
|
||||
}
|
||||
|
||||
@book{ryan_channel_2009,
|
||||
title = {Channel {Codes}: {Classical} and {Modern}},
|
||||
title = {Channel Codes: Classical and Modern},
|
||||
isbn = {978-1-139-48301-8},
|
||||
shorttitle = {Channel {Codes}},
|
||||
language = {en},
|
||||
@@ -954,7 +984,7 @@
|
||||
}
|
||||
|
||||
@book{macwilliams_theory_1977,
|
||||
title = {The {Theory} of {Error}-correcting {Codes}},
|
||||
title = {The Theory of Error-correcting Codes},
|
||||
isbn = {978-0-444-85010-2},
|
||||
language = {en},
|
||||
publisher = {Elsevier},
|
||||
@@ -964,7 +994,7 @@
|
||||
|
||||
@book{richardson_modern_2008,
|
||||
address = {Cambridge},
|
||||
title = {Modern {Coding} {Theory}},
|
||||
title = {Modern Coding Theory},
|
||||
isbn = {978-0-521-85229-6},
|
||||
doi = {10.1017/CBO9780511791338},
|
||||
publisher = {Cambridge University Press},
|
||||
@@ -973,7 +1003,7 @@
|
||||
}
|
||||
|
||||
@phdthesis{gallager_low_1960,
|
||||
type = {Thesis},
|
||||
type = {Ph.D. {Thesis}},
|
||||
title = {Low density parity check codes},
|
||||
copyright = {M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission.},
|
||||
language = {eng},
|
||||
@@ -986,11 +1016,11 @@
|
||||
title = {Fully parallel window decoder architecture for spatially-coupled {LDPC} codes},
|
||||
issn = {1938-1883},
|
||||
doi = {10.1109/ICC.2016.7511553},
|
||||
booktitle = {2016 {IEEE} {International} {Conference} on {Communications} ({ICC})},
|
||||
booktitle = {Proc. {IEEE} International Conference on Communications ({ICC})},
|
||||
author = {Hassan, Najeeb Ul and Schlüter, Martin and Fettweis, Gerhard P.},
|
||||
address = {Kuala Lumpur},
|
||||
month = may,
|
||||
year = {2016},
|
||||
pages = {1--6},
|
||||
}
|
||||
|
||||
@article{costello_spatially_2014,
|
||||
@@ -1019,7 +1049,7 @@
|
||||
}
|
||||
|
||||
@article{kang_quits_2025,
|
||||
title = {{QUITS}: {A} modular {Qldpc} code {circUIT} {Simulator}},
|
||||
title = {{QUITS}: {A} modular Qldpc code circUIT Simulator},
|
||||
volume = {9},
|
||||
issn = {2521-327X},
|
||||
shorttitle = {{QUITS}},
|
||||
@@ -1033,7 +1063,7 @@
|
||||
|
||||
@book{griffiths_consistent_2001,
|
||||
address = {Cambridge},
|
||||
title = {Consistent {Quantum} {Theory}},
|
||||
title = {Consistent Quantum Theory},
|
||||
isbn = {978-0-521-53929-6},
|
||||
doi = {10.1017/CBO9780511606052},
|
||||
publisher = {Cambridge University Press},
|
||||
@@ -1042,12 +1072,13 @@
|
||||
}
|
||||
|
||||
@misc{gottesman_fault-tolerant_2014,
|
||||
title = {Fault-{Tolerant} {Quantum} {Computation} with {Constant} {Overhead}},
|
||||
title = {Fault-Tolerant Quantum Computation with Constant Overhead},
|
||||
doi = {10.48550/arXiv.1310.2984},
|
||||
publisher = {arXiv},
|
||||
author = {Gottesman, Daniel},
|
||||
month = jul,
|
||||
year = {2014},
|
||||
howpublished = {arXiv:1310.2984},
|
||||
}
|
||||
|
||||
@misc{gidney_new_2023,
|
||||
@@ -1057,10 +1088,11 @@
|
||||
author = {Gidney, Craig and Jones, Cody},
|
||||
month = dec,
|
||||
year = {2023},
|
||||
howpublished = {arXiv:2312.08813},
|
||||
}
|
||||
|
||||
@article{gidney_fault-tolerant_2021,
|
||||
title = {A {Fault}-{Tolerant} {Honeycomb} {Memory}},
|
||||
title = {A Fault-Tolerant Honeycomb Memory},
|
||||
volume = {5},
|
||||
issn = {2521-327X},
|
||||
doi = {10.22331/q-2021-12-20-605},
|
||||
@@ -1070,3 +1102,65 @@
|
||||
year = {2021},
|
||||
pages = {605},
|
||||
}
|
||||
|
||||
@article{chamberland_flag_2018,
|
||||
title = {Flag fault-tolerant error correction with arbitrary distance codes},
|
||||
volume = {2},
|
||||
issn = {2521-327X},
|
||||
doi = {10.22331/q-2018-02-08-53},
|
||||
journal = {Quantum},
|
||||
author = {Chamberland, Christopher and Beverland, Michael E.},
|
||||
month = feb,
|
||||
year = {2018},
|
||||
pages = {53},
|
||||
}
|
||||
|
||||
@article{chen_exponential_2021,
|
||||
title = {Exponential suppression of bit or phase errors with cyclic error correction},
|
||||
volume = {595},
|
||||
copyright = {2021 The Author(s)},
|
||||
issn = {1476-4687},
|
||||
doi = {10.1038/s41586-021-03588-y},
|
||||
language = {en},
|
||||
number = {7867},
|
||||
journal = {Nature},
|
||||
publisher = {Nature Publishing Group},
|
||||
author = {{Google Quantum AI}},
|
||||
month = jul,
|
||||
year = {2021},
|
||||
pages = {383--387},
|
||||
}
|
||||
|
||||
@article{kelly_state_2015,
|
||||
title = {State preservation by repetitive error detection in a superconducting quantum circuit},
|
||||
volume = {519},
|
||||
issn = {0028-0836, 1476-4687},
|
||||
doi = {10.1038/nature14270},
|
||||
number = {7541},
|
||||
journal = {Nature},
|
||||
author = {Kelly, J. and Barends, R. and Fowler, A. G. and Megrant, A. and Jeffrey, E. and White, T. C. and Sank, D. and Mutus, J. Y. and Campbell, B. and Chen, Yu and Chen, Z. and Chiaro, B. and Dunsworth, A. and Hoi, I.-C. and Neill, C. and O'Malley, P. J. J. and Quintana, C. and Roushan, P. and Vainsencher, A. and Wenner, J. and Cleland, A. N. and Martinis, John M.},
|
||||
month = mar,
|
||||
year = {2015},
|
||||
pages = {66--69},
|
||||
}
|
||||
|
||||
@misc{bombin_modular_2023,
|
||||
title = {Modular decoding: parallelizable real-time decoding for quantum computers},
|
||||
shorttitle = {Modular decoding},
|
||||
doi = {10.48550/arXiv.2303.04846},
|
||||
publisher = {arXiv},
|
||||
author = {Bomb{\'i}n, H{\'e}ctor and Dawson, Chris and Liu, Ye-Hua and Nickerson, Naomi and Pastawski, Fernando and Roberts, Sam},
|
||||
month = mar,
|
||||
year = {2023},
|
||||
howpublished = {arXiv:2303.04846},
|
||||
}
|
||||
|
||||
@misc{leverrier_decoding_2022,
|
||||
title = {Decoding quantum Tanner codes},
|
||||
doi = {10.48550/arXiv.2208.05537},
|
||||
publisher = {arXiv},
|
||||
author = {Leverrier, Anthony and Z{\'e}mor, Gilles},
|
||||
month = dec,
|
||||
year = {2022},
|
||||
howpublished = {arXiv:2208.05537},
|
||||
}
|
||||
|
||||
@@ -1 +1,197 @@
|
||||
\chapter{Introduction}
|
||||
\label{ch:Introduction}
|
||||
|
||||
\acresetall
|
||||
|
||||
% Intro to quantum computing
|
||||
|
||||
In 1982, Richard Feynman, motivated by the difficulty of simulating
|
||||
quantum-mechanical systems on classical hardware, put forward the
|
||||
idea of building computers that are themselves quantum mechanical
|
||||
\cite{feynman_simulating_1982}.
|
||||
The use of such quantum computers has since been shown to offer promising
|
||||
prospects not only with regard to simulating quantum systems but also
|
||||
for solving certain kinds of problems that are classically intractable.
|
||||
The most prominent example is Shor's algorithm for integer
|
||||
factorization \cite{shor_algorithms_1994}.
|
||||
|
||||
Similar to the way classical computers are built from bits and gates,
|
||||
quantum computers are built from \emph{qubits} and \emph{quantum gates}.
|
||||
Because of quantum entanglement, it does not suffice to consider the
|
||||
qubits individually, we also have to consider correlations between them.
|
||||
For a system of $n$ qubits, this makes the state space grow with
|
||||
$2^n$ instead of linearly with $n$, as would be the case for a classical system
|
||||
\cite[Sec.~1]{gottesman_stabilizer_1997}.
|
||||
This is both the reason quantum systems are difficult to simulate and
|
||||
what provides them with their power \cite[Sec.~2.1]{roffe_decoding_2020}.
|
||||
|
||||
% The need for QEC
|
||||
|
||||
Realizing algorithms that leverage these quantum-mechanical effects
|
||||
requires hardware that can execute long quantum computations reliably.
|
||||
This poses a problem, because the qubits making up current devices
|
||||
consistently interact with their environment \cite[Sec.~1]{roffe_quantum_2019}.
|
||||
This interaction acts as a continuous small-scale measurement, an
|
||||
effect we call \emph{decoherence} of the stored quantum state, which
|
||||
results in errors on the qubits.
|
||||
Decoherence is the reason large systems do not exhibit visible quantum
|
||||
properties at human scales \cite[Sec.~1]{gottesman_stabilizer_1997}.
|
||||
|
||||
% Intro to QEC
|
||||
|
||||
\Ac{qec} has emerged as a leading candidate in solving this problem.
|
||||
It addresses the issue by encoding the information of $k$
|
||||
\emph{logical qubits} into a larger number $n>k$ of \emph{physical
|
||||
qubits}, in close analogy to classical channel coding
|
||||
\cite[Sec.~1]{roffe_quantum_2019}.
|
||||
The redundancy introduced this way can then be used to detect and
|
||||
correct a corrupted the quantum state.
|
||||
The quantum setting imposes some important constraints that do not exist in the
|
||||
classical case, however \cite[Sec.~2.4]{roffe_quantum_2019}:
|
||||
\begin{itemize}
|
||||
\item The no-cloning theorem prohibits the duplication of quantum states.
|
||||
\item In addition to the bit-flip errors we know from the
|
||||
classical setting, qubits are subject to \emph{phase-flips}.
|
||||
\item We are not allowed to directly measure the encoded qubits,
|
||||
as that would collapse their quantum states.
|
||||
\end{itemize}
|
||||
We can deal with the first constraint by not duplicating information, instead
|
||||
spreading the quantum state across the physical qubits
|
||||
\cite[Sec.~I]{calderbank_good_1996}.
|
||||
To deal with phase-flip errors, we must take special care when
|
||||
constructing \ac{qec} codes.
|
||||
Using \ac{css} codes, for example, we can use two separate classical
|
||||
binary linear codes to protect against the two kinds of errors
|
||||
\cite[Sec. 10.5.6]{nielsen_quantum_2010}.
|
||||
Finally, we can get around the last issue by using \emph{stabilizer
|
||||
measurements}.
|
||||
These are parity measurements that give us information about
|
||||
potential errors without revealing the underlying qubit states
|
||||
\cite[Sec.~II.C.]{babar_fifteen_2015}.
|
||||
This way, we perform a \emph{syndrome extraction} and base the
|
||||
subsequent decoding process on the measured syndrome.
|
||||
|
||||
Another difference between \ac{qec} and classical channel coding is
|
||||
the resource constraints.
|
||||
For \ac{qec}, achieving low latency matters more than having a low
|
||||
overall computational complexity, due to the backlog problem
|
||||
\cite[Sec.~II.G.3.]{terhal_quantum_2015}: Certain gates turn
|
||||
single-qubit errors into multi-qubit ones, so errors must be
|
||||
corrected beforehand.
|
||||
A \ac{qec} system that is too slow accumulates a backlog at these points,
|
||||
causing exponential slowdown.
|
||||
|
||||
Several code constructions have been proposed for \ac{qec} codes over the years.
|
||||
Topological codes, such as surface codes, have been the industry
|
||||
standard for experimental applications for a long time
|
||||
\cite[Sec.~I]{koutsioumpas_colour_2025}, due to their
|
||||
reliance on only local connections between qubits
|
||||
\cite[Sec.~5]{roffe_decoding_2020}.
|
||||
Recently, \ac{qldpc} codes have been getting increasing
|
||||
attention as they have been shown to offer comparable thresholds with
|
||||
substantially improved encoding rates \cite[Sec.~1]{bravyi_high-threshold_2024}.
|
||||
\ac{qldpc} codes are generally decoded using a syndrome-based variant
|
||||
of the \ac{bp} algorithm \cite[Sec.~1]{roffe_decoding_2020}.
|
||||
We focus on \ac{qldpc} codes in our work and specifically \ac{bb} codes,
|
||||
as they are promising candidates for practical QEC due to their high
|
||||
encoding rates, large minimum distances, and short-depth syndrome
|
||||
extraction circuits \cite[Sec.~1]{bravyi_high-threshold_2024}.
|
||||
|
||||
% DEMs and fault tolerance
|
||||
|
||||
The syndrome extraction itself is implemented on quantum hardware and
|
||||
is therefore subject to the same noise as the data qubits.
|
||||
As a consequence, the \ac{qec} procedure, meant to protect the quantum
|
||||
state, itself introduces new \emph{internal errors}.
|
||||
A procedure is called \emph{fault-tolerant} if it remains effective
|
||||
even in the presence of these internal errors
|
||||
\cite[Sec.~4]{gottesman_introduction_2009}.
|
||||
To deal with internal errors that flip syndrome bits, multiple rounds
|
||||
of syndrome measurements are performed.
|
||||
|
||||
One approach of implementing fault tolerance is using \acp{dem}.
|
||||
A \ac{dem} abstracts away the underlying circuit,
|
||||
focusing only on the relationship between possible errors
|
||||
and their effects on the syndrome \cite[Sec.~1.4.3]{higgott_practical_2024}.
|
||||
A \emph{detector error matrix} is generated from the circuit, which is
|
||||
used for decoding instead of the original check matrix.
|
||||
The detector error matrix is much larger than the
|
||||
check matrix of the underlying code, since it needs to represent many
|
||||
more error locations.
|
||||
For example, in our experiments using the $\llbracket 144,12,12
|
||||
\rrbracket$ \ac{bb} code with $12$ syndrome measurement rounds, the
|
||||
number of \acp{vn} grew from $144$ to $9504$ and the number of
|
||||
\acp{cn} grew from $72$ to $1008$.
|
||||
Therefore, decoding under a \ac{dem} poses a challenge with respect to the
|
||||
latency constraint.
|
||||
|
||||
To keep the latency of \ac{dem} decoding manageable, one approach is
|
||||
\emph{sliding-window decoding}.
|
||||
Instead of decoding on the entire detector error matrix at once,
|
||||
it is partitioned into several overlapping windows.
|
||||
Once decoding of one window is complete, error estimates on the initial part
|
||||
that is no longer needed are committed, and the next window is processed.
|
||||
This way, decoding can start as soon as the syndrome bits required
|
||||
for the first window have been extracted.
|
||||
The idea originates with the \emph{overlapping recovery} scheme
|
||||
proposed for the surface code in
|
||||
\cite[Sec.~IV.B]{dennis_topological_2002} and has since been studied
|
||||
for surface and toric codes \cite{kuo_fault-tolerant_2024} as well as
|
||||
for \ac{qldpc} codes under both phenomenological and circuit-level
|
||||
noise \cite{huang_increasing_2024,gong_toward_2024,kang_quits_2025}.
|
||||
|
||||
% Reseach gap + our work
|
||||
|
||||
We observe a structural similarity between sliding-window decoding for
|
||||
\acp{dem} and window decoding for \ac{sc}-\acs{ldpc} codes.
|
||||
In contrast to the latter, however, where \ac{bp} messages are
|
||||
carried between windows \cite[Sec.~III.~C.]{hassan_fully_2016},
|
||||
the existing realizations of sliding-window decoding for \ac{qec}
|
||||
discard the soft information produced inside one window before moving
|
||||
to the next.
|
||||
We propose \emph{warm-start sliding-window decoding}, in which the
|
||||
\ac{bp} messages from the overlap region of the previous window are
|
||||
reused to initialize \ac{bp} in the current window in place of the
|
||||
standard cold-start initialization.
|
||||
We formulate the warm start for standard \ac{bp} and for
|
||||
\ac{bpgd}, a variant of \ac{bp} with better convergence properties
|
||||
for \ac{qec} codes.
|
||||
The decoders are evaluated by Monte Carlo simulation on the
|
||||
$\llbracket 144,12,12 \rrbracket$ \ac{bb} code under standard
|
||||
circuit-based depolarizing noise over $12$ syndrome extraction rounds.
|
||||
The main finding is that warm-starting yields a consistent
|
||||
improvement at low iteration budgets, which is the regime relevant for
|
||||
low-latency operation.
|
||||
|
||||
% Outline of the Thesis
|
||||
|
||||
This thesis is structured as follows:
|
||||
\Cref{ch:Fundamentals} reviews the fundamentals of classical and
|
||||
quantum error correction.
|
||||
On the classical side, it covers binary linear block codes,
|
||||
\ac{ldpc} and \ac{sc}-\ac{ldpc} codes, and the \ac{bp} decoding
|
||||
algorithm.
|
||||
On the quantum side, it introduces the relevant quantum mechanical
|
||||
notation, stabilizer measurements, stabilizer codes, \acf{css} codes,
|
||||
\ac{qldpc} codes, and the \ac{bpgd} algorithm.
|
||||
|
||||
\Cref{ch:Fault tolerance} introduces fault-tolerant \ac{qec}.
|
||||
It formalizes the notion of fault tolerance, presents the noise
|
||||
models considered in this work, and develops the \ac{dem} formalism
|
||||
through the measurement syndrome matrix, the detector matrix, and the
|
||||
detector error matrix.
|
||||
The chapter closes with a discussion of practical considerations
|
||||
including the choice of noise model, the per-round \acf{ler}, and the
|
||||
Stim toolchain.
|
||||
|
||||
\Cref{ch:Decoding} considers practical aspects of decoding under \acp{dem}.
|
||||
It reviews the existing literature on sliding-window decoding for
|
||||
\ac{qec}, develops the formal windowing construction we build upon,
|
||||
introduces the proposed warm-start sliding-window decoder for
|
||||
plain \ac{bp} and for \ac{bpgd}, and reports numerical results on the
|
||||
$\llbracket 144,12,12 \rrbracket$ \ac{bb} code.
|
||||
|
||||
% TODO: Possibly extend to mention specific proposed research directions
|
||||
\Cref{ch:Conclusion} concludes the thesis and outlines directions for
|
||||
further research.
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
||||
% TODO: Make all [H] -> [t]
|
||||
\chapter{Fault-Tolerant Quantum Error Correction}
|
||||
\label{ch:Fault tolerance}
|
||||
|
||||
% Intro
|
||||
|
||||
@@ -16,17 +16,19 @@ using qubits.
|
||||
While the use of error correcting codes may facilitate this, it also
|
||||
introduces two new challenges \cite[Sec.~4]{gottesman_introduction_2009}:
|
||||
\begin{itemize}
|
||||
\item We must be able to perform operations on the encoded state
|
||||
in such a way that we do not lose the protection against errors.
|
||||
\item \ac{qec} systems are themselves partially implemented in
|
||||
quantum hardware. In addition to the errors we have
|
||||
originally introduced them for, these systems must
|
||||
be able to acount for the fact they are implemented on noisy
|
||||
hardware themselves.
|
||||
\item To realize a quantum algorithm, we must be able to
|
||||
perform operations on the encoded state in such a way that we
|
||||
do not lose the protection against errors.
|
||||
\item \ac{qec} systems, in particular the syndrome extraction
|
||||
circuit, are themselves partially implemented in
|
||||
quantum hardware.
|
||||
In addition to the errors we have originally introduced them
|
||||
for, these systems must therefore be able to account for the
|
||||
fact they are implemented on noisy hardware themselves.
|
||||
\end{itemize}
|
||||
In the literature, both of these points are viewed under the umbrella
|
||||
of \emph{fault tolerance}.
|
||||
We focus only on the second aspect in this work.
|
||||
of \emph{fault-tolerant} quantum computing.
|
||||
In this thesis, we focus on the second aspect.
|
||||
|
||||
It was recognized early on as a challenge of \ac{qec} that the correction
|
||||
machinery itself may introduce new faults \cite[Sec.~III]{shor_scheme_1995}.
|
||||
@@ -40,22 +42,21 @@ address both.
|
||||
|
||||
% Definition of fault tolerance
|
||||
|
||||
% TODO: Different variable name for N?
|
||||
We model the possible occurrence of errors during any processing
|
||||
stage as different \emph{error locations} $E_i,~i\in \{1,\ldots,N\}$
|
||||
stage as different \emph{error locations} $E_i,~i\in [1:N]$
|
||||
in the circuit.
|
||||
$N \in \mathbb{N}$ is the total number of error locations.
|
||||
The parameter $N \in \mathbb{N}$ is the total number of considered
|
||||
error locations.
|
||||
The \emph{circuit error vector} $\bm{e} \in \{0,1\}^N$ is a vector
|
||||
indicating which errors occurred, with
|
||||
\begin{align*}
|
||||
e_i :=
|
||||
\begin{cases}
|
||||
1, & \text{Error $E_i$ occurred} \\
|
||||
0, & \text{otherwise}
|
||||
1, & \text{error $E_i$ occurred}, \\
|
||||
0, & \text{otherwise}.
|
||||
\end{cases}
|
||||
.%
|
||||
\end{align*}
|
||||
\autoref{fig:fault_tolerance_overview} illustrates the flow of errors.
|
||||
\Cref{fig:fault_tolerance_overview} illustrates the flow of errors.
|
||||
Specifically for \ac{css} codes, a \ac{qec} procedure is deemed
|
||||
fault-tolerant, if \cite[Def.~4.2]{derks_designing_2025}
|
||||
\begin{gather*}
|
||||
@@ -73,12 +74,14 @@ fault-tolerant, if \cite[Def.~4.2]{derks_designing_2025}
|
||||
where $t = \lfloor (d_\text{min} -1)/2 \rfloor$ is the number of
|
||||
errors the code is able to correct.
|
||||
The vectors $\bm{e}_{\text{output},X}$ and $\bm{e}_{\text{output},Z}$
|
||||
denote only $X$ and $Z$ errors respectively.
|
||||
denote only $X$ and $Z$ errors, respectively.
|
||||
|
||||
% TODO: Properly introduce d_min for QEC, specifically for CSS codes
|
||||
In order to deal with internal errors that flip syndrome bits,
|
||||
multiple rounds of syndrome measurements must be performed.
|
||||
Typically, the number of syndrome extraction rounds is chosen as $d_\text{min}$.
|
||||
multiple rounds of syndrome measurements are performed.
|
||||
Typically, the number of syndrome extraction rounds is chosen as
|
||||
$d_\text{min}$, e.g., \cite{gong_toward_2024}
|
||||
\cite{koutsioumpas_automorphism_2025}.
|
||||
|
||||
% % This is the definition of a fault-tolerant QEC gadget
|
||||
% A \ac{qec} procedure is deemed fault tolerant if
|
||||
@@ -151,8 +154,7 @@ Typically, the number of syndrome extraction rounds is chosen as $d_\text{min}$.
|
||||
% Intro
|
||||
|
||||
We collect the probabilities of error at each location in the
|
||||
\emph{noise model}, a vector $\bm{p} \in [0,1]^N$, where $N \in
|
||||
\mathbb{N}$ is the number of possible error locations.
|
||||
\emph{noise model}, represented by a vector $\bm{p} \in [0,1]^N$.
|
||||
There are different types of noise models, each allowing for
|
||||
different error locations in the circuit.
|
||||
|
||||
@@ -161,28 +163,26 @@ different error locations in the circuit.
|
||||
We will illustrate the most widely used types of error models on the
|
||||
example of the three-qubit repetition code for $X$ errors.
|
||||
This is a code with check matrix
|
||||
\begin{align*}
|
||||
\bm{H} =
|
||||
\begin{gather}
|
||||
\label{eq:rep_code_H}
|
||||
\bm{H}_Z =
|
||||
\left[
|
||||
\begin{array}{ccc|ccc}
|
||||
0 & 0 & 0 & 0 & 0 & 0 \\
|
||||
0 & 0 & 0 & 0 & 0 & 0 \\
|
||||
0 & 0 & 0 & 1 & 1 & 0 \\
|
||||
0 & 0 & 0 & 0 & 1 & 1
|
||||
\begin{array}{ccc}
|
||||
1 & 1 & 0 \\
|
||||
0 & 1 & 1
|
||||
\end{array}
|
||||
\right]
|
||||
.
|
||||
\end{align*}
|
||||
\end{gather}
|
||||
We can see that it has stabilizers $Z_1Z_2$ and $Z_2Z_3$.
|
||||
\autoref{fig:pure_syndrome_extraction} shows the corresponding
|
||||
\Cref{fig:pure_syndrome_extraction} shows the corresponding
|
||||
syndrome extraction circuit.
|
||||
We refer to the qubits carrying the logical state
|
||||
$\ket{\psi}_\text{L}$ as \emph{data qubits}.
|
||||
Note that this is a concrete implementation using CNOT gates, as
|
||||
opposed to the system-level view introduced in
|
||||
\autoref{subsec:Stabilizer Codes}.
|
||||
We visualize the different types of noise models in
|
||||
\autoref{fig:noise_model_types}.
|
||||
\Cref{subsec:Stabilizer Codes}.
|
||||
\Cref{fig:noise_model_types} visualizes the different types of noise models.
|
||||
|
||||
%%%%%%%%%%%%%%%%
|
||||
\subsection{Bit-Flip Noise}
|
||||
@@ -191,10 +191,12 @@ We visualize the different types of noise models in
|
||||
The simplest type of noise model is \emph{bit-flip} noise.
|
||||
This corresponds to the classical \ac{bsc}, i.e., only $X$ errors on the
|
||||
data qubits are possible \cite[Appendix~A]{gidney_new_2023}.
|
||||
This type of noise model is shown in \autoref{subfig:bit_flip}.
|
||||
The occurrence of bit-flip errors is modeled as a Bernoulli process
|
||||
$\text{Bern}(p)$.
|
||||
\Cref{subfig:bit_flip} shows this type of noise model.
|
||||
|
||||
Note that we cannot use bit-flip noise to develop fault-tolerant
|
||||
systems, as it doesnt't account for errors during the syndrome extraction.
|
||||
Note that bit-flip noise is not suitable for developing fault-tolerant
|
||||
systems, as it does not account for errors during the syndrome extraction.
|
||||
|
||||
%%%%%%%%%%%%%%%%
|
||||
\subsection{Depolarizing Channel}
|
||||
@@ -203,7 +205,7 @@ systems, as it doesnt't account for errors during the syndrome extraction.
|
||||
Extending bit-flip noise to consider $X,Z$ or $Y$ instead of just $X$
|
||||
errors, we obtain the \emph{depolarizing channel}
|
||||
\cite[Sec.~7.6]{gottesman_stabilizer_1997}, depicted in
|
||||
\autoref{subfig:depolarizing}.
|
||||
\Cref{subfig:depolarizing}.
|
||||
It is well-suited for modeling memory experiments, where data qubits
|
||||
are stored idly for some period of time and errors accumulate due to
|
||||
decoherence.
|
||||
@@ -224,17 +226,17 @@ Here, we consider multiple rounds of syndrome measurements with a
|
||||
depolarizing channel before each round.
|
||||
Additionally, we allow for measurement errors by having $X$ error
|
||||
locations right before each measurement \cite[Appendix~A]{gidney_new_2023}.
|
||||
Note that it is enough to only consider $X$ errors at these points,
|
||||
Note that it is enough to only consider $X$ errors before measuring,
|
||||
since that is the only type of error directly affecting the
|
||||
measurement outcomes.
|
||||
This model is depicted in \autoref{subfig:phenomenological}.
|
||||
This model is depicted in \Cref{subfig:phenomenological}.
|
||||
|
||||
While not fully capturing all possible error mechanisms,
|
||||
phenomenological noise is already a significant step beyond the code
|
||||
capacity noise models.
|
||||
Additionally, there are applications where the
|
||||
consideration of phenomenological noise is enough.
|
||||
It can, for example, be used for guiding the design of fault-tolerant
|
||||
It can, for example, be used to guide the design of fault-tolerant
|
||||
circuitry [DTTBE25, Sec. 4.2].
|
||||
|
||||
%%%%%%%%%%%%%%%%
|
||||
@@ -242,19 +244,19 @@ circuitry [DTTBE25, Sec. 4.2].
|
||||
\label{subsec:Circuit-Level Noise}
|
||||
|
||||
The most general type of noise model is \emph{circuit-level noise}.
|
||||
Here we not only consider noise inbetween syndrome extraction rounds
|
||||
Here we not only consider noise between syndrome extraction rounds
|
||||
and at the measurements, but at each gate.
|
||||
Specifically, we allow arbitrary $n$-qubit Pauli errors after each
|
||||
$n$-qubit gate \cite[Def.~2.5]{derks_designing_2025}.
|
||||
An $n$-qubit Pauli error is simply a series of correlated Pauli
|
||||
An $n$-qubit Pauli error can be written as a series of correlated Pauli
|
||||
errors on each related individual qubit.
|
||||
This type of noise model is shown in \autoref{subfig:circuit_level}.
|
||||
This type of noise model is shown in \Cref{subfig:circuit_level}.
|
||||
|
||||
While phenomenological noise is useful for some design aspects of
|
||||
fault tolerant circuitry, for simulations, circuit-level noise should
|
||||
fault-tolerant circuitry, for simulations, circuit-level noise should
|
||||
always be used \cite[Sec.~4.2]{derks_designing_2025}.
|
||||
Note that this introduces new challenges during the decoding process,
|
||||
as the decoding complexity is increased considerably due to the many
|
||||
as the decoding complexity is considerably increased due to the many
|
||||
error locations.
|
||||
|
||||
\begin{figure}[t]
|
||||
@@ -277,7 +279,47 @@ error locations.
|
||||
\label{fig:pure_syndrome_extraction}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[t]
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Detector Error Models}
|
||||
\label{sec:Detector Error Models}
|
||||
|
||||
\emph{Detector error models} (\acsp{dem}) constitute a standardized
|
||||
framework for
|
||||
passing information about a circuit used for \ac{qec} to a decoder.
|
||||
They are also useful as a theoretical tool to aid in the design of
|
||||
fault-tolerant \ac{qec} schemes, e.g., they can be used to easily
|
||||
determine whether a measurement schedule is fault-tolerant
|
||||
\cite[Example~12]{derks_designing_2025}.
|
||||
|
||||
Other approaches of implementing fault-tolerance circuits exist, e.g.,
|
||||
flag error correction, which uses additional ancilla qubits to detect
|
||||
potentially damaging high-weight errors \cite[Sec.~1]{chamberland_flag_2018}.
|
||||
However, \acp{dem} offer some unique advantages
|
||||
\cite[Sec.~4.2]{derks_designing_2025}:
|
||||
\begin{itemize}
|
||||
\item They distinguish between errors based on their effect on
|
||||
the measurements, not based on their location in the circuit.
|
||||
This allows for merging equivalent errors, which decreases
|
||||
decoding complexity.
|
||||
\item Errors on the data qubits and on the measurements are
|
||||
treated in a unified manner. This leads to a more powerful
|
||||
description of the overall circuit.
|
||||
\end{itemize}
|
||||
In this work, we consider the process of decoding under the \ac{dem} framework.
|
||||
|
||||
% Core idea
|
||||
|
||||
To achieve fault tolerance, the goal we strive towards is to
|
||||
consider the internal errors in addition to the input errors during
|
||||
the decoding process.
|
||||
The core idea behind detector error models is to do this by defining
|
||||
a new \emph{circuit code} describing the whole circuit.
|
||||
Each \ac{vn} of this new code corresponds to an error location in the
|
||||
circuit and each \ac{cn} corresponds to a syndrome measurement.
|
||||
% This circuit code, combined with the prior probabilities of error
|
||||
% given by the noise model, incorporates all information necessary for decoding.
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
|
||||
\newcommand{\xerr}{\gate[style={fill=KITblue!50}]{\phantom{1}}}
|
||||
@@ -323,7 +365,7 @@ error locations.
|
||||
\label{subfig:bit_flip}
|
||||
\end{minipage}
|
||||
|
||||
\vspace*{5mm}
|
||||
\vspace*{7mm}
|
||||
|
||||
\begin{minipage}{\textwidth}
|
||||
\centering
|
||||
@@ -341,7 +383,7 @@ error locations.
|
||||
\label{subfig:depolarizing}
|
||||
\end{minipage}
|
||||
|
||||
\vspace*{5mm}
|
||||
\vspace*{7mm}
|
||||
|
||||
\begin{minipage}{\textwidth}
|
||||
\centering
|
||||
@@ -359,7 +401,7 @@ error locations.
|
||||
\label{subfig:phenomenological}
|
||||
\end{minipage}
|
||||
|
||||
\vspace*{5mm}
|
||||
\vspace*{7mm}
|
||||
|
||||
\begin{minipage}{\textwidth}
|
||||
\centering
|
||||
@@ -390,50 +432,12 @@ error locations.
|
||||
% tex-fmt: on
|
||||
\end{minipage}
|
||||
|
||||
\vspace*{5mm}
|
||||
|
||||
\caption{Types of noise models.}
|
||||
\label{fig:noise_model_types}
|
||||
\end{figure}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Detector Error Models}
|
||||
\label{sec:Detector Error Models}
|
||||
|
||||
\emph{Detector error models} (\acsp{dem}) constitue a standardized framework for
|
||||
passing information about a circuit used for \ac{qec} to a decoder.
|
||||
They are also useful as a theoretical tool to aid in the design of
|
||||
fault-tolerant \ac{qec} schemes.
|
||||
E.g., they can be used to easily determine whether a measurement
|
||||
schedule is fault-tolerant \cite[Example~12]{derks_designing_2025}.
|
||||
|
||||
Other approaches of implementing fault tolerance exist, such as
|
||||
flag error correction, which uses additional ancilla qubits to detect
|
||||
potentially damaging high-weight errors \cite[Sec.~1]{chamberland_flag_2018}.
|
||||
However, \acp{dem} offer some unique advantages
|
||||
\cite[Sec.~4.2]{derks_designing_2025}:
|
||||
\begin{itemize}
|
||||
\item They distinguish between errors based on their effect on
|
||||
the measurements, not based on their location in the circuit.
|
||||
This allows for merging equivalent errors, which decreases
|
||||
decoding complexity.
|
||||
\item Errors on the data qubits and on the measurements are
|
||||
treated in a unified manner. This leads to a more powerful
|
||||
description of the overall circuit.
|
||||
\end{itemize}
|
||||
In this work, we only consider the process of decoding under the
|
||||
\ac{dem} framework.
|
||||
|
||||
% Core idea
|
||||
|
||||
To achieve fault tolerance, the goal we strive towards is to
|
||||
consider the internal errors in addition to the input errors during
|
||||
the decoding process.
|
||||
The core idea behind detector error models is to do this by defining
|
||||
a new \emph{circuit code} that describes the circuit.
|
||||
Each \ac{vn} of this new code corresponds to an error location in the
|
||||
circuit and each corresponds to a \ac{cn} to a syndrome measurement.
|
||||
This circuit code, combined with the prior probabilities of error
|
||||
given by the noise model, incorporates all information necessary for decoding.
|
||||
|
||||
%%%%%%%%%%%%%%%%
|
||||
\subsection{Measurement Syndrome Matrix}
|
||||
\label{subsec:Measurement Syndrome Matrix}
|
||||
@@ -441,61 +445,130 @@ given by the noise model, incorporates all information necessary for decoding.
|
||||
% Mathematical definition
|
||||
|
||||
We describe the circuit code using the \emph{measurement syndrome
|
||||
matrix} matrix $\bm{\Omega} \in \mathbb{F}_2^{m\times N}$, with
|
||||
matrix} $\bm{\Omega} \in \mathbb{F}_2^{M\times N}$, with
|
||||
\begin{align*}
|
||||
\Omega_{j,i} =
|
||||
\Omega_{\ell,i} =
|
||||
\begin{cases}
|
||||
1, & \text{Error $i$ flips measurement $j$}\\
|
||||
0, & \text{otherwise}
|
||||
1, & \text{error $i$ flips measurement $\ell$},\\
|
||||
0, & \text{otherwise},
|
||||
\end{cases}
|
||||
.%
|
||||
\end{align*}
|
||||
This matrix thus defines the code based on which error mechanism
|
||||
flips which measurement, rather than the Pauli type and location of
|
||||
each error \cite[Sec.~1.4.3]{higgott_practical_2024}.
|
||||
where $M \in \mathbb{N}$ is the number of performed syndrome measurements.
|
||||
To obtain $\bm{\Omega}$, we must propagate Pauli errors through the
|
||||
circuit, tracking which measurements they affect
|
||||
\cite[Sec.~2.4]{derks_designing_2025}.
|
||||
|
||||
% Example
|
||||
|
||||
% TODO: Fix syndrome dimension notation
|
||||
We turn to our example of the three-qubit repetition code to
|
||||
illustrate the construction of the syndrome measurement matrix.
|
||||
We begin by replicating the syndrome extraction circuitry, three
|
||||
times in this case, as can be seen in
|
||||
\autoref{fig:rep_code_multiple_rounds_bit_flip}.
|
||||
We consider only bit flip noise at this stage.
|
||||
For each syndrome extraction round we get an additional set of
|
||||
syndrome measurements.
|
||||
We combine these measurements by stacking them in a new vector $\bm{s}
|
||||
\in \mathbb{F}_2^{n_\text{rounds}\cdot(n-k)}$.
|
||||
To accomodate the additional syndrome bits, we extend the
|
||||
matrix $\bm{\Omega}$ representing the circuit by replicating the rows as well.
|
||||
Recall that $\bm{\Omega}$ describes which \ac{vn} is connected to
|
||||
We begin by extending our check matrix $\bm{H}_Z$ in
|
||||
\Cref{eq:rep_code_H} to represent three rounds of syndrome extraction.
|
||||
Each round yields an additional set of syndrome bits,
|
||||
and we combine them by stacking them in a new vector
|
||||
$\bm{s} \in \mathbb{F}_2^{R(n-k)}$, where $R \in \mathbb{N}$ is the
|
||||
number of syndrome measurement rounds.
|
||||
Thus, we have to replicate the rows of $\bm{H}_Z$, once for each
|
||||
additional syndrome measurement, and obtain
|
||||
\begin{align*}
|
||||
\bm{\Omega}_0 =
|
||||
\begin{pmatrix}
|
||||
\bm{H}_Z \\
|
||||
\bm{H}_Z \\
|
||||
\bm{H}_Z
|
||||
\end{pmatrix}
|
||||
=
|
||||
\begin{pmatrix}
|
||||
1 & 1 & 0 \\
|
||||
0 & 1 & 1 \\
|
||||
1 & 1 & 0 \\
|
||||
0 & 1 & 1 \\
|
||||
1 & 1 & 0 \\
|
||||
0 & 1 & 1 \\
|
||||
\end{pmatrix}
|
||||
.%
|
||||
\end{align*}
|
||||
\Cref{fig:rep_code_multiple_rounds_bit_flip}
|
||||
depicts the corresponding circuit.
|
||||
Note that we have not yet introduced error locations in the syndrome
|
||||
extraction circuitry, so we still consider only bit flip noise at this stage.
|
||||
Recall that $\bm{\Omega}_0$ describes which \ac{vn} is connected to
|
||||
which parity check and the syndrome indicates which parity checks
|
||||
are violated.
|
||||
This means that if an error exists at only a single \ac{vn}, we can
|
||||
read off the syndrome in the corresponding column.
|
||||
Therefore, if an error occurs that corresponds to a single \ac{vn},
|
||||
the measured syndrome is the corresponding column.
|
||||
If errors occur at multiple locations, the resulting syndrome will be
|
||||
the linear combination of the respective columns.
|
||||
Thus, we have
|
||||
\begin{align*}
|
||||
\bm{s} \in \text{span} \{\bm{\Omega}_0\}
|
||||
.%
|
||||
\end{align*}
|
||||
|
||||
% Expand to phenomenological
|
||||
|
||||
We now whish to expand the error model to phenomenological noise, though
|
||||
Next, we expand the error model to phenomenological noise, though
|
||||
only considering $X$ errors in this case.
|
||||
We introduce new error locations at the respective positions,
|
||||
arriving at the circuit depicted in
|
||||
\autoref{fig:rep_code_multiple_rounds_phenomenological}.
|
||||
For each additional error location, we extend $\bm{\Omega}$ by
|
||||
appending the corresponding syndrome vector as a column.
|
||||
We introduce new error locations at the appropriate positions,
|
||||
resulting in the circuit depicted in
|
||||
\Cref{fig:rep_code_multiple_rounds_phenomenological}.
|
||||
For each additional error location, we extend $\bm{\Omega}_0$ by
|
||||
appending the corresponding syndrome vector as a column, yielding
|
||||
\begin{gather}
|
||||
\label{eq:syndrome_matrix_ex}
|
||||
\bm{\Omega}_1 =
|
||||
\left(
|
||||
\begin{array}{ccccccccccccccc}
|
||||
1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0
|
||||
& 0 & 0 & 0 & 0 & 0 \\
|
||||
0 & 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0
|
||||
& 0 & 0 & 0 & 0 & 0 \\
|
||||
1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 1 & 0
|
||||
& 0 & 0 & 0 & 0 & 0 \\
|
||||
0 & 1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 1
|
||||
& 0 & 0 & 0 & 0 & 0 \\
|
||||
1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 0 & 0
|
||||
& 1 & 1 & 0 & 1 & 0 \\
|
||||
0 & 1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 0
|
||||
& 0 & 1 & 1 & 0 & 1
|
||||
\end{array}
|
||||
\right) . \\[-6mm]
|
||||
\hspace*{-56.7mm}
|
||||
\underbrace{
|
||||
\phantom{
|
||||
\begin{array}{ccc}
|
||||
0 & 0 & 0
|
||||
\end{array}
|
||||
}
|
||||
}_{\bm{\Omega}_0} \nonumber
|
||||
\end{gather}
|
||||
Notice that the first three columns correspond to the original
|
||||
measurement syndrome matrix $\bm{\Omega}_0$, as these columns
|
||||
correspond to the error locations on the data qubits.
|
||||
|
||||
In this example, all measurements we considered were syndrome measurements.
|
||||
Assuming no errors, the results of those measurements are
|
||||
deterministic: They are not subject to any probabilistic behavior
|
||||
despite the quantum mechanical nature of the underlying system.
|
||||
They only depend on whether $\ket{\psi}_\text{L} \in \mathcal{C}$,
|
||||
not on the concrete state.
|
||||
It is, in general, possible to also consider non-deterministic measurements.
|
||||
As an example, it is usual to consider a round of noiseless
|
||||
measurements of the actual data qubit states after the last syndrome
|
||||
extraction round.
|
||||
|
||||
\begin{figure}[t]
|
||||
\centering
|
||||
|
||||
\newcommand{\preperr}[1]{
|
||||
\gate[style={fill=blue!20}]{\scriptstyle #1}
|
||||
}
|
||||
|
||||
\begin{minipage}{0.3\textwidth}
|
||||
\centering
|
||||
\begin{tikzpicture}
|
||||
\node{$%
|
||||
\bm{\Omega} =
|
||||
\bm{\Omega}_0 =
|
||||
\begin{pmatrix}
|
||||
1 & 1 & 0 \\
|
||||
0 & 1 & 1 \\
|
||||
@@ -540,14 +613,10 @@ appending the corresponding syndrome vector as a column.
|
||||
\end{gather*}
|
||||
\end{minipage}
|
||||
|
||||
\newcommand{\preperr}[1]{
|
||||
\gate[style={fill=blue!20}]{\scriptstyle #1}
|
||||
}
|
||||
|
||||
\vspace*{5mm}
|
||||
|
||||
\begin{quantikz}[
|
||||
row sep=4mm, column sep=4mm,
|
||||
row sep=4mm, column sep=3.4mm,
|
||||
wire types={q,q,q,q,q,n,n,n,n},
|
||||
execute at end picture={
|
||||
\draw [
|
||||
@@ -601,7 +670,7 @@ appending the corresponding syndrome vector as a column.
|
||||
|
||||
\begin{figure}[t]
|
||||
\begin{gather*}
|
||||
\hspace*{-33.3mm}%
|
||||
\hspace*{-31.8mm}%
|
||||
\begin{array}{c}
|
||||
E_6 \\
|
||||
\downarrow
|
||||
@@ -609,7 +678,7 @@ appending the corresponding syndrome vector as a column.
|
||||
\end{gather*}
|
||||
\vspace*{-8mm}
|
||||
\begin{gather*}
|
||||
\bm{\Omega} =
|
||||
\bm{\Omega}_1 =
|
||||
\left(
|
||||
\begin{array}{
|
||||
cccccc%
|
||||
@@ -694,96 +763,141 @@ appending the corresponding syndrome vector as a column.
|
||||
\end{figure}
|
||||
|
||||
%%%%%%%%%%%%%%%%
|
||||
\subsection{Detector Error Matrix}
|
||||
\label{subsec:Detector Error Matrix}
|
||||
\subsection{Detector Matrix}
|
||||
\label{subsec:Detector Matrix}
|
||||
|
||||
% Core idea
|
||||
|
||||
% TODO: Make this a proper definition?
|
||||
Instead of using the measurements as parity indicators directly, we
|
||||
may wish to combine them in some way.
|
||||
We call such combinations \emph{detectors}.
|
||||
Formally, a detector is a parity constraint on a set of measurement
|
||||
outcomes \cite[Def.~2.1]{derks_designing_2025}.
|
||||
Changing the perspective in this way does not alter the theoretical
|
||||
error correcting capabilities of the circuit, but it may change the
|
||||
decoding performance when using a practical decoder.
|
||||
\red{[Possibly a few more words on this (maybe a mathematical
|
||||
proof/intuition?)]}
|
||||
Instead of using stabilizer measurement results directly, we
|
||||
generalize the notion of what constitutes a parity check slightly.
|
||||
We formally define a \emph{detector} as a deterministic parity constraint on
|
||||
a set of measurement outcomes \cite[Def.~2.1]{derks_designing_2025}.
|
||||
It can be seen that we will have as many linearly
|
||||
independent detectors as there are separate deterministic measurements.
|
||||
In the most straightforward case, we may simply use the stabilizer
|
||||
measurements as detectors.
|
||||
We generally aim to utilize the maximum number of linearly
|
||||
independent detectors \cite[Sec.~2.2]{derks_designing_2025}.
|
||||
|
||||
% The detector matrix
|
||||
|
||||
% TODO: Fix the notation mess
|
||||
We describe the relationship between measurements and detectors using
|
||||
the \emph{detector matrix} $\bm{D} \in \mathbb{F}_2^{d\times m}$
|
||||
\cite[Def.~2.2]{derks_designing_2025}.
|
||||
Similar to the way a \ac{pcm} connects bits with parity checks, the
|
||||
detector matrix links measurements and detectors.
|
||||
Each column corresponds to a measurement, while the rows correspond
|
||||
to the detectors.
|
||||
the \emph{detector matrix} $\bm{D} \in \mathbb{F}_2^{D\times M}$
|
||||
\cite[Def.~2.2]{derks_designing_2025}, with $~D\in \mathbb{N}$
|
||||
denoting the number of detectors.
|
||||
Similar to the way a \ac{pcm} associates bits with parity checks, the
|
||||
detector matrix links measurement outcomes and detectors.
|
||||
Each column corresponds to a measurement, while each row corresponds
|
||||
to a detector.
|
||||
We should note at this point that the combination of measurements
|
||||
into detectors has no bearing on the actual construction of the
|
||||
syndrome extraction circuitry.
|
||||
It is something that happens ``virtually'' after the fact and only
|
||||
affects the decoder.
|
||||
It is something that happens ``virtually'' and only affects the decoder.
|
||||
|
||||
Note that we can use the detector matrix $\bm{D}$ to describe the set
|
||||
of possible measurement outcomes under the absence of noise.
|
||||
Similar to the we use a \ac{pcm} to describe the code space as
|
||||
\begin{equation*}
|
||||
\mathcal{C}
|
||||
= \{ \bm{x} \in \mathbb{F}_2^{n} : \bm{H}\bm{x}^\mathsf{T} = \bm{0} \}
|
||||
,%
|
||||
\end{equation*}
|
||||
the set of possible measurement outcomes is simply $\text{kern}\{\bm{D}\}$
|
||||
\cite[Sec.~2.2]{derks_designing_2025}.
|
||||
|
||||
%%%%%%%%%%%%%%%%
|
||||
\subsection{Detector Error Matrix}
|
||||
\label{subsec:Detector Error Matrix}
|
||||
|
||||
% The detector error matrix
|
||||
|
||||
We now know how the errors at different locations in the circuit
|
||||
affect the measurements ($\bm{\Omega}$), and we know how the
|
||||
measurements relate to the detectors ($\bm{D}$).
|
||||
affect the measurements (through $\bm{\Omega}$), and we know how the
|
||||
measurements relate to the detectors (through $\bm{D}$).
|
||||
For decoding, we are interested in the effect of the errors on the
|
||||
detectors directly.
|
||||
We thus construct the \emph{detector error matrix} $\bm{H} \in
|
||||
\mathbb{F}_2^{d\times N}$ \cite[Def.~2.9]{derks_designing_2025} as
|
||||
Thus, we construct the \emph{detector error matrix} $\bm{H} \in
|
||||
\mathbb{F}_2^{D\times N}$ \cite[Def.~2.9]{derks_designing_2025} as
|
||||
\begin{align*}
|
||||
\bm{H} := \bm{D}\bm{\Omega}
|
||||
.%
|
||||
\end{align*}
|
||||
Note that, in particular when $d=m$, this is equivalent to performing row
|
||||
additions on the matrix $\bm{\Omega}$.
|
||||
|
||||
% There are multiple ways of choosing the detectors
|
||||
|
||||
There is a degree of freedom in how we choose the detectors, which is
|
||||
reflected in the fact that we can construct multiple different
|
||||
detector matrices $\bm{D}$ from the same circuit.
|
||||
For two detector matrices $\bm{D}_1$ and $\bm{D}_2$, as long as
|
||||
\begin{gather}
|
||||
\label{eq:kern_condition}
|
||||
\text{kern}\{\bm{D}_1\} = \text{kern}\{\bm{D}_2\}
|
||||
\end{gather}
|
||||
they describe the same set of possible measurement outcomes (under
|
||||
the absence of noise) and thus the same circuit.
|
||||
In fact, as long as \Cref{eq:kern_condition} holds, the detector
|
||||
error matrices constructed from them can distinguish between the
|
||||
same pairs of error sets \cite[Lemma~6]{derks_designing_2025}.
|
||||
To see this, we note that we can distinguish between two circuit
|
||||
error vectors $\bm{e}_1$ and $\bm{e}_2$ as long as they do not
|
||||
violate the same set of detectors, i.e.,
|
||||
\begin{align*}
|
||||
\hspace{-15mm}
|
||||
% tex-fmt: off
|
||||
&& \bm{H} \bm{e}_1^\mathsf{T} & \neq \bm{H} \bm{e}_2^\mathsf{T} \\
|
||||
\iff \hspace{-33mm} && \bm{H} \left( \bm{e}_1 - \bm{e}_2 \right)^\mathsf{T} & \neq 0 \\
|
||||
\iff \hspace{-33mm} && \bm{D} \bm{\Omega} \left( \bm{e}_1 - \bm{e}_2 \right)^\mathsf{T} & \neq 0 \\
|
||||
\iff \hspace{-33mm} && \bm{\Omega} \left( \bm{e}_1 - \bm{e}_2 \right)^\mathsf{T} & \notin \text{kern} \{\bm{D}\}
|
||||
% tex-fmt: on
|
||||
.%
|
||||
\end{align*}
|
||||
We conclude that altering our perspective by choosing a different
|
||||
detector matrix
|
||||
does not modify the error correcting capabilities of the code.
|
||||
It may, however, change the decoding performance when using a practical decoder.
|
||||
|
||||
% How to choose the detectors
|
||||
|
||||
% TODO: Give results from current and previous stage mathematical names
|
||||
We still have a degree of freedom in how we choose the detectors.
|
||||
\ldots
|
||||
What constitutes a good set of detectors is difficult to assess
|
||||
without performing explicit decoding simulations, since it ultimately
|
||||
depends on the employed decoder.
|
||||
For iterative decoders, high sparsity is generally beneficial, but
|
||||
finding detectors that maximize sparsity is an NP-complete problem
|
||||
\cite[Sec.~2.6]{derks_designing_2025}.
|
||||
There is, however, one way of defining the detectors that will prove useful
|
||||
at a later stage.
|
||||
To the measurement results from each syndrome extraction round, we
|
||||
To the measurement results from each syndrome extraction round we
|
||||
can add the results from the previous round, as illustrated in
|
||||
\autoref{fig:detectors_from_measurements_general}.
|
||||
\red{[Mathematical notation for measurement combination]}
|
||||
\Cref{fig:detectors_from_measurements_general}.
|
||||
Thus, we have $D=n-k$.
|
||||
Concretely, we denote the outcome of
|
||||
measurement $\ell \in [1:n-k]$ in round $r \in [1:R]$ by
|
||||
$m_\ell^{(r)} \in \mathbb{F}_2$
|
||||
and define
|
||||
\begin{gather*}
|
||||
\bm{m}^{(r)} :=
|
||||
\begin{pmatrix}
|
||||
m_1^{(r)} \\
|
||||
\vdots \\
|
||||
m_{n-k}^{(r)}
|
||||
\end{pmatrix}
|
||||
.%
|
||||
\end{gather*}
|
||||
Similarly, we denote the outcome of detector $j\in[1:D]$ in
|
||||
round $r$ by $d_j^{(r)} \in \mathbb{F}_2$ and define
|
||||
\begin{gather}
|
||||
\label{eq:measurement_combination}
|
||||
\bm{d}^{(r)} =
|
||||
\begin{pmatrix}
|
||||
d_1^{(r)} \\
|
||||
\vdots \\
|
||||
d_D^{(r)}
|
||||
\end{pmatrix}
|
||||
:= \bm{m}^{(r)} + \bm{m}^{(r-1)}
|
||||
,%
|
||||
\end{gather}
|
||||
with $\bm{m}^{(0)} = \bm{0}$.
|
||||
|
||||
We again turn our attention to the three-qubit repetition code.
|
||||
In \autoref{fig:rep_code_multiple_rounds_phenomenological} we can see
|
||||
that $E_6$ has occurred and has subsequently tripped the last four measurements.
|
||||
We now take those measurements and combine them according to
|
||||
\red{[Reference mathematical notation above]}.
|
||||
We can see this process graphically in
|
||||
\autoref{fig:detectors_from_measurements_rep_code}
|
||||
To understand why this way of defining the detectors is useful, we
|
||||
note that the error $E_6$ in
|
||||
\autoref{fig:rep_code_multiple_rounds_phenomenological} has not only
|
||||
tripped the measurements in the syndrome extraction round immediately
|
||||
afterwards, but all subsequent ones as well.
|
||||
To only see errors in the rounds immediately following them, we
|
||||
consider our newly defined detectors instead of the measurements,
|
||||
that effectively compute the difference between the measurements.
|
||||
|
||||
Each error can only trip syndrome bits that follow it.
|
||||
We can see this in the triangular structure of $\bm{\Omega}$ in
|
||||
\autoref{fig:rep_code_multiple_rounds_phenomenological}.
|
||||
Combining the measurements into detectors according to
|
||||
\red{[Reference mathematical notation above]}, we are performing row
|
||||
additions in such a way as to clear the bottom left of the matrix.
|
||||
This yields a block-diagonal structure for the detector error matrix
|
||||
$\bm{H}$, as in the example in
|
||||
\autoref{fig:detectors_from_measurements_rep_code}.
|
||||
Note that we exploit the fact that each syndrome measurement round is
|
||||
identical to obtain this structure.
|
||||
|
||||
% TODO: Change notation (\bm{D})
|
||||
\begin{figure}[t]
|
||||
\centering
|
||||
|
||||
@@ -801,7 +915,7 @@ identical to obtain this structure.
|
||||
& \wire[d][3]{c} & & \wire[d][1]{c} & & \wire[d][1]{c} & & \wire[d][1]{c} & \\
|
||||
& \ctrl[wire=c]{0}\wire[r][1]{c} & \wire[d][1]{c} & \ctrl[vertical wire=c]{1}\wire[r][1]{c} & \wire[d][1]{c} & \ctrl[vertical wire=c]{1}\wire[r][1]{c} & \wire[d][1]{c} & \ctrl[vertical wire=c]{1}\wire[r][1]{c} & \\
|
||||
& & \wire[r][1]{c} & \targ{}\wire[d][1]{c} & \wire[r][1]{c} & \targ{}\wire[d][1]{c} & \wire[r][1]{c} & \targ{}\wire[d][1]{c} & \\
|
||||
& \gate[1]{\bm{D}_1} & & \gate[1]{\bm{D}_2} & & \gate[1]{\bm{D}_3} & & \gate[1]{\bm{D}_4} & \\
|
||||
& \gate[1]{\bm{d}^{(1)}} & & \gate[1]{\bm{d}^{(2)}} & & \gate[1]{\bm{d}^{(3)}} & & \gate[1]{\bm{d}^{(4)}} & \\
|
||||
\end{quantikz}
|
||||
% tex-fmt: on
|
||||
|
||||
@@ -809,56 +923,78 @@ identical to obtain this structure.
|
||||
\label{fig:detectors_from_measurements_general}
|
||||
\end{figure}
|
||||
|
||||
We again turn our attention to the three-qubit repetition code.
|
||||
In \Cref{fig:rep_code_multiple_rounds_phenomenological} we can see
|
||||
that $E_6$ has occurred and has subsequently triggered the last four
|
||||
measurements.
|
||||
We now take those measurements and combine them according to
|
||||
\Cref{eq:measurement_combination}.
|
||||
We can see this process graphically in
|
||||
\Cref{fig:detectors_from_measurements_rep_code}.
|
||||
To understand why this way of defining the detectors is useful, we
|
||||
note that the error $E_6$ in
|
||||
\Cref{fig:rep_code_multiple_rounds_phenomenological} has not only
|
||||
triggered the measurements in the syndrome extraction round immediately
|
||||
afterwards, but all subsequent ones as well.
|
||||
To only see the effect of errors in the syndrome measurement round
|
||||
immediately following them, we consider our newly defined detectors
|
||||
instead of the measurements.
|
||||
These effectively compute the difference between the measurements.
|
||||
|
||||
Each error can only trigger syndrome bits that follow it.
|
||||
This is reflected in the triangular structure of $\bm{\Omega}$ in
|
||||
\Cref{eq:syndrome_matrix_ex}.
|
||||
Combining the measurements into detectors according to
|
||||
\Cref{eq:measurement_combination}, we are effectively performing
|
||||
row additions in such a way as to clear the bottom left of the matrix.
|
||||
The resulting detector error matrix
|
||||
\begin{align*}
|
||||
\bm{H} =
|
||||
\left(
|
||||
\begin{array}{ccccccccccccccc}
|
||||
1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
|
||||
0 & 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
|
||||
0 & 0 & 0 & 1 & 0 & 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\
|
||||
0 & 0 & 0 & 0 & 1 & 0 & 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\
|
||||
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 1 & 1 & 0 & 1 & 0 \\
|
||||
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 1 & 1 & 0 & 1
|
||||
\end{array}
|
||||
\right)
|
||||
\end{align*}
|
||||
has a block-diagonal structure.
|
||||
Note that we exploit the fact that each syndrome measurement round is
|
||||
identical to obtain this structure.
|
||||
|
||||
\begin{figure}[t]
|
||||
\centering
|
||||
|
||||
\hspace*{-5mm}
|
||||
\begin{minipage}{0.42\textwidth}
|
||||
\newcommand{\redwire}[1]{
|
||||
\wire[r][#1][style={draw=red, line width=1.5pt, double}]{q}
|
||||
}
|
||||
\newcommand{\inwire}{
|
||||
\wire[l][1][style={draw=red, line width=1.5pt}]{q}
|
||||
}
|
||||
\newcommand{\redtarg}{
|
||||
\targ[style={draw=red,line width=1.5pt}]{}%
|
||||
\setwiretype{n}%
|
||||
}
|
||||
\newcommand{\redctrl}[1]{
|
||||
\ctrl[style={draw=red,fill=red, line width=1.5pt}]{0}%
|
||||
\wire[d][#1][style={draw=red, line width=1.5pt, double}]{q}
|
||||
}
|
||||
\newcommand{\redmeter}{\meter[style={draw=red,fill=red!20}]{}}
|
||||
\newcommand{\redgate}[1]{\gate[style={draw=red,fill=red!20}]{\textcolor{red}{#1}}}
|
||||
\newcommand{\redwire}[1]{
|
||||
\wire[r][#1][style={draw=red, line width=1.5pt, double}]{q}
|
||||
}
|
||||
\newcommand{\inwire}{
|
||||
\wire[l][1][style={draw=red, line width=1.5pt}]{q}
|
||||
}
|
||||
\newcommand{\redtarg}{
|
||||
\targ[style={draw=red,line width=1.5pt}]{}%
|
||||
\setwiretype{n}%
|
||||
}
|
||||
\newcommand{\redctrl}[1]{
|
||||
\ctrl[style={draw=red,fill=red, line width=1.5pt}]{0}%
|
||||
\wire[d][#1][style={draw=red, line width=1.5pt, double}]{q}
|
||||
}
|
||||
\newcommand{\redmeter}{\meter[style={draw=red,fill=red!20}]{}}
|
||||
\newcommand{\redgate}[1]{\gate[style={draw=red,fill=red!20}]{\textcolor{red}{#1}}}
|
||||
|
||||
% tex-fmt: off
|
||||
\begin{quantikz}[row sep=4mm, column sep=3mm, wire types={n,n,n,n,n,n}]
|
||||
& \meter{}\wire[l][1]{q}\wire[r][1]{c} & \setwiretype{c} & & & \ctrl[vertical wire=c]{2} & & \gate{D_1} \\
|
||||
& \meter{}\wire[l][1]{q}\wire[r][1]{c} & \setwiretype{c} & & & & \ctrl[vertical wire=c]{2} & \gate{D_2} \\
|
||||
& \redmeter{}\inwire\redwire{6} & & \redctrl{2} & & \targ{} & & \redgate{D_3} \\
|
||||
& \redmeter{}\inwire\redwire{6} & & & \redctrl{2} & & \targ{} & \redgate{D_4} \\
|
||||
& \redmeter{}\inwire\redwire{2} & & \redtarg\wire[r][4]{c} & & & & \gate{D_5} \\
|
||||
& \redmeter{}\inwire\redwire{3} & & & \redtarg\wire[r][3]{c} & & & \gate{D_6}
|
||||
\end{quantikz}
|
||||
% tex-fmt: on
|
||||
\end{minipage}%
|
||||
\begin{minipage}{0.56\textwidth}
|
||||
\newcommand\cc{\cellcolor{orange!20}}
|
||||
|
||||
\begin{align*}
|
||||
\bm{H} =
|
||||
% tex-fmt: off
|
||||
\left(\begin{array}{ccccccccccccccc}
|
||||
1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
|
||||
0 & 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
|
||||
\cc{0} & \cc{0} & \cc{0} & \cc{1} & \cc{0} & 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\
|
||||
\cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{1} & 0 & 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\
|
||||
\cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{1} & \cc{0} & 1 & 1 & 0 & 1 & 0 \\
|
||||
\cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{1} & 0 & 1 & 1 & 0 & 1
|
||||
\end{array}\right)
|
||||
% tex-fmt: on
|
||||
\end{align*}
|
||||
\end{minipage}
|
||||
% tex-fmt: off
|
||||
\begin{quantikz}[row sep=4mm, column sep=3mm, wire types={n,n,n,n,n,n}]
|
||||
& \meter{}\wire[l][1]{q}\wire[r][1]{c} & \setwiretype{c} & & & \ctrl[vertical wire=c]{2} & & \gate{D_1} \\
|
||||
& \meter{}\wire[l][1]{q}\wire[r][1]{c} & \setwiretype{c} & & & & \ctrl[vertical wire=c]{2} & \gate{D_2} \\
|
||||
& \redmeter{}\inwire\redwire{6} & & \redctrl{2} & & \targ{} & & \redgate{D_3} \\
|
||||
& \redmeter{}\inwire\redwire{6} & & & \redctrl{2} & & \targ{} & \redgate{D_4} \\
|
||||
& \redmeter{}\inwire\redwire{2} & & \redtarg\wire[r][4]{c} & & & & \gate{D_5} \\
|
||||
& \redmeter{}\inwire\redwire{3} & & & \redtarg\wire[r][3]{c} & & & \gate{D_6}
|
||||
\end{quantikz}
|
||||
% tex-fmt: on
|
||||
|
||||
\caption{Construction of detectors from the measurements of a
|
||||
three-qubit repetition code.}
|
||||
@@ -870,18 +1006,26 @@ identical to obtain this structure.
|
||||
\label{subsec:Detector Error Models}
|
||||
|
||||
A \emph{detector error model} is the combination of the detector
|
||||
error matric $\bm{H}$ and the noise model $\bm{p}$.
|
||||
|
||||
\content{Combination of detector error matrix and noise model}
|
||||
\content{Contains all information necessary for decoding
|
||||
\cite[Intro.]{derks_designing_2025}}
|
||||
\content{Not only useful for decoding, but also for ... (Derks et al.)}
|
||||
error matrix $\bm{H}$ and the noise model $\bm{p}$.
|
||||
\cite[Sec.~6]{derks_designing_2025}.
|
||||
It serves as an abstract representation of a circuit and can be used
|
||||
both to transfer information to a decoder but also to aid in the
|
||||
design of fault-tolerant systems, e.g., it can be used to investigate
|
||||
the properties of a circuit with respect to fault tolerance.
|
||||
It contains all information necessary for the decoding process.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Practical Considerations}
|
||||
\label{sec:Practical Considerations}
|
||||
|
||||
% Practical simulation aspects
|
||||
The previous sections give an overview over available noise models
|
||||
and the function of \acp{dem}.
|
||||
In order to successfully apply these concepts in practice, we must
|
||||
consider a few further aspects.
|
||||
|
||||
%%%%%%%%%%%%%%%%
|
||||
\subsection{Choice of Noise Model}
|
||||
\label{subsec:Choice of Noise Model}
|
||||
|
||||
While these types of noise models give us some constraints on the
|
||||
types and locations of errors, the question of how exactly to choose
|
||||
@@ -896,28 +1040,100 @@ For circuit-level noise, various options exist, such as the \emph{SI1000}
|
||||
measurements) models \cite[Sec.~2.1]{gidney_fault-tolerant_2021}.
|
||||
These differ in the way they compute individual error probabilities
|
||||
from the physical error rate.
|
||||
In this work we only consider \emph{standard circuit-based depolarizing
|
||||
noise}, as this is the standard approach in the literature.
|
||||
We thus set the error probabilities of all error locations in the
|
||||
circuit-level noise model to the same value, the physical error rate $p$.
|
||||
|
||||
\content{Intro}
|
||||
In this work we consider the \emph{standard circuit-based depolarizing
|
||||
noise} variant of circuit-level noise, as this is the standard
|
||||
approach in the literature:
|
||||
We set the error probabilities of all error locations to the same
|
||||
value, the physical error rate $p_\text{phys}$.
|
||||
|
||||
%%%%%%%%%%%%%%%%
|
||||
\subsection{Practical Methodology}
|
||||
\label{subsec:Practical Methodology}
|
||||
\subsection{Per-Round Logical Error Rate}
|
||||
\label{subsec:Per-Round Logical Error Rate}
|
||||
|
||||
\content{Per-round-LER explanation}
|
||||
% Per-round LER
|
||||
|
||||
Another important aspect to consider is the meaning of the
|
||||
\ac{ler} in the context of a \ac{qec} system with multiple
|
||||
rounds of syndrome measurements.
|
||||
In order to facilitate the comparability of results obtained from
|
||||
simulations with different numbers of syndrome extraction rounds, we
|
||||
use the \emph{per-round-\ac{ler}}.
|
||||
|
||||
The simplest way of calculating the per-round \ac{ler} is by modeling
|
||||
each round as an independent experiment.
|
||||
For each experiment, an error might occur with a certain probability
|
||||
$p_\text{e,round}$.
|
||||
Then the overall probability of error is
|
||||
\begin{align}
|
||||
\hspace{-12mm}
|
||||
p_\text{e,total} &= 1 - (1 - p_\text{e,round})^{R} \nonumber\\
|
||||
\label{eq:per_round_ler}
|
||||
\implies \hspace{3mm} p_\text{e,round} &=
|
||||
1 - (1 - p_\text{e,total})^{1 / R}
|
||||
.%
|
||||
\hspace{12mm}
|
||||
\end{align}
|
||||
To this end, we approximate $p_\text{e,total}$ using a Monte Carlo
|
||||
simulation and
|
||||
compute the per-round-\ac{ler} according to \Cref{eq:per_round_ler}.
|
||||
This is the approach taken in \cite{gong_toward_2024}\cite{wang_fully_2025}.
|
||||
|
||||
Another approach \cite{chen_exponential_2021}%
|
||||
\cite{bausch_learning_2024}\cite{beni_tesseract_2025} is to assume an
|
||||
exponential decay for the \emph{logical fidelity} of the decoder
|
||||
\cite[Eq.~(2)]{bausch_learning_2024}
|
||||
\begin{align*}
|
||||
F_\text{total} = (F_\text{round})^{R}
|
||||
.%
|
||||
\end{align*}
|
||||
The logical fidelity is a measure of the quality of a logical state
|
||||
\cite[Appendix~E]{postler_demonstration_2024}.
|
||||
As it is related to the error rate through $F = 1 - 2p$, we obtain
|
||||
\cite[Eq.~(4)]{bausch_learning_2024}
|
||||
\begin{align}
|
||||
(1 - 2p_\text{e,total}) &= (1 - 2p_\text{e,round})^{R} \nonumber\\
|
||||
\implies \hspace{15mm} p_\text{e,round} &= \frac{1}{2}
|
||||
\left[ 1 - (1 - 2p_\text{e,total})^{1/R} \right]
|
||||
.%
|
||||
\end{align}
|
||||
|
||||
We have chosen to use the first approach, i.e.,
|
||||
\Cref{eq:per_round_ler}, as the related literature is closer in
|
||||
topic to our own work.
|
||||
|
||||
%%%%%%%%%%%%%%%%
|
||||
\subsection{Stim}
|
||||
\label{subsec:Stim}
|
||||
|
||||
\content{Circuit code heavily depends on the exact circuit construction}
|
||||
\content{Not easy to predict how errors at different locations
|
||||
propagate through the circuit an what detectors they affect}
|
||||
It is not immediately apparent how the \ac{dem} will look from
|
||||
considering the \ac{pcm} of a code, because it heavily depends on the
|
||||
exact circuit construction and choice of noise model.
|
||||
As we noted in \Cref{subsec:Measurement Syndrome Matrix}, we
|
||||
obtain a measurement syndrome matrix by propagating Pauli frames
|
||||
through the circuit.
|
||||
The standard choice of simulation tool used for this purpose is
|
||||
\emph{stim}%
|
||||
\footnote{https://github.com/quantumlib/Stim}
|
||||
\cite{gidney_stim_2021}, which is available as a Python 3
|
||||
pypi package.
|
||||
In fact, it was in this tool that the concept of the \ac{dem} was
|
||||
first introduced.
|
||||
|
||||
\content{Stim is a software package that generates DEMs from circuits}
|
||||
\content{The user still has to define the circuit themselves, and
|
||||
especially the detectors \cite[Sec~2.5]{derks_designing_2025}}
|
||||
One capability of stim, and \acp{dem} in general, that we did not
|
||||
explain in detail in this chapter, is the merging of error mechanisms.
|
||||
Since \acp{dem} differentiate errors based on their effect on the
|
||||
measurements and not on their Pauli type and location
|
||||
\cite[Sec.~1.4.3]{higgott_practical_2024}, it is natural to group
|
||||
errors that have the same effect, i.e., syndrome.
|
||||
This slightly lowers the computational complexity of decoding, as the
|
||||
number of resulting \acp{vn} is reduced.
|
||||
|
||||
While stim is a useful tool for circuit simulation, it does not
|
||||
include many utilities for building syndrome extraction circuitry automatically.
|
||||
The user has to define most, if not all, of the circuit manually,
|
||||
depending on the code in question.
|
||||
This is somewhat natural, as stim is meant first and foremost as a
|
||||
simulator, and circuit generation is contingent upon the \ac{qec}
|
||||
scheme in question.
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1 +1,115 @@
|
||||
\chapter{Conclusion and Outlook}
|
||||
\label{ch:Conclusion}
|
||||
|
||||
% Recap of motivation
|
||||
|
||||
This thesis investigates decoding under \acp{dem} for fault-tolerant
|
||||
\ac{qec}, with a focus on low-latency decoding methods for \ac{qldpc} codes.
|
||||
The repetition of the syndrome measurements, especially under
|
||||
consideration of circuit-level noise, leads to a significant increase
|
||||
in decoding complexity: In our experiments on the $\llbracket
|
||||
144,12,12 \rrbracket$ \ac{bb} code with $12$ syndrome extraction
|
||||
rounds, the check matrix grows from 144 \acp{vn} and 72
|
||||
\acp{cn} to 9504 \acp{vn} and 1008 \acp{cn}.
|
||||
|
||||
% Recap of research gap and own work
|
||||
|
||||
Sliding-window decoding addresses the latency constraint by
|
||||
exploiting the time-like locality of the syndrome extraction circuit.
|
||||
This manifests as a block-diagonal structure in the detector error
|
||||
matrix when detectors are defined as the difference of consecutive
|
||||
syndrome measurement rounds.
|
||||
We draw a comparison to windowed decoding for \ac{sc}-\ac{ldpc}
|
||||
codes, but note that the existing realizations of sliding-window
|
||||
decoding discard the soft information produced inside one window
|
||||
before moving to the next.
|
||||
Building on this observation, we proposed warm-start sliding-window
|
||||
decoding, in which the \ac{bp} messages on the edges crossing into
|
||||
the overlap region of the previous window are reused to initialise
|
||||
the corresponding messages of the next window in place of the
|
||||
standard cold-start initialisation.
|
||||
|
||||
We formulate the warm start for standard \ac{bp} and for
|
||||
\ac{bpgd}.
|
||||
The latter is particularly attractive as an inner decoder because it
|
||||
addresses the convergence problems caused by short cycles and
|
||||
degeneracy in \ac{qldpc} Tanner graphs.
|
||||
The decoders are evaluated by conducting Monte Carlo simulations on the
|
||||
$\llbracket 144,12,12 \rrbracket$ \ac{bb} code over $12$ syndrome
|
||||
extraction rounds under standard circuit-based depolarizing noise.
|
||||
We focus on a qualitative analysis, refraining from further
|
||||
optimizations such as introducing a normalization parameter for the
|
||||
min-sum algorithm.
|
||||
|
||||
% Recap of experimental conclusions
|
||||
|
||||
For standard min-sum \ac{bp}, the warm start is consistently
|
||||
beneficial to the cold start, across the considered parameter ranges.
|
||||
The size of the gain depends on the overlap between consecutive
|
||||
windows: Enlarging $W$ or shrinking $F$, both of which enlarge the
|
||||
overlap, result in larger gains of the warm-start.
|
||||
We observe that the underlying mechanism is an effective increase in
|
||||
the number of \ac{bp} iterations spent on the \acp{vn} in the overlap
|
||||
region: Each such \ac{vn} is processed by multiple consecutive window
|
||||
invocations, and the warm start lets these invocations accumulate
|
||||
iterations on the same \acp{vn} rather than restarting from scratch.
|
||||
The gain was most pronounced at low numbers of maximum iterations, where
|
||||
every additional iteration carries proportionally more information.
|
||||
|
||||
For \ac{bpgd}, we note that more information is available in the
|
||||
overlap region of a window: In addition to the \ac{bp} messages,
|
||||
there is information about which \acp{vn} were decimated and to what value.
|
||||
Passing this decimation information to the next window in addition to
|
||||
the messages turned out to worsen the performance considerably, which
|
||||
we attributed to a premature hard decision of the \acp{vn} in the
|
||||
overlap region.
|
||||
Restricting the warm start to the \ac{bp} messages alone, removed this effect.
|
||||
The resulting message-only warm start recovered a consistent
|
||||
improvement over cold-start that followed the same qualitative
|
||||
behaviour as for standard \ac{bp}: Larger overlap, achieved by larger
|
||||
$W$ or smaller $F$, yielded a larger gain, and the
|
||||
performance difference is most pronounced at low numbers of maximum iterations.
|
||||
|
||||
% Implications from experimental results
|
||||
|
||||
These observations imply that the warm-start modification to
|
||||
sliding-window decoding can provide a consistent improvement, as long as
|
||||
some care is taken with specifying the information to be passed to
|
||||
the subsequent window.
|
||||
Note that this comes at no additional cost to the decoding complexity,
|
||||
since the only difference between warm- and cold-start sliding-window
|
||||
decoding is the initialization of the \ac{bp} messages.
|
||||
We expect similar behavior with other inner decoders that support
|
||||
soft information initialization in the overlap region.
|
||||
|
||||
% Further research
|
||||
|
||||
Several directions for further research emerge from this work.
|
||||
The most immediate is an extension of the evaluation to other
|
||||
\ac{qldpc} code families, to other circuit-level noise models such as
|
||||
SI1000 or EM3, and to a range of code sizes.
|
||||
This would clarify the generality of the gain due to the warm-start
|
||||
initialization.
|
||||
We expect the qualitative findings to carry over, since the
|
||||
underlying mechanism is structural rather than code-specific, but
|
||||
quantifying the gain across code families and noise models is left to
|
||||
future work.
|
||||
|
||||
A second direction is a systematic study of other inner decoders under the
|
||||
warm-start framework, such as automorphism ensemble decoding
|
||||
\cite{koutsioumpas_automorphism_2025} or neural \ac{bp}
|
||||
\cite{miao_quaternary_2025}.
|
||||
|
||||
A final direction is suggested by the structural similarity between
|
||||
sliding-window decoding for \acp{dem} and windowed decoding for
|
||||
\ac{sc}-\ac{ldpc} codes.
|
||||
The current approach to generating the syndrome extraction circuitry
|
||||
necessarily leads to a coupling width of one between adjacent
|
||||
syndrome measurement rounds.
|
||||
A natural question is whether the coupling width could be
|
||||
increased, e.g., by interleaving two separate realizations of the
|
||||
syndrome measurement circuitry instead of always repeating the same one.
|
||||
Work in this direction would also be a step toward bringing
|
||||
sliding-window decoding under DEMs within the scope of the analytical
|
||||
machinery developed for SC-LDPC codes.
|
||||
|
||||
|
||||
58
src/thesis/chapters/abstract.tex
Normal file
58
src/thesis/chapters/abstract.tex
Normal file
@@ -0,0 +1,58 @@
|
||||
\chapter*{Abstract}
|
||||
|
||||
% Current state of the art
|
||||
|
||||
\Ac{qec} protects fragile quantum states against decoherence by
|
||||
encoding logical information into a larger number of physical qubits.
|
||||
To obtain parity information on an encoded state without disturbing it, a
|
||||
syndrome extraction is performed.
|
||||
Because the syndrome extraction circuitry is itself implemented on
|
||||
noisy quantum hardware, practical \ac{qec} must be fault-tolerant,
|
||||
accounting for errors introduced by the correction procedure itself.
|
||||
Fault tolerance considerations and the syndrome extraction circuit
|
||||
are captured by \acp{dem}, which provide a unified framework for passing
|
||||
this information to the decoder.
|
||||
|
||||
Accounting for fault tolerance substantially inflates the
|
||||
decoding problem.
|
||||
At the same time, \ac{qec} imposes strict latency constraints due to
|
||||
the backlog problem, where syndrome data accumulates faster than it
|
||||
can be decoded.
|
||||
Together, these factors pose a serious challenge for practical decoders.
|
||||
Sliding-window decoding addresses this challenge by exploiting the
|
||||
repeated structure of the syndrome extraction circuitry, partitioning
|
||||
the check matrix of the \ac{dem} into overlapping windows that can be
|
||||
decoded sequentially.
|
||||
Therefore, decoding can begin as soon as the syndrome components
|
||||
associated with the first window have been measured.
|
||||
|
||||
% Our work: Identify research gap
|
||||
|
||||
In this thesis, we perform a review of the existing literature on
|
||||
sliding-window decoding and draw an analogy to windowed
|
||||
decoding of classical spatially-coupled low-density parity-check
|
||||
(\acs{sc}-\acs{ldpc}) codes.
|
||||
We recognize that in contrast to the latter, existing realizations
|
||||
of sliding-window decoding for \ac{qec} discard the soft information
|
||||
produced inside one window before moving to the subsequent window.
|
||||
|
||||
% Our work: Warm-start
|
||||
|
||||
% TODO: Quantify improvement. Also for conclusion
|
||||
To take this information into account, we propose warm-start
|
||||
sliding-window decoding, in which the \ac{bp} messages on the edges
|
||||
crossing into the overlap region of the previous window are reused to
|
||||
initialize the corresponding messages of the next window.
|
||||
The warm start is formulated first for standard \ac{bp} and then extended to
|
||||
\ac{bp} with guided decimation (\acs{bpgd}).
|
||||
For both standard \ac{bp} and \ac{bpgd} decoding, the warm-start
|
||||
initialization provides a consistent improvement across all examined
|
||||
parameter settings.
|
||||
We attribute this to an effective increase in \ac{bp} iterations on
|
||||
variable nodes in the overlap regions: Each such VN is processed by
|
||||
multiple consecutive windows, and warm-starting lets these
|
||||
invocations accumulate iterations rather than restart from scratch.
|
||||
Crucially, the warm-start modification incurs no additional
|
||||
computational cost relative to cold-start decoding, as it differs
|
||||
only in the initialization of the \ac{bp} messages.
|
||||
|
||||
@@ -1,2 +1,111 @@
|
||||
sed -i "s/Świerkowska/{\\\\'S}wierkowska/" bibliography.bib
|
||||
sed -i "s/Héctor/H{\\\\'e}ctor/" bibliography.bib
|
||||
sed -i "s/Bombín/Bomb{\\\\'i}n/" bibliography.bib
|
||||
sed -i "s/Zémor/Z{\\\\'e}mor/" bibliography.bib
|
||||
sed -Ezi "s/\s(abstract|note|urldate|url|keywords|file) = \{[^}]*(\{[^}]*\}[^}]*)*\},?\n//g" bibliography.bib
|
||||
|
||||
# Normalize arXiv-only entries to @misc with howpublished = {arXiv:<id>}.
|
||||
# Detection: doi matches 10.48550/arXiv.<id>. The IEEEtranSA .bst's @article
|
||||
# handler needs a journal field (which preprints lack) and ignores publisher,
|
||||
# so for arXiv preprints we coerce the type to @misc and add howpublished
|
||||
# (the field the .bst actually prints for @misc).
|
||||
python3 - <<'PY'
|
||||
import re
|
||||
|
||||
path = "bibliography.bib"
|
||||
with open(path) as f:
|
||||
text = f.read()
|
||||
|
||||
doi_re = re.compile(r"doi\s*=\s*\{10\.48550/arXiv\.([^}]+)\}")
|
||||
type_re = re.compile(r"^@([A-Za-z]+)\{", re.MULTILINE)
|
||||
howpublished_re = re.compile(r"^\s*howpublished\s*=\s*\{", re.MULTILINE)
|
||||
title_field_re = re.compile(r"\b(title|booktitle)\s*=\s*\{", re.IGNORECASE)
|
||||
inner_brace_re = re.compile(r"\{([A-Za-z0-9]+)\}")
|
||||
|
||||
# Split into entries by scanning for top-level "@type{...}" blocks. We walk
|
||||
# brace depth so that the closing "}" of the entry is matched correctly even
|
||||
# if internal fields contain braces.
|
||||
def split_entries(s):
|
||||
out, i, n = [], 0, len(s)
|
||||
while i < n:
|
||||
m = type_re.search(s, i)
|
||||
if not m:
|
||||
out.append(("text", s[i:]))
|
||||
break
|
||||
if m.start() > i:
|
||||
out.append(("text", s[i:m.start()]))
|
||||
depth, j = 0, m.start()
|
||||
while j < n:
|
||||
c = s[j]
|
||||
if c == "{":
|
||||
depth += 1
|
||||
elif c == "}":
|
||||
depth -= 1
|
||||
if depth == 0:
|
||||
j += 1
|
||||
break
|
||||
j += 1
|
||||
out.append(("entry", s[m.start():j]))
|
||||
i = j
|
||||
return out
|
||||
|
||||
def normalize_arxiv(entry):
|
||||
doi_m = doi_re.search(entry)
|
||||
if not doi_m:
|
||||
return entry
|
||||
arxiv_id = doi_m.group(1)
|
||||
entry = type_re.sub("@misc{", entry, count=1)
|
||||
if not howpublished_re.search(entry):
|
||||
# insert howpublished as the last field, before the entry-closing "}"
|
||||
entry = re.sub(
|
||||
r"(,?)(\s*)\}\s*$",
|
||||
lambda m: ("," if m.group(1) != "," else m.group(1))
|
||||
+ m.group(2) + "\thowpublished = {arXiv:" + arxiv_id + "},\n}",
|
||||
entry,
|
||||
count=1,
|
||||
)
|
||||
return entry
|
||||
|
||||
# Strip protective braces around words inside title/booktitle values.
|
||||
# BibTeX uses "{Word}" inside titles to preserve case against the bibliography
|
||||
# style's title-casing rules. We keep that protection only when every character
|
||||
# inside the braces is non-lowercase (e.g. acronyms like {NASA}); for ordinary
|
||||
# words like {Quantum} we drop the braces so the style's casing applies.
|
||||
def strip_title_braces(entry):
|
||||
out, i, n = [], 0, len(entry)
|
||||
while True:
|
||||
m = title_field_re.search(entry, i)
|
||||
if not m:
|
||||
out.append(entry[i:])
|
||||
break
|
||||
out.append(entry[i:m.end()])
|
||||
depth, j = 1, m.end()
|
||||
while j < n and depth > 0:
|
||||
c = entry[j]
|
||||
if c == "{":
|
||||
depth += 1
|
||||
elif c == "}":
|
||||
depth -= 1
|
||||
if depth == 0:
|
||||
break
|
||||
j += 1
|
||||
value = entry[m.end():j]
|
||||
cleaned = inner_brace_re.sub(
|
||||
lambda mm: mm.group(1) if any(c.islower() for c in mm.group(1)) else mm.group(0),
|
||||
value,
|
||||
)
|
||||
out.append(cleaned)
|
||||
if j < n:
|
||||
out.append(entry[j])
|
||||
i = j + 1
|
||||
return "".join(out)
|
||||
|
||||
def transform(entry):
|
||||
return strip_title_braces(normalize_arxiv(entry))
|
||||
|
||||
parts = split_entries(text)
|
||||
new_text = "".join(transform(p) if kind == "entry" else p for kind, p in parts)
|
||||
|
||||
with open(path, "w") as f:
|
||||
f.write(new_text)
|
||||
PY
|
||||
|
||||
@@ -129,6 +129,24 @@ sp="/-\|"
|
||||
# done
|
||||
# done
|
||||
|
||||
# Copy whole BP over max iter. results
|
||||
|
||||
echo -e "\rCopying whole over max_iter simulation results..."
|
||||
echo -n ' '
|
||||
for decoder in "SyndromeMinSumDecoder"; do
|
||||
for p in 0.001 0.0025 0.004; do
|
||||
SRC_PATH="${BASE_PATH}+rust_exp=max_iter_bp,decoder.class_name=${decoder},simulation.phy_err_rate=${p}/"
|
||||
LATEST_RESULTS_DIR=$(ls -t ${SRC_PATH} | head -1)
|
||||
SRC_FILE="${SRC_PATH}/${LATEST_RESULTS_DIR}/LERs.csv"
|
||||
DEST_DIR="res/sim/max_iter/${decoder}/p_${p}/"
|
||||
mkdir -p ${DEST_DIR}
|
||||
DEST_FILE="${DEST_DIR}/LERs.csv"
|
||||
cp ${SRC_FILE} ${DEST_FILE}
|
||||
post_process_LERs ${DEST_FILE}
|
||||
printf "\b${sp:i++%${#sp}:1}"
|
||||
done
|
||||
done
|
||||
|
||||
# # Copy BPGD decimation passing
|
||||
#
|
||||
# echo -e "\rCopying BPGD param exploration results..."
|
||||
@@ -151,20 +169,20 @@ sp="/-\|"
|
||||
|
||||
# Copy BPGD with decimation info passing over max iter. results
|
||||
|
||||
echo -e "\rCopying BPGD over max. iter. results..."
|
||||
echo -n ' '
|
||||
for pass_soft_info in "True" "False"; do
|
||||
for F in 1 2 3; do
|
||||
for W in 3 4 5; do
|
||||
SRC_PATH="${BASE_PATH}+rust_exp=max_iter_bpgd_pass_channel,decoder.class_name=WindowingSyndromeSpaGdDecoder,decoder.pass_soft_info=${pass_soft_info},simulation.phy_err_rate=0.0025,system.F=${F},system.W=${W}/"
|
||||
LATEST_RESULTS_DIR=$(ls -t ${SRC_PATH} | head -1)
|
||||
SRC_FILE="${SRC_PATH}/${LATEST_RESULTS_DIR}/LERs.csv"
|
||||
DEST_DIR="res/sim/max_iter/WindowingSyndromeSpaGdDecoderPassDecimation/p_0.0025/pass_soft_info_${pass_soft_info}/F_${F}/W_${W}"
|
||||
mkdir -p ${DEST_DIR}
|
||||
DEST_FILE="${DEST_DIR}/LERs.csv"
|
||||
cp ${SRC_FILE} ${DEST_FILE}
|
||||
post_process_LERs ${DEST_FILE}
|
||||
printf "\b${sp:i++%${#sp}:1}"
|
||||
done
|
||||
done
|
||||
done
|
||||
# echo -e "\rCopying BPGD over max. iter. results..."
|
||||
# echo -n ' '
|
||||
# for pass_soft_info in "True" "False"; do
|
||||
# for F in 1 2 3; do
|
||||
# for W in 3 4 5; do
|
||||
# SRC_PATH="${BASE_PATH}+rust_exp=max_iter_bpgd_pass_channel,decoder.class_name=WindowingSyndromeSpaGdDecoder,decoder.pass_soft_info=${pass_soft_info},simulation.phy_err_rate=0.0025,system.F=${F},system.W=${W}/"
|
||||
# LATEST_RESULTS_DIR=$(ls -t ${SRC_PATH} | head -1)
|
||||
# SRC_FILE="${SRC_PATH}/${LATEST_RESULTS_DIR}/LERs.csv"
|
||||
# DEST_DIR="res/sim/max_iter/WindowingSyndromeSpaGdDecoderPassDecimation/p_0.0025/pass_soft_info_${pass_soft_info}/F_${F}/W_${W}"
|
||||
# mkdir -p ${DEST_DIR}
|
||||
# DEST_FILE="${DEST_DIR}/LERs.csv"
|
||||
# cp ${SRC_FILE} ${DEST_FILE}
|
||||
# post_process_LERs ${DEST_FILE}
|
||||
# printf "\b${sp:i++%${#sp}:1}"
|
||||
# done
|
||||
# done
|
||||
# done
|
||||
|
||||
@@ -27,6 +27,9 @@
|
||||
\usepackage[noEnd=false]{algpseudocodex}
|
||||
\usepackage{nicematrix}
|
||||
\usepackage{colortbl}
|
||||
\usepackage{cleveref}
|
||||
\usepackage{lipsum}
|
||||
\usepackage{booktabs}
|
||||
|
||||
\usetikzlibrary{calc, positioning, arrows, fit}
|
||||
\usetikzlibrary{external}
|
||||
@@ -38,6 +41,11 @@
|
||||
|
||||
\setcounter{MaxMatrixCols}{20}
|
||||
|
||||
\Crefname{equation}{}{}
|
||||
\Crefname{section}{Section}{Sections}
|
||||
\Crefname{subsection}{Section}{Sections}
|
||||
\Crefname{figure}{Figure}{Figures}
|
||||
|
||||
%
|
||||
%
|
||||
% Custom commands
|
||||
@@ -45,7 +53,7 @@
|
||||
%
|
||||
|
||||
\newcommand{\red}[1]{\textcolor{red}{#1}}
|
||||
\newcommand{\content}[1]{\noindent\indent\red{[#1]}\\}
|
||||
\newcommand{\content}[1]{\noindent\indent\red{[#1]\\}}
|
||||
|
||||
\newcommand{\figwidth}{10cm}
|
||||
\newcommand{\figheight}{7.5cm}
|
||||
@@ -82,10 +90,12 @@
|
||||
% \thesisHeadOfInstitute{Prof. Dr.-Ing. Peter Rost}
|
||||
%\thesisHeadOfInstitute{Prof. Dr.-Ing. Peter Rost\\Prof. Dr.-Ing.
|
||||
% Laurent Schmalen}
|
||||
\thesisSupervisor{Jonathan Mandelbaum}
|
||||
\thesisStartDate{01.11.2025}
|
||||
\thesisEndDate{04.05.2026}
|
||||
\thesisSignatureDate{Signature date}
|
||||
\thesisSupervisor{Dr.-Ing. Hedongliang Liu\\ && M.Sc. Jonathan Mandelbaum}
|
||||
\thesisStartDate{Nov. 1st, 2025}
|
||||
\thesisEndDate{May 4th, 2026}
|
||||
\thesisSignatureDate{May 4th, 2026}
|
||||
\thesisSignature{res/Unterschrift_AT_blue.png}
|
||||
\thesisSignatureHeight{2.4cm}
|
||||
\thesisLanguage{english}
|
||||
|
||||
\begin{document}
|
||||
@@ -94,13 +104,16 @@
|
||||
\maketitle
|
||||
\newpage
|
||||
|
||||
% \include{chapters/abstract}
|
||||
\include{chapters/abstract}
|
||||
|
||||
\cleardoublepage
|
||||
\pagenumbering{arabic}
|
||||
|
||||
\tableofcontents
|
||||
\newgeometry{a4paper,left=3cm,right=3cm,top=2cm,bottom=2.5cm}
|
||||
\addtocontents{toc}{\protect\vspace*{-9mm}}
|
||||
\tableofcontents
|
||||
\cleardoublepage
|
||||
\restoregeometry
|
||||
|
||||
\input{chapters/1_introduction.tex}
|
||||
\input{chapters/2_fundamentals.tex}
|
||||
@@ -113,6 +126,11 @@
|
||||
% \listoftables
|
||||
% \include{abbreviations}
|
||||
|
||||
\cleardoublepage
|
||||
\phantomsection
|
||||
\addcontentsline{toc}{chapter}{List of Abbreviations}
|
||||
\printacronyms
|
||||
|
||||
\bibliography{lib/cel-thesis/IEEEabrv,src/thesis/bibliography}
|
||||
|
||||
\end{document}
|
||||
|
||||
BIN
src/thesis/res/Unterschrift_AT_blue.png
Normal file
BIN
src/thesis/res/Unterschrift_AT_blue.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 181 KiB |
@@ -0,0 +1,8 @@
|
||||
max_iter,num_trials,LER,LER_per_round,num_errors
|
||||
32,10528,0.0354293313069908,0.0030015014232951387,372.99999999999915
|
||||
128,68422,0.0029230364502645,0.00024391332035389457,199.99999999999764
|
||||
256,100000,0.00184,0.00015346279666106355,184.0
|
||||
512,100000,0.00122,0.00010172355962756452,122.0
|
||||
1024,100000,0.00084,7.002696447200307e-05,84.0
|
||||
2048,100000,0.00052,4.33436645435048e-05,51.99999999999999
|
||||
4096,100000,0.00042,3.5006739308451884e-05,42.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
max_iter,num_trials,LER,LER_per_round,num_errors
|
||||
32,5264,0.3575227963525836,0.03619728900635699,1882.0
|
||||
128,5264,0.1118920972644376,0.00983977212107956,588.9999999999995
|
||||
256,5264,0.0818768996960486,0.007093372523371166,430.99999999999983
|
||||
512,5264,0.0645896656534954,0.005548714177492475,339.9999999999998
|
||||
1024,5264,0.0524316109422492,0.004477957765848362,275.9999999999998
|
||||
2048,5264,0.0442629179331307,0.0037655941776483237,233.0
|
||||
4096,10528,0.0361892097264437,0.0030669771276242708,380.99999999999926
|
||||
|
@@ -0,0 +1,8 @@
|
||||
max_iter,num_trials,LER,LER_per_round,num_errors
|
||||
32,5264,0.8651215805471124,0.15375677320993897,4554.0
|
||||
128,5264,0.5987841945288754,0.0732807818579091,3152.0000000000005
|
||||
256,5264,0.5184270516717325,0.05907464062706547,2729.0
|
||||
512,5264,0.4591565349544073,0.04992921073125611,2417.0
|
||||
1024,5264,0.4209726443768997,0.04451268995716784,2216.0
|
||||
2048,5264,0.3865881458966565,0.03990837706831185,2035.0
|
||||
4096,5264,0.3563829787234042,0.036054914686007855,1875.9999999999995
|
||||
|
Reference in New Issue
Block a user