Compare commits
24 Commits
81292a2644
...
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 |
@@ -7,14 +7,14 @@
|
|||||||
language = {en},
|
language = {en},
|
||||||
number = {3},
|
number = {3},
|
||||||
journal = {Mathematical Proceedings of the Cambridge Philosophical Society},
|
journal = {Mathematical Proceedings of the Cambridge Philosophical Society},
|
||||||
author = {Dirac, P. a. M.},
|
author = {Dirac, P. A. M.},
|
||||||
month = jul,
|
month = jul,
|
||||||
year = {1939},
|
year = {1939},
|
||||||
pages = {416--418},
|
pages = {416--418},
|
||||||
}
|
}
|
||||||
|
|
||||||
@misc{huang_improved_2023,
|
@misc{huang_improved_2023,
|
||||||
title = {Improved {Noisy} {Syndrome} {Decoding} of {Quantum} {LDPC} {Codes} with {Sliding} {Window}},
|
title = {Improved Noisy Syndrome Decoding of Quantum {LDPC} Codes with Sliding Window},
|
||||||
doi = {10.48550/arXiv.2311.03307},
|
doi = {10.48550/arXiv.2311.03307},
|
||||||
publisher = {arXiv},
|
publisher = {arXiv},
|
||||||
author = {Huang, Shilin and Puri, Shruti},
|
author = {Huang, Shilin and Puri, Shruti},
|
||||||
@@ -47,7 +47,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@article{gidney_stability_2022,
|
@article{gidney_stability_2022,
|
||||||
title = {Stability {Experiments}: {The} {Overlooked} {Dual} of {Memory} {Experiments}},
|
title = {Stability Experiments: The Overlooked Dual of Memory Experiments},
|
||||||
volume = {6},
|
volume = {6},
|
||||||
issn = {2521-327X},
|
issn = {2521-327X},
|
||||||
shorttitle = {Stability {Experiments}},
|
shorttitle = {Stability {Experiments}},
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@misc{koutsioumpas_colour_2025,
|
@misc{koutsioumpas_colour_2025,
|
||||||
title = {Colour {Codes} {Reach} {Surface} {Code} {Performance} using {Vibe} {Decoding}},
|
title = {Colour Codes Reach Surface Code Performance using Vibe Decoding},
|
||||||
doi = {10.48550/arXiv.2508.15743},
|
doi = {10.48550/arXiv.2508.15743},
|
||||||
publisher = {arXiv},
|
publisher = {arXiv},
|
||||||
author = {Koutsioumpas, Stergios and Noszko, Tamas and Sayginel, Hasan and Webster, Mark and Roffe, Joschka},
|
author = {Koutsioumpas, Stergios and Noszko, Tamas and Sayginel, Hasan and Webster, Mark and Roffe, Joschka},
|
||||||
@@ -69,16 +69,17 @@
|
|||||||
howpublished = {arXiv:2508.15743},
|
howpublished = {arXiv:2508.15743},
|
||||||
}
|
}
|
||||||
|
|
||||||
@article{koutsioumpas_automorphism_2025,
|
@misc{koutsioumpas_automorphism_2025,
|
||||||
title = {Automorphism {Ensemble} {Decoding} of {Quantum} {LDPC} {Codes}},
|
title = {Automorphism Ensemble Decoding of Quantum {LDPC} Codes},
|
||||||
language = {en},
|
language = {en},
|
||||||
author = {Koutsioumpas, Stergios and Sayginel, Hasan and Webster, Mark and Browne, Dan E},
|
author = {Koutsioumpas, Stergios and Sayginel, Hasan and Webster, Mark and Browne, Dan E},
|
||||||
month = mar,
|
month = mar,
|
||||||
year = {2025},
|
year = {2025},
|
||||||
|
howpublished = {arXiv:2503.01738},
|
||||||
}
|
}
|
||||||
|
|
||||||
@misc{gottesman_heisenberg_1998,
|
@misc{gottesman_heisenberg_1998,
|
||||||
title = {The {Heisenberg} {Representation} of {Quantum} {Computers}},
|
title = {The Heisenberg Representation of Quantum Computers},
|
||||||
doi = {10.48550/arXiv.quant-ph/9807006},
|
doi = {10.48550/arXiv.quant-ph/9807006},
|
||||||
publisher = {arXiv},
|
publisher = {arXiv},
|
||||||
author = {Gottesman, Daniel},
|
author = {Gottesman, Daniel},
|
||||||
@@ -102,8 +103,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@phdthesis{higgott_practical_2024,
|
@phdthesis{higgott_practical_2024,
|
||||||
type = {Doctoral},
|
type = {Ph.D. {Thesis}},
|
||||||
title = {Practical and {Efficient} {Quantum} {Error} {Correction}},
|
title = {Practical and Efficient Quantum Error Correction},
|
||||||
copyright = {open},
|
copyright = {open},
|
||||||
language = {eng},
|
language = {eng},
|
||||||
school = {UCL (University College London)},
|
school = {UCL (University College London)},
|
||||||
@@ -121,16 +122,17 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@misc{gong_toward_2024,
|
@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},
|
language = {en},
|
||||||
journal = {arXiv.org},
|
journal = {arXiv.org},
|
||||||
author = {Gong, Anqi and Cammerer, Sebastian and Renes, Joseph M.},
|
author = {Gong, Anqi and Cammerer, Sebastian and Renes, Joseph M.},
|
||||||
month = mar,
|
month = mar,
|
||||||
|
howpublished = {arXiv:2403.18901},
|
||||||
year = {2024},
|
year = {2024},
|
||||||
}
|
}
|
||||||
|
|
||||||
@article{miao_quaternary_2025,
|
@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},
|
volume = {13},
|
||||||
issn = {2169-3536},
|
issn = {2169-3536},
|
||||||
doi = {10.1109/ACCESS.2025.3539475},
|
doi = {10.1109/ACCESS.2025.3539475},
|
||||||
@@ -142,7 +144,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@misc{tsouchlos_ccam_2024,
|
@misc{tsouchlos_ccam_2024,
|
||||||
title = {{CCAM} {Summary}},
|
title = {{CCAM} Summary},
|
||||||
author = {Tsouchlos, Andreas},
|
author = {Tsouchlos, Andreas},
|
||||||
month = oct,
|
month = oct,
|
||||||
year = {2024},
|
year = {2024},
|
||||||
@@ -162,7 +164,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@book{griffiths_introduction_1995,
|
@book{griffiths_introduction_1995,
|
||||||
title = {Introduction to {Quantum} {Mechanics}},
|
title = {Introduction to Quantum Mechanics},
|
||||||
isbn = {0-13-124405-1},
|
isbn = {0-13-124405-1},
|
||||||
language = {en},
|
language = {en},
|
||||||
publisher = {Prentice Hall},
|
publisher = {Prentice Hall},
|
||||||
@@ -171,7 +173,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@misc{bradley_tensor_2018,
|
@misc{bradley_tensor_2018,
|
||||||
title = {The {Tensor} {Product}, {Demystified}},
|
title = {The Tensor Product, Demystified},
|
||||||
author = {Bradley, Tai-Danae},
|
author = {Bradley, Tai-Danae},
|
||||||
month = nov,
|
month = nov,
|
||||||
year = {2018},
|
year = {2018},
|
||||||
@@ -179,7 +181,7 @@
|
|||||||
|
|
||||||
@book{nielsen_quantum_2010,
|
@book{nielsen_quantum_2010,
|
||||||
address = {Cambridge},
|
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},
|
isbn = {978-0-511-97666-7},
|
||||||
shorttitle = {Quantum {Computation} and {Quantum} {Information}},
|
shorttitle = {Quantum {Computation} and {Quantum} {Information}},
|
||||||
doi = {10.1017/CBO9780511976667},
|
doi = {10.1017/CBO9780511976667},
|
||||||
@@ -191,7 +193,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@article{geiselhart_automorphism_2021,
|
@article{geiselhart_automorphism_2021,
|
||||||
title = {Automorphism {Ensemble} {Decoding} of {Reed}–{Muller} {Codes}},
|
title = {Automorphism Ensemble Decoding of Reed–Muller Codes},
|
||||||
volume = {69},
|
volume = {69},
|
||||||
issn = {1558-0857},
|
issn = {1558-0857},
|
||||||
doi = {10.1109/TCOMM.2021.3098798},
|
doi = {10.1109/TCOMM.2021.3098798},
|
||||||
@@ -216,7 +218,7 @@
|
|||||||
@phdthesis{klinke_neural_2025,
|
@phdthesis{klinke_neural_2025,
|
||||||
address = {Karlsruhe},
|
address = {Karlsruhe},
|
||||||
type = {Bachelor's {Thesis}},
|
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},
|
language = {English},
|
||||||
school = {KIT},
|
school = {KIT},
|
||||||
author = {Klinke, Jeremi},
|
author = {Klinke, Jeremi},
|
||||||
@@ -225,7 +227,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@misc{camps-moreno_toward_2024,
|
@misc{camps-moreno_toward_2024,
|
||||||
title = {Toward {Quantum} {CSS}-{T} {Codes} from {Sparse} {Matrices}},
|
title = {Toward Quantum {CSS}-{T} Codes from Sparse Matrices},
|
||||||
doi = {10.48550/arXiv.2406.00425},
|
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.},
|
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},
|
publisher = {arXiv},
|
||||||
@@ -251,7 +253,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@misc{gottesman_introduction_2009,
|
@misc{gottesman_introduction_2009,
|
||||||
title = {An {Introduction} to {Quantum} {Error} {Correction} and {Fault}-{Tolerant} {Quantum} {Computation}},
|
title = {An Introduction to Quantum Error Correction and Fault-Tolerant Quantum Computation},
|
||||||
doi = {10.48550/arXiv.0904.2557},
|
doi = {10.48550/arXiv.0904.2557},
|
||||||
publisher = {arXiv},
|
publisher = {arXiv},
|
||||||
author = {Gottesman, Daniel},
|
author = {Gottesman, Daniel},
|
||||||
@@ -274,7 +276,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@misc{calderbank_quantum_1997,
|
@misc{calderbank_quantum_1997,
|
||||||
title = {Quantum {Error} {Correction} via {Codes} over {GF}(4)},
|
title = {Quantum Error Correction via Codes over {GF}(4)},
|
||||||
doi = {10.48550/arXiv.quant-ph/9608006},
|
doi = {10.48550/arXiv.quant-ph/9608006},
|
||||||
publisher = {arXiv},
|
publisher = {arXiv},
|
||||||
author = {Calderbank, A. R. and Rains, E. M. and Shor, P. W. and Sloane, N. J. A.},
|
author = {Calderbank, A. R. and Rains, E. M. and Shor, P. W. and Sloane, N. J. A.},
|
||||||
@@ -284,13 +286,13 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@misc{gottesman_stabilizer_1997,
|
@misc{gottesman_stabilizer_1997,
|
||||||
title = {Stabilizer {Codes} and {Quantum} {Error} {Correction}},
|
title = {Stabilizer Codes and Quantum Error Correction},
|
||||||
doi = {10.48550/arXiv.quant-ph/9705052},
|
doi = {10.48550/arXiv.quant-ph/9705052},
|
||||||
publisher = {arXiv},
|
publisher = {arXiv},
|
||||||
author = {Gottesman, Daniel},
|
author = {Gottesman, Daniel},
|
||||||
month = may,
|
month = may,
|
||||||
year = {1997},
|
year = {1997},
|
||||||
howpublished = {arXiv:quant-ph/9705052},
|
howpublished = {Ph.D. {Thesis}, arXiv:quant-ph/9705052},
|
||||||
}
|
}
|
||||||
|
|
||||||
@misc{shor_fault-tolerant_1997,
|
@misc{shor_fault-tolerant_1997,
|
||||||
@@ -304,7 +306,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@article{divincenzo_fault-tolerant_1996,
|
@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},
|
volume = {77},
|
||||||
issn = {0031-9007, 1079-7114},
|
issn = {0031-9007, 1079-7114},
|
||||||
doi = {10.1103/PhysRevLett.77.3260},
|
doi = {10.1103/PhysRevLett.77.3260},
|
||||||
@@ -345,7 +347,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@article{terhal_quantum_2015,
|
@article{terhal_quantum_2015,
|
||||||
title = {Quantum {Error} {Correction} for {Quantum} {Memories}},
|
title = {Quantum Error Correction for Quantum Memories},
|
||||||
volume = {87},
|
volume = {87},
|
||||||
issn = {0034-6861, 1539-0756},
|
issn = {0034-6861, 1539-0756},
|
||||||
doi = {10.1103/RevModPhys.87.307},
|
doi = {10.1103/RevModPhys.87.307},
|
||||||
@@ -363,7 +365,7 @@
|
|||||||
title = {Guidelines for snowballing in systematic literature studies and a replication in software engineering},
|
title = {Guidelines for snowballing in systematic literature studies and a replication in software engineering},
|
||||||
isbn = {978-1-4503-2476-2},
|
isbn = {978-1-4503-2476-2},
|
||||||
doi = {10.1145/2601248.2601268},
|
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},
|
publisher = {Association for Computing Machinery},
|
||||||
author = {Wohlin, Claes},
|
author = {Wohlin, Claes},
|
||||||
month = may,
|
month = may,
|
||||||
@@ -395,10 +397,10 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@inproceedings{chatterjee_quantum_2023,
|
@inproceedings{chatterjee_quantum_2023,
|
||||||
title = {Quantum {Error} {Correction} {For} {Dummies}},
|
title = {Quantum Error Correction For Dummies},
|
||||||
volume = {01},
|
volume = {01},
|
||||||
doi = {10.1109/QCE57702.2023.00017},
|
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},
|
author = {Chatterjee, Avimita and Phalak, Koustubh and Ghosh, Swaroop},
|
||||||
month = sep,
|
month = sep,
|
||||||
year = {2023},
|
year = {2023},
|
||||||
@@ -406,7 +408,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@inproceedings{petersen_systematic_2008,
|
@inproceedings{petersen_systematic_2008,
|
||||||
title = {Systematic {Mapping} {Studies} in {Software} {Engineering}},
|
title = {Systematic Mapping Studies in Software Engineering},
|
||||||
doi = {10.14236/ewic/EASE2008.8},
|
doi = {10.14236/ewic/EASE2008.8},
|
||||||
language = {en},
|
language = {en},
|
||||||
publisher = {BCS Learning \& Development},
|
publisher = {BCS Learning \& Development},
|
||||||
@@ -416,7 +418,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@article{postler_demonstration_2024,
|
@article{postler_demonstration_2024,
|
||||||
title = {Demonstration of {Fault}-{Tolerant} {Steane} {Quantum} {Error} {Correction}},
|
title = {Demonstration of Fault-Tolerant Steane Quantum Error Correction},
|
||||||
volume = {5},
|
volume = {5},
|
||||||
doi = {10.1103/PRXQuantum.5.030326},
|
doi = {10.1103/PRXQuantum.5.030326},
|
||||||
number = {3},
|
number = {3},
|
||||||
@@ -429,7 +431,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@article{cao_exact_2025,
|
@article{cao_exact_2025,
|
||||||
title = {Exact {Decoding} of {Quantum} {Error}-{Correcting} {Codes}},
|
title = {Exact Decoding of Quantum Error-Correcting Codes},
|
||||||
volume = {134},
|
volume = {134},
|
||||||
doi = {10.1103/PhysRevLett.134.190603},
|
doi = {10.1103/PhysRevLett.134.190603},
|
||||||
number = {19},
|
number = {19},
|
||||||
@@ -442,7 +444,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@misc{beni_tesseract_2025,
|
@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},
|
shorttitle = {Tesseract},
|
||||||
doi = {10.48550/arXiv.2503.10988},
|
doi = {10.48550/arXiv.2503.10988},
|
||||||
publisher = {arXiv},
|
publisher = {arXiv},
|
||||||
@@ -469,7 +471,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@misc{bhardwaj_adaptive_2025,
|
@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},
|
doi = {10.48550/arXiv.2511.09491},
|
||||||
publisher = {arXiv},
|
publisher = {arXiv},
|
||||||
author = {Bhardwaj, Devansh and Takou, Evangelia and Lin, Yingjia and Brown, Kenneth R.},
|
author = {Bhardwaj, Devansh and Takou, Evangelia and Lin, Yingjia and Brown, Kenneth R.},
|
||||||
@@ -505,7 +507,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@article{bausch_learning_2024-1,
|
@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},
|
volume = {635},
|
||||||
issn = {0028-0836, 1476-4687},
|
issn = {0028-0836, 1476-4687},
|
||||||
doi = {10.1038/s41586-024-08148-8},
|
doi = {10.1038/s41586-024-08148-8},
|
||||||
@@ -528,7 +530,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@misc{fan_accelerating_2025,
|
@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},
|
doi = {10.48550/arXiv.2509.01892},
|
||||||
publisher = {arXiv},
|
publisher = {arXiv},
|
||||||
author = {Fan, Wenxuan and Suzuki, Yasunari and Ravi, Gokul Subramanian and Ueno, Yosuke and Inoue, Koji and Tanimoto, Teruo},
|
author = {Fan, Wenxuan and Suzuki, Yasunari and Ravi, Gokul Subramanian and Ueno, Yosuke and Inoue, Koji and Tanimoto, Teruo},
|
||||||
@@ -548,11 +550,12 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@misc{wang_fully_2025,
|
@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},
|
language = {en},
|
||||||
author = {Wang, Ming and Li, Ang and Mueller, Frank},
|
author = {Wang, Ming and Li, Ang and Mueller, Frank},
|
||||||
month = jun,
|
month = jun,
|
||||||
year = {2025},
|
year = {2025},
|
||||||
|
howpublished = {arXiv:2507.00254},
|
||||||
}
|
}
|
||||||
|
|
||||||
@misc{ye_beam_2025,
|
@misc{ye_beam_2025,
|
||||||
@@ -581,7 +584,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@article{higgott_improved_2023,
|
@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},
|
volume = {13},
|
||||||
doi = {10.1103/PhysRevX.13.031007},
|
doi = {10.1103/PhysRevX.13.031007},
|
||||||
number = {3},
|
number = {3},
|
||||||
@@ -594,7 +597,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@misc{tsubouchi_degeneracy_2025,
|
@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}},
|
shorttitle = {Degeneracy {Cutting}},
|
||||||
doi = {10.48550/arXiv.2510.08695},
|
doi = {10.48550/arXiv.2510.08695},
|
||||||
publisher = {arXiv},
|
publisher = {arXiv},
|
||||||
@@ -605,7 +608,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@misc{lee_scalable_2025,
|
@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},
|
doi = {10.48550/arXiv.2510.22724},
|
||||||
publisher = {arXiv},
|
publisher = {arXiv},
|
||||||
author = {Lee, Changwon and Hur, Tak and Park, Daniel K.},
|
author = {Lee, Changwon and Hur, Tak and Park, Daniel K.},
|
||||||
@@ -615,7 +618,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@misc{maan_decoding_2025,
|
@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},
|
doi = {10.48550/arXiv.2510.14060},
|
||||||
publisher = {arXiv},
|
publisher = {arXiv},
|
||||||
author = {Maan, Arshpreet Singh and Herrero, Francisco-Garcia and Paler, Alexandru and Savin, Valentin},
|
author = {Maan, Arshpreet Singh and Herrero, Francisco-Garcia and Paler, Alexandru and Savin, Valentin},
|
||||||
@@ -641,7 +644,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@article{higgott_sparse_2025,
|
@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},
|
volume = {9},
|
||||||
shorttitle = {Sparse {Blossom}},
|
shorttitle = {Sparse {Blossom}},
|
||||||
doi = {10.22331/q-2025-01-20-1600},
|
doi = {10.22331/q-2025-01-20-1600},
|
||||||
@@ -655,7 +658,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@article{breuckmann_quantum_2021,
|
@article{breuckmann_quantum_2021,
|
||||||
title = {Quantum {Low}-{Density} {Parity}-{Check} {Codes}},
|
title = {Quantum Low-Density Parity-Check Codes},
|
||||||
volume = {2},
|
volume = {2},
|
||||||
doi = {10.1103/PRXQuantum.2.040101},
|
doi = {10.1103/PRXQuantum.2.040101},
|
||||||
number = {4},
|
number = {4},
|
||||||
@@ -668,10 +671,10 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@inproceedings{gokduman_erasure_2024,
|
@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},
|
issn = {2836-4503},
|
||||||
doi = {10.1109/Allerton63246.2024.10735275},
|
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.},
|
author = {Gökduman, Mert and Yao, Hanwen and Pfister, Henry D.},
|
||||||
month = sep,
|
month = sep,
|
||||||
year = {2024},
|
year = {2024},
|
||||||
@@ -679,7 +682,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@misc{swierkowska_eccentric_2025,
|
@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}},
|
shorttitle = {{ECCentric}},
|
||||||
doi = {10.48550/arXiv.2511.01062},
|
doi = {10.48550/arXiv.2511.01062},
|
||||||
publisher = {arXiv},
|
publisher = {arXiv},
|
||||||
@@ -713,7 +716,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@article{tan_scalable_2023,
|
@article{tan_scalable_2023,
|
||||||
title = {Scalable {Surface}-{Code} {Decoders} with {Parallelization} in {Time}},
|
title = {Scalable Surface-Code Decoders with Parallelization in Time},
|
||||||
volume = {4},
|
volume = {4},
|
||||||
doi = {10.1103/PRXQuantum.4.040344},
|
doi = {10.1103/PRXQuantum.4.040344},
|
||||||
number = {4},
|
number = {4},
|
||||||
@@ -755,7 +758,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@misc{kuo_fault-tolerant_2024,
|
@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},
|
doi = {10.48550/arXiv.2409.18689},
|
||||||
publisher = {arXiv},
|
publisher = {arXiv},
|
||||||
author = {Kuo, Kao-Yueh and Lai, Ching-Yi},
|
author = {Kuo, Kao-Yueh and Lai, Ching-Yi},
|
||||||
@@ -765,7 +768,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@misc{poor_ultra_2025,
|
@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},
|
doi = {10.48550/arXiv.2511.13700},
|
||||||
publisher = {arXiv},
|
publisher = {arXiv},
|
||||||
author = {Poór, Boldizsár and Rodatz, Benjamin and Kissinger, Aleks},
|
author = {Poór, Boldizsár and Rodatz, Benjamin and Kissinger, Aleks},
|
||||||
@@ -792,15 +795,16 @@
|
|||||||
title = {Algorithms for quantum computation: discrete logarithms and factoring},
|
title = {Algorithms for quantum computation: discrete logarithms and factoring},
|
||||||
shorttitle = {Algorithms for quantum computation},
|
shorttitle = {Algorithms for quantum computation},
|
||||||
doi = {10.1109/SFCS.1994.365700},
|
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.},
|
author = {Shor, P.W.},
|
||||||
|
address = {Santa Fe},
|
||||||
month = nov,
|
month = nov,
|
||||||
year = {1994},
|
year = {1994},
|
||||||
pages = {124--134},
|
pages = {124--134},
|
||||||
}
|
}
|
||||||
|
|
||||||
@article{preskill_quantum_2018,
|
@article{preskill_quantum_2018,
|
||||||
title = {Quantum {Computing} in the {NISQ} era and beyond},
|
title = {Quantum Computing in the {NISQ} era and beyond},
|
||||||
volume = {2},
|
volume = {2},
|
||||||
doi = {10.22331/q-2018-08-06-79},
|
doi = {10.22331/q-2018-08-06-79},
|
||||||
language = {en-GB},
|
language = {en-GB},
|
||||||
@@ -813,7 +817,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@misc{google_quantum_ai_quantum_nodate,
|
@misc{google_quantum_ai_quantum_nodate,
|
||||||
title = {Quantum {Computing} {Roadmap}},
|
title = {Quantum Computing Roadmap},
|
||||||
language = {en},
|
language = {en},
|
||||||
journal = {Google Quantum AI},
|
journal = {Google Quantum AI},
|
||||||
author = {{Google Quantum AI}},
|
author = {{Google Quantum AI}},
|
||||||
@@ -833,7 +837,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@article{zhang_classical_2023,
|
@article{zhang_classical_2023,
|
||||||
title = {A {Classical} {Architecture} for {Digital} {Quantum} {Computers}},
|
title = {A Classical Architecture for Digital Quantum Computers},
|
||||||
volume = {5},
|
volume = {5},
|
||||||
doi = {10.1145/3626199},
|
doi = {10.1145/3626199},
|
||||||
number = {1},
|
number = {1},
|
||||||
@@ -865,11 +869,11 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@misc{noauthor_reproducing_nodate,
|
@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,
|
@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,
|
@misc{noauthor_simulating_nodate,
|
||||||
@@ -877,7 +881,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@article{ryan-anderson_realization_2021,
|
@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},
|
volume = {11},
|
||||||
doi = {10.1103/PhysRevX.11.041058},
|
doi = {10.1103/PhysRevX.11.041058},
|
||||||
number = {4},
|
number = {4},
|
||||||
@@ -904,11 +908,11 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@misc{noauthor_tutorial_nodate-1,
|
@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,
|
@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},
|
volume = {5},
|
||||||
doi = {10.22331/q-2021-11-22-585},
|
doi = {10.22331/q-2021-11-22-585},
|
||||||
language = {en-GB},
|
language = {en-GB},
|
||||||
@@ -921,18 +925,19 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@article{babar_fifteen_2015,
|
@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},
|
volume = {3},
|
||||||
issn = {2169-3536},
|
issn = {2169-3536},
|
||||||
doi = {10.1109/ACCESS.2015.2503267},
|
doi = {10.1109/ACCESS.2015.2503267},
|
||||||
journal = {IEEE Access},
|
journal = {IEEE Access},
|
||||||
author = {Babar, Zunaira and Botsinis, Panagiotis and Alanis, Dimitrios and Ng, Soon Xin and Hanzo, Lajos},
|
author = {Babar, Zunaira and Botsinis, Panagiotis and Alanis, Dimitrios and Ng, Soon Xin and Hanzo, Lajos},
|
||||||
|
month = nov,
|
||||||
year = {2015},
|
year = {2015},
|
||||||
pages = {2492--2519},
|
pages = {2492--2519},
|
||||||
}
|
}
|
||||||
|
|
||||||
@misc{yao_belief_2024,
|
@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},
|
doi = {10.48550/arXiv.2312.10950},
|
||||||
publisher = {arXiv},
|
publisher = {arXiv},
|
||||||
author = {Yao, Hanwen and Laban, Waleed Abu and Häger, Christian and Amat, Alexandre Graell i and Pfister, Henry D.},
|
author = {Yao, Hanwen and Laban, Waleed Abu and Häger, Christian and Amat, Alexandre Graell i and Pfister, Henry D.},
|
||||||
@@ -942,7 +947,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@article{sharon_efficient_2007,
|
@article{sharon_efficient_2007,
|
||||||
title = {Efficient {Serial} {Message}-{Passing} {Schedules} for {LDPC} {Decoding}},
|
title = {Efficient Serial Message-Passing Schedules for {LDPC} Decoding},
|
||||||
volume = {53},
|
volume = {53},
|
||||||
issn = {1557-9654},
|
issn = {1557-9654},
|
||||||
doi = {10.1109/TIT.2007.907507},
|
doi = {10.1109/TIT.2007.907507},
|
||||||
@@ -968,7 +973,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@book{ryan_channel_2009,
|
@book{ryan_channel_2009,
|
||||||
title = {Channel {Codes}: {Classical} and {Modern}},
|
title = {Channel Codes: Classical and Modern},
|
||||||
isbn = {978-1-139-48301-8},
|
isbn = {978-1-139-48301-8},
|
||||||
shorttitle = {Channel {Codes}},
|
shorttitle = {Channel {Codes}},
|
||||||
language = {en},
|
language = {en},
|
||||||
@@ -979,7 +984,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@book{macwilliams_theory_1977,
|
@book{macwilliams_theory_1977,
|
||||||
title = {The {Theory} of {Error}-correcting {Codes}},
|
title = {The Theory of Error-correcting Codes},
|
||||||
isbn = {978-0-444-85010-2},
|
isbn = {978-0-444-85010-2},
|
||||||
language = {en},
|
language = {en},
|
||||||
publisher = {Elsevier},
|
publisher = {Elsevier},
|
||||||
@@ -989,7 +994,7 @@
|
|||||||
|
|
||||||
@book{richardson_modern_2008,
|
@book{richardson_modern_2008,
|
||||||
address = {Cambridge},
|
address = {Cambridge},
|
||||||
title = {Modern {Coding} {Theory}},
|
title = {Modern Coding Theory},
|
||||||
isbn = {978-0-521-85229-6},
|
isbn = {978-0-521-85229-6},
|
||||||
doi = {10.1017/CBO9780511791338},
|
doi = {10.1017/CBO9780511791338},
|
||||||
publisher = {Cambridge University Press},
|
publisher = {Cambridge University Press},
|
||||||
@@ -998,7 +1003,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@phdthesis{gallager_low_1960,
|
@phdthesis{gallager_low_1960,
|
||||||
type = {Thesis},
|
type = {Ph.D. {Thesis}},
|
||||||
title = {Low density parity check codes},
|
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.},
|
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},
|
language = {eng},
|
||||||
@@ -1011,11 +1016,11 @@
|
|||||||
title = {Fully parallel window decoder architecture for spatially-coupled {LDPC} codes},
|
title = {Fully parallel window decoder architecture for spatially-coupled {LDPC} codes},
|
||||||
issn = {1938-1883},
|
issn = {1938-1883},
|
||||||
doi = {10.1109/ICC.2016.7511553},
|
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.},
|
author = {Hassan, Najeeb Ul and Schlüter, Martin and Fettweis, Gerhard P.},
|
||||||
|
address = {Kuala Lumpur},
|
||||||
month = may,
|
month = may,
|
||||||
year = {2016},
|
year = {2016},
|
||||||
pages = {1--6},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@article{costello_spatially_2014,
|
@article{costello_spatially_2014,
|
||||||
@@ -1044,7 +1049,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@article{kang_quits_2025,
|
@article{kang_quits_2025,
|
||||||
title = {{QUITS}: {A} modular {Qldpc} code {circUIT} {Simulator}},
|
title = {{QUITS}: {A} modular Qldpc code circUIT Simulator},
|
||||||
volume = {9},
|
volume = {9},
|
||||||
issn = {2521-327X},
|
issn = {2521-327X},
|
||||||
shorttitle = {{QUITS}},
|
shorttitle = {{QUITS}},
|
||||||
@@ -1058,7 +1063,7 @@
|
|||||||
|
|
||||||
@book{griffiths_consistent_2001,
|
@book{griffiths_consistent_2001,
|
||||||
address = {Cambridge},
|
address = {Cambridge},
|
||||||
title = {Consistent {Quantum} {Theory}},
|
title = {Consistent Quantum Theory},
|
||||||
isbn = {978-0-521-53929-6},
|
isbn = {978-0-521-53929-6},
|
||||||
doi = {10.1017/CBO9780511606052},
|
doi = {10.1017/CBO9780511606052},
|
||||||
publisher = {Cambridge University Press},
|
publisher = {Cambridge University Press},
|
||||||
@@ -1067,7 +1072,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@misc{gottesman_fault-tolerant_2014,
|
@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},
|
doi = {10.48550/arXiv.1310.2984},
|
||||||
publisher = {arXiv},
|
publisher = {arXiv},
|
||||||
author = {Gottesman, Daniel},
|
author = {Gottesman, Daniel},
|
||||||
@@ -1087,7 +1092,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@article{gidney_fault-tolerant_2021,
|
@article{gidney_fault-tolerant_2021,
|
||||||
title = {A {Fault}-{Tolerant} {Honeycomb} {Memory}},
|
title = {A Fault-Tolerant Honeycomb Memory},
|
||||||
volume = {5},
|
volume = {5},
|
||||||
issn = {2521-327X},
|
issn = {2521-327X},
|
||||||
doi = {10.22331/q-2021-12-20-605},
|
doi = {10.22331/q-2021-12-20-605},
|
||||||
@@ -1151,7 +1156,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@misc{leverrier_decoding_2022,
|
@misc{leverrier_decoding_2022,
|
||||||
title = {Decoding quantum {Tanner} codes},
|
title = {Decoding quantum Tanner codes},
|
||||||
doi = {10.48550/arXiv.2208.05537},
|
doi = {10.48550/arXiv.2208.05537},
|
||||||
publisher = {arXiv},
|
publisher = {arXiv},
|
||||||
author = {Leverrier, Anthony and Z{\'e}mor, Gilles},
|
author = {Leverrier, Anthony and Z{\'e}mor, Gilles},
|
||||||
|
|||||||
@@ -1,11 +1,13 @@
|
|||||||
\chapter{Introduction}
|
\chapter{Introduction}
|
||||||
\label{ch:Introduction}
|
\label{ch:Introduction}
|
||||||
|
|
||||||
|
\acresetall
|
||||||
|
|
||||||
% Intro to quantum computing
|
% Intro to quantum computing
|
||||||
|
|
||||||
In 1982, Richard Feynman, motivated by the difficulty of simulating
|
In 1982, Richard Feynman, motivated by the difficulty of simulating
|
||||||
quantum-mechanical systems on classical hardware, put forward the
|
quantum-mechanical systems on classical hardware, put forward the
|
||||||
idea of building computers from quantum hardware themselves
|
idea of building computers that are themselves quantum mechanical
|
||||||
\cite{feynman_simulating_1982}.
|
\cite{feynman_simulating_1982}.
|
||||||
The use of such quantum computers has since been shown to offer promising
|
The use of such quantum computers has since been shown to offer promising
|
||||||
prospects not only with regard to simulating quantum systems but also
|
prospects not only with regard to simulating quantum systems but also
|
||||||
@@ -15,7 +17,7 @@ factorization \cite{shor_algorithms_1994}.
|
|||||||
|
|
||||||
Similar to the way classical computers are built from bits and gates,
|
Similar to the way classical computers are built from bits and gates,
|
||||||
quantum computers are built from \emph{qubits} and \emph{quantum gates}.
|
quantum computers are built from \emph{qubits} and \emph{quantum gates}.
|
||||||
Because of quantum entanglement, it is not enough to consider the
|
Because of quantum entanglement, it does not suffice to consider the
|
||||||
qubits individually, we also have to consider correlations between them.
|
qubits individually, we also have to consider correlations between them.
|
||||||
For a system of $n$ qubits, this makes the state space grow with
|
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
|
$2^n$ instead of linearly with $n$, as would be the case for a classical system
|
||||||
@@ -28,12 +30,11 @@ what provides them with their power \cite[Sec.~2.1]{roffe_decoding_2020}.
|
|||||||
Realizing algorithms that leverage these quantum-mechanical effects
|
Realizing algorithms that leverage these quantum-mechanical effects
|
||||||
requires hardware that can execute long quantum computations reliably.
|
requires hardware that can execute long quantum computations reliably.
|
||||||
This poses a problem, because the qubits making up current devices
|
This poses a problem, because the qubits making up current devices
|
||||||
are difficult to sufficiently isolate from their environment
|
consistently interact with their environment \cite[Sec.~1]{roffe_quantum_2019}.
|
||||||
\cite[Sec.~1]{roffe_quantum_2019}.
|
This interaction acts as a continuous small-scale measurement, an
|
||||||
Their interaction with the environment acts as a continuous small-scale
|
effect we call \emph{decoherence} of the stored quantum state, which
|
||||||
measurement, an effect we call \emph{decoherence} of the stored quantum
|
results in errors on the qubits.
|
||||||
state.
|
Decoherence is the reason large systems do not exhibit visible quantum
|
||||||
Decoherence is the reason large systems don't exhibit visible quantum
|
|
||||||
properties at human scales \cite[Sec.~1]{gottesman_stabilizer_1997}.
|
properties at human scales \cite[Sec.~1]{gottesman_stabilizer_1997}.
|
||||||
|
|
||||||
% Intro to QEC
|
% Intro to QEC
|
||||||
@@ -43,8 +44,8 @@ It addresses the issue by encoding the information of $k$
|
|||||||
\emph{logical qubits} into a larger number $n>k$ of \emph{physical
|
\emph{logical qubits} into a larger number $n>k$ of \emph{physical
|
||||||
qubits}, in close analogy to classical channel coding
|
qubits}, in close analogy to classical channel coding
|
||||||
\cite[Sec.~1]{roffe_quantum_2019}.
|
\cite[Sec.~1]{roffe_quantum_2019}.
|
||||||
The redundancy introduced this way can then be used to restore
|
The redundancy introduced this way can then be used to detect and
|
||||||
the quantum state, should it be disturbed.
|
correct a corrupted the quantum state.
|
||||||
The quantum setting imposes some important constraints that do not exist in the
|
The quantum setting imposes some important constraints that do not exist in the
|
||||||
classical case, however \cite[Sec.~2.4]{roffe_quantum_2019}:
|
classical case, however \cite[Sec.~2.4]{roffe_quantum_2019}:
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
@@ -52,7 +53,7 @@ classical case, however \cite[Sec.~2.4]{roffe_quantum_2019}:
|
|||||||
\item In addition to the bit-flip errors we know from the
|
\item In addition to the bit-flip errors we know from the
|
||||||
classical setting, qubits are subject to \emph{phase-flips}.
|
classical setting, qubits are subject to \emph{phase-flips}.
|
||||||
\item We are not allowed to directly measure the encoded qubits,
|
\item We are not allowed to directly measure the encoded qubits,
|
||||||
as that would disturb their quantum states.
|
as that would collapse their quantum states.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
We can deal with the first constraint by not duplicating information, instead
|
We can deal with the first constraint by not duplicating information, instead
|
||||||
spreading the quantum state across the physical qubits
|
spreading the quantum state across the physical qubits
|
||||||
@@ -72,8 +73,8 @@ subsequent decoding process on the measured syndrome.
|
|||||||
|
|
||||||
Another difference between \ac{qec} and classical channel coding is
|
Another difference between \ac{qec} and classical channel coding is
|
||||||
the resource constraints.
|
the resource constraints.
|
||||||
For \ac{qec}, low latency matters more than low overall computational
|
For \ac{qec}, achieving low latency matters more than having a low
|
||||||
complexity, due to the backlog problem
|
overall computational complexity, due to the backlog problem
|
||||||
\cite[Sec.~II.G.3.]{terhal_quantum_2015}: Certain gates turn
|
\cite[Sec.~II.G.3.]{terhal_quantum_2015}: Certain gates turn
|
||||||
single-qubit errors into multi-qubit ones, so errors must be
|
single-qubit errors into multi-qubit ones, so errors must be
|
||||||
corrected beforehand.
|
corrected beforehand.
|
||||||
@@ -81,7 +82,7 @@ A \ac{qec} system that is too slow accumulates a backlog at these points,
|
|||||||
causing exponential slowdown.
|
causing exponential slowdown.
|
||||||
|
|
||||||
Several code constructions have been proposed for \ac{qec} codes over the years.
|
Several code constructions have been proposed for \ac{qec} codes over the years.
|
||||||
Topological codes such as surface codes have been the industry
|
Topological codes, such as surface codes, have been the industry
|
||||||
standard for experimental applications for a long time
|
standard for experimental applications for a long time
|
||||||
\cite[Sec.~I]{koutsioumpas_colour_2025}, due to their
|
\cite[Sec.~I]{koutsioumpas_colour_2025}, due to their
|
||||||
reliance on only local connections between qubits
|
reliance on only local connections between qubits
|
||||||
@@ -114,15 +115,15 @@ focusing only on the relationship between possible errors
|
|||||||
and their effects on the syndrome \cite[Sec.~1.4.3]{higgott_practical_2024}.
|
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
|
A \emph{detector error matrix} is generated from the circuit, which is
|
||||||
used for decoding instead of the original check matrix.
|
used for decoding instead of the original check matrix.
|
||||||
Decoding under a \ac{dem} poses a challenge with respect to the
|
The detector error matrix is much larger than the
|
||||||
latency constraint.
|
|
||||||
This is because the detector error matrix is much larger than the
|
|
||||||
check matrix of the underlying code, since it needs to represent many
|
check matrix of the underlying code, since it needs to represent many
|
||||||
more error locations.
|
more error locations.
|
||||||
For example, in our experiments using the $\llbracket 144,12,12
|
For example, in our experiments using the $\llbracket 144,12,12
|
||||||
\rrbracket$ \ac{bb} code with $12$ syndrome measurement rounds, the
|
\rrbracket$ \ac{bb} code with $12$ syndrome measurement rounds, the
|
||||||
number of \acp{vn} grew from $144$ to $9504$ and the number of
|
number of \acp{vn} grew from $144$ to $9504$ and the number of
|
||||||
\acp{cn} grew from $72$ to $1008$.
|
\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
|
To keep the latency of \ac{dem} decoding manageable, one approach is
|
||||||
\emph{sliding-window decoding}.
|
\emph{sliding-window decoding}.
|
||||||
@@ -152,7 +153,7 @@ We propose \emph{warm-start sliding-window decoding}, in which the
|
|||||||
\ac{bp} messages from the overlap region of the previous window are
|
\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
|
reused to initialize \ac{bp} in the current window in place of the
|
||||||
standard cold-start initialization.
|
standard cold-start initialization.
|
||||||
We formulate the warm start first for plain \ac{bp} and then for
|
We formulate the warm start for standard \ac{bp} and for
|
||||||
\ac{bpgd}, a variant of \ac{bp} with better convergence properties
|
\ac{bpgd}, a variant of \ac{bp} with better convergence properties
|
||||||
for \ac{qec} codes.
|
for \ac{qec} codes.
|
||||||
The decoders are evaluated by Monte Carlo simulation on the
|
The decoders are evaluated by Monte Carlo simulation on the
|
||||||
@@ -164,6 +165,7 @@ low-latency operation.
|
|||||||
|
|
||||||
% Outline of the Thesis
|
% Outline of the Thesis
|
||||||
|
|
||||||
|
This thesis is structured as follows:
|
||||||
\Cref{ch:Fundamentals} reviews the fundamentals of classical and
|
\Cref{ch:Fundamentals} reviews the fundamentals of classical and
|
||||||
quantum error correction.
|
quantum error correction.
|
||||||
On the classical side, it covers binary linear block codes,
|
On the classical side, it covers binary linear block codes,
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -16,17 +16,19 @@ using qubits.
|
|||||||
While the use of error correcting codes may facilitate this, it also
|
While the use of error correcting codes may facilitate this, it also
|
||||||
introduces two new challenges \cite[Sec.~4]{gottesman_introduction_2009}:
|
introduces two new challenges \cite[Sec.~4]{gottesman_introduction_2009}:
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item We must be able to perform operations on the encoded state
|
\item To realize a quantum algorithm, we must be able to
|
||||||
in such a way that we do not lose the protection against errors.
|
perform operations on the encoded state in such a way that we
|
||||||
\item \ac{qec} systems are themselves partially implemented in
|
do not lose the protection against errors.
|
||||||
quantum hardware. In addition to the errors we have
|
\item \ac{qec} systems, in particular the syndrome extraction
|
||||||
originally introduced them for, these systems must
|
circuit, are themselves partially implemented in
|
||||||
be able to account for the fact they are implemented on noisy
|
quantum hardware.
|
||||||
hardware themselves.
|
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}
|
\end{itemize}
|
||||||
In the literature, both of these points are viewed under the umbrella
|
In the literature, both of these points are viewed under the umbrella
|
||||||
of \emph{fault tolerance}.
|
of \emph{fault-tolerant} quantum computing.
|
||||||
We focus only on the second aspect in this work.
|
In this thesis, we focus on the second aspect.
|
||||||
|
|
||||||
It was recognized early on as a challenge of \ac{qec} that the correction
|
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}.
|
machinery itself may introduce new faults \cite[Sec.~III]{shor_scheme_1995}.
|
||||||
@@ -43,16 +45,16 @@ address both.
|
|||||||
We model the possible occurrence of errors during any processing
|
We model the possible occurrence of errors during any processing
|
||||||
stage as different \emph{error locations} $E_i,~i\in [1:N]$
|
stage as different \emph{error locations} $E_i,~i\in [1:N]$
|
||||||
in the circuit.
|
in the circuit.
|
||||||
$N \in \mathbb{N}$ is the total number of considered 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
|
The \emph{circuit error vector} $\bm{e} \in \{0,1\}^N$ is a vector
|
||||||
indicating which errors occurred, with
|
indicating which errors occurred, with
|
||||||
\begin{align*}
|
\begin{align*}
|
||||||
e_i :=
|
e_i :=
|
||||||
\begin{cases}
|
\begin{cases}
|
||||||
1, & \text{Error $E_i$ occurred} \\
|
1, & \text{error $E_i$ occurred}, \\
|
||||||
0, & \text{otherwise}
|
0, & \text{otherwise}.
|
||||||
\end{cases}
|
\end{cases}
|
||||||
.%
|
|
||||||
\end{align*}
|
\end{align*}
|
||||||
\Cref{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
|
Specifically for \ac{css} codes, a \ac{qec} procedure is deemed
|
||||||
@@ -72,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
|
where $t = \lfloor (d_\text{min} -1)/2 \rfloor$ is the number of
|
||||||
errors the code is able to correct.
|
errors the code is able to correct.
|
||||||
The vectors $\bm{e}_{\text{output},X}$ and $\bm{e}_{\text{output},Z}$
|
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
|
% TODO: Properly introduce d_min for QEC, specifically for CSS codes
|
||||||
In order to deal with internal errors that flip syndrome bits,
|
In order to deal with internal errors that flip syndrome bits,
|
||||||
multiple rounds of syndrome measurements must be performed.
|
multiple rounds of syndrome measurements are performed.
|
||||||
Typically, the number of syndrome extraction rounds is chosen as $d_\text{min}$.
|
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
|
% % This is the definition of a fault-tolerant QEC gadget
|
||||||
% A \ac{qec} procedure is deemed fault tolerant if
|
% A \ac{qec} procedure is deemed fault tolerant if
|
||||||
@@ -150,7 +154,7 @@ Typically, the number of syndrome extraction rounds is chosen as $d_\text{min}$.
|
|||||||
% Intro
|
% Intro
|
||||||
|
|
||||||
We collect the probabilities of error at each location in the
|
We collect the probabilities of error at each location in the
|
||||||
\emph{noise model}, a vector $\bm{p} \in [0,1]^N$.
|
\emph{noise model}, represented by a vector $\bm{p} \in [0,1]^N$.
|
||||||
There are different types of noise models, each allowing for
|
There are different types of noise models, each allowing for
|
||||||
different error locations in the circuit.
|
different error locations in the circuit.
|
||||||
|
|
||||||
@@ -178,8 +182,7 @@ $\ket{\psi}_\text{L}$ as \emph{data qubits}.
|
|||||||
Note that this is a concrete implementation using CNOT gates, as
|
Note that this is a concrete implementation using CNOT gates, as
|
||||||
opposed to the system-level view introduced in
|
opposed to the system-level view introduced in
|
||||||
\Cref{subsec:Stabilizer Codes}.
|
\Cref{subsec:Stabilizer Codes}.
|
||||||
We visualize the different types of noise models in
|
\Cref{fig:noise_model_types} visualizes the different types of noise models.
|
||||||
\Cref{fig:noise_model_types}.
|
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%
|
||||||
\subsection{Bit-Flip Noise}
|
\subsection{Bit-Flip Noise}
|
||||||
@@ -188,9 +191,11 @@ We visualize the different types of noise models in
|
|||||||
The simplest type of noise model is \emph{bit-flip} noise.
|
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
|
This corresponds to the classical \ac{bsc}, i.e., only $X$ errors on the
|
||||||
data qubits are possible \cite[Appendix~A]{gidney_new_2023}.
|
data qubits are possible \cite[Appendix~A]{gidney_new_2023}.
|
||||||
This type of noise model is shown in \Cref{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
|
Note that bit-flip noise is not suitable for developing fault-tolerant
|
||||||
systems, as it does not account for errors during the syndrome extraction.
|
systems, as it does not account for errors during the syndrome extraction.
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%
|
||||||
@@ -221,7 +226,7 @@ Here, we consider multiple rounds of syndrome measurements with a
|
|||||||
depolarizing channel before each round.
|
depolarizing channel before each round.
|
||||||
Additionally, we allow for measurement errors by having $X$ error
|
Additionally, we allow for measurement errors by having $X$ error
|
||||||
locations right before each measurement \cite[Appendix~A]{gidney_new_2023}.
|
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
|
since that is the only type of error directly affecting the
|
||||||
measurement outcomes.
|
measurement outcomes.
|
||||||
This model is depicted in \Cref{subfig:phenomenological}.
|
This model is depicted in \Cref{subfig:phenomenological}.
|
||||||
@@ -243,15 +248,15 @@ Here we not only consider noise between syndrome extraction rounds
|
|||||||
and at the measurements, but at each gate.
|
and at the measurements, but at each gate.
|
||||||
Specifically, we allow arbitrary $n$-qubit Pauli errors after each
|
Specifically, we allow arbitrary $n$-qubit Pauli errors after each
|
||||||
$n$-qubit gate \cite[Def.~2.5]{derks_designing_2025}.
|
$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.
|
errors on each related individual qubit.
|
||||||
This type of noise model is shown in \Cref{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
|
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}.
|
always be used \cite[Sec.~4.2]{derks_designing_2025}.
|
||||||
Note that this introduces new challenges during the decoding process,
|
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.
|
error locations.
|
||||||
|
|
||||||
\begin{figure}[t]
|
\begin{figure}[t]
|
||||||
@@ -282,11 +287,11 @@ error locations.
|
|||||||
framework for
|
framework for
|
||||||
passing information about a circuit used for \ac{qec} to a decoder.
|
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
|
They are also useful as a theoretical tool to aid in the design of
|
||||||
fault-tolerant \ac{qec} schemes.
|
fault-tolerant \ac{qec} schemes, e.g., they can be used to easily
|
||||||
E.g., they can be used to easily determine whether a measurement
|
determine whether a measurement schedule is fault-tolerant
|
||||||
schedule is fault-tolerant \cite[Example~12]{derks_designing_2025}.
|
\cite[Example~12]{derks_designing_2025}.
|
||||||
|
|
||||||
Other approaches of implementing fault tolerance exist, such as
|
Other approaches of implementing fault-tolerance circuits exist, e.g.,
|
||||||
flag error correction, which uses additional ancilla qubits to detect
|
flag error correction, which uses additional ancilla qubits to detect
|
||||||
potentially damaging high-weight errors \cite[Sec.~1]{chamberland_flag_2018}.
|
potentially damaging high-weight errors \cite[Sec.~1]{chamberland_flag_2018}.
|
||||||
However, \acp{dem} offer some unique advantages
|
However, \acp{dem} offer some unique advantages
|
||||||
@@ -300,8 +305,7 @@ However, \acp{dem} offer some unique advantages
|
|||||||
treated in a unified manner. This leads to a more powerful
|
treated in a unified manner. This leads to a more powerful
|
||||||
description of the overall circuit.
|
description of the overall circuit.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
In this work, we only consider the process of decoding under the
|
In this work, we consider the process of decoding under the \ac{dem} framework.
|
||||||
\ac{dem} framework.
|
|
||||||
|
|
||||||
% Core idea
|
% Core idea
|
||||||
|
|
||||||
@@ -309,7 +313,7 @@ To achieve fault tolerance, the goal we strive towards is to
|
|||||||
consider the internal errors in addition to the input errors during
|
consider the internal errors in addition to the input errors during
|
||||||
the decoding process.
|
the decoding process.
|
||||||
The core idea behind detector error models is to do this by defining
|
The core idea behind detector error models is to do this by defining
|
||||||
a new \emph{circuit code} that describes the circuit.
|
a new \emph{circuit code} describing the whole circuit.
|
||||||
Each \ac{vn} of this new code corresponds to an error location in the
|
Each \ac{vn} of this new code corresponds to an error location in the
|
||||||
circuit and each \ac{cn} corresponds to a syndrome measurement.
|
circuit and each \ac{cn} corresponds to a syndrome measurement.
|
||||||
% This circuit code, combined with the prior probabilities of error
|
% This circuit code, combined with the prior probabilities of error
|
||||||
@@ -445,12 +449,11 @@ matrix} $\bm{\Omega} \in \mathbb{F}_2^{M\times N}$, with
|
|||||||
\begin{align*}
|
\begin{align*}
|
||||||
\Omega_{\ell,i} =
|
\Omega_{\ell,i} =
|
||||||
\begin{cases}
|
\begin{cases}
|
||||||
1, & \text{Error $i$ flips measurement $\ell$}\\
|
1, & \text{error $i$ flips measurement $\ell$},\\
|
||||||
0, & \text{otherwise}
|
0, & \text{otherwise},
|
||||||
\end{cases}
|
\end{cases}
|
||||||
,%
|
|
||||||
\end{align*}
|
\end{align*}
|
||||||
where $M \in \mathbb{N}$ is the number of measurements.
|
where $M \in \mathbb{N}$ is the number of performed syndrome measurements.
|
||||||
To obtain $\bm{\Omega}$, we must propagate Pauli errors through the
|
To obtain $\bm{\Omega}$, we must propagate Pauli errors through the
|
||||||
circuit, tracking which measurements they affect
|
circuit, tracking which measurements they affect
|
||||||
\cite[Sec.~2.4]{derks_designing_2025}.
|
\cite[Sec.~2.4]{derks_designing_2025}.
|
||||||
@@ -459,15 +462,22 @@ circuit, tracking which measurements they affect
|
|||||||
|
|
||||||
We turn to our example of the three-qubit repetition code to
|
We turn to our example of the three-qubit repetition code to
|
||||||
illustrate the construction of the syndrome measurement matrix.
|
illustrate the construction of the syndrome measurement matrix.
|
||||||
We begin by extending our check matrix in \Cref{eq:rep_code_H}
|
We begin by extending our check matrix $\bm{H}_Z$ in
|
||||||
to represent three rounds of syndrome extraction.
|
\Cref{eq:rep_code_H} to represent three rounds of syndrome extraction.
|
||||||
Each round yields an additional set of syndrome bits,
|
Each round yields an additional set of syndrome bits,
|
||||||
and we combine them by stacking them in a new vector
|
and we combine them by stacking them in a new vector
|
||||||
$\bm{s} \in \mathbb{F}_2^{R(n-k)}$.
|
$\bm{s} \in \mathbb{F}_2^{R(n-k)}$, where $R \in \mathbb{N}$ is the
|
||||||
We thus have to replicate the rows of $\bm{\Omega}$, once for each
|
number of syndrome measurement rounds.
|
||||||
additional syndrome measurement, to obtain
|
Thus, we have to replicate the rows of $\bm{H}_Z$, once for each
|
||||||
|
additional syndrome measurement, and obtain
|
||||||
\begin{align*}
|
\begin{align*}
|
||||||
\bm{\Omega} =
|
\bm{\Omega}_0 =
|
||||||
|
\begin{pmatrix}
|
||||||
|
\bm{H}_Z \\
|
||||||
|
\bm{H}_Z \\
|
||||||
|
\bm{H}_Z
|
||||||
|
\end{pmatrix}
|
||||||
|
=
|
||||||
\begin{pmatrix}
|
\begin{pmatrix}
|
||||||
1 & 1 & 0 \\
|
1 & 1 & 0 \\
|
||||||
0 & 1 & 1 \\
|
0 & 1 & 1 \\
|
||||||
@@ -482,31 +492,31 @@ additional syndrome measurement, to obtain
|
|||||||
depicts the corresponding circuit.
|
depicts the corresponding circuit.
|
||||||
Note that we have not yet introduced error locations in the syndrome
|
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.
|
extraction circuitry, so we still consider only bit flip noise at this stage.
|
||||||
Recall that $\bm{\Omega}$ describes which \ac{vn} is connected to
|
Recall that $\bm{\Omega}_0$ describes which \ac{vn} is connected to
|
||||||
which parity check and the syndrome indicates which parity checks
|
which parity check and the syndrome indicates which parity checks
|
||||||
are violated.
|
are violated.
|
||||||
This means that if an error exists at only a single \ac{vn}, we can
|
Therefore, if an error occurs that corresponds to a single \ac{vn},
|
||||||
read off the syndrome in the corresponding column.
|
the measured syndrome is the corresponding column.
|
||||||
If errors occur at multiple locations, the resulting syndrome will be
|
If errors occur at multiple locations, the resulting syndrome will be
|
||||||
the linear combination of the respective columns.
|
the linear combination of the respective columns.
|
||||||
We thus have
|
Thus, we have
|
||||||
\begin{align*}
|
\begin{align*}
|
||||||
\bm{s} \in \text{span} \{\bm{\Omega}\}
|
\bm{s} \in \text{span} \{\bm{\Omega}_0\}
|
||||||
.%
|
.%
|
||||||
\end{align*}
|
\end{align*}
|
||||||
|
|
||||||
% Expand to phenomenological
|
% Expand to phenomenological
|
||||||
|
|
||||||
We now wish 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.
|
only considering $X$ errors in this case.
|
||||||
We introduce new error locations at the appropriate positions,
|
We introduce new error locations at the appropriate positions,
|
||||||
arriving at the circuit depicted in
|
resulting in the circuit depicted in
|
||||||
\Cref{fig:rep_code_multiple_rounds_phenomenological}.
|
\Cref{fig:rep_code_multiple_rounds_phenomenological}.
|
||||||
For each additional error location, we extend $\bm{\Omega}$ by
|
For each additional error location, we extend $\bm{\Omega}_0$ by
|
||||||
appending the corresponding syndrome vector as a column.
|
appending the corresponding syndrome vector as a column, yielding
|
||||||
\begin{gather}
|
\begin{gather}
|
||||||
\label{eq:syndrome_matrix_ex}
|
\label{eq:syndrome_matrix_ex}
|
||||||
\bm{\Omega} =
|
\bm{\Omega}_1 =
|
||||||
\left(
|
\left(
|
||||||
\begin{array}{ccccccccccccccc}
|
\begin{array}{ccccccccccccccc}
|
||||||
1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0
|
1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0
|
||||||
@@ -523,24 +533,25 @@ appending the corresponding syndrome vector as a column.
|
|||||||
& 0 & 1 & 1 & 0 & 1
|
& 0 & 1 & 1 & 0 & 1
|
||||||
\end{array}
|
\end{array}
|
||||||
\right) . \\[-6mm]
|
\right) . \\[-6mm]
|
||||||
\hspace*{-58.7mm}
|
\hspace*{-56.7mm}
|
||||||
\underbrace{
|
\underbrace{
|
||||||
\phantom{
|
\phantom{
|
||||||
\begin{array}{ccc}
|
\begin{array}{ccc}
|
||||||
0 & 0 & 0
|
0 & 0 & 0
|
||||||
\end{array}
|
\end{array}
|
||||||
}
|
}
|
||||||
}_\text{Original matrix}
|
}_{\bm{\Omega}_0} \nonumber
|
||||||
\end{gather}
|
\end{gather}
|
||||||
Notice that the first three columns correspond to the original
|
Notice that the first three columns correspond to the original
|
||||||
measurement syndrome matrix, as these columns correspond to the error
|
measurement syndrome matrix $\bm{\Omega}_0$, as these columns
|
||||||
locations on the data qubits.
|
correspond to the error locations on the data qubits.
|
||||||
|
|
||||||
In this example, all measurements we considered were syndrome measurements.
|
In this example, all measurements we considered were syndrome measurements.
|
||||||
Assuming no errors, the results of those measurements were
|
Assuming no errors, the results of those measurements are
|
||||||
deterministic, irrespective of the actual logical state
|
deterministic: They are not subject to any probabilistic behavior
|
||||||
$\ket{\psi}_\text{L}$, as they only depend on whether
|
despite the quantum mechanical nature of the underlying system.
|
||||||
$\ket{\psi}_\text{L} \in \mathcal{C}$, not on the concrete state.
|
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.
|
It is, in general, possible to also consider non-deterministic measurements.
|
||||||
As an example, it is usual to consider a round of noiseless
|
As an example, it is usual to consider a round of noiseless
|
||||||
measurements of the actual data qubit states after the last syndrome
|
measurements of the actual data qubit states after the last syndrome
|
||||||
@@ -557,7 +568,7 @@ extraction round.
|
|||||||
\centering
|
\centering
|
||||||
\begin{tikzpicture}
|
\begin{tikzpicture}
|
||||||
\node{$%
|
\node{$%
|
||||||
\bm{\Omega} =
|
\bm{\Omega}_0 =
|
||||||
\begin{pmatrix}
|
\begin{pmatrix}
|
||||||
1 & 1 & 0 \\
|
1 & 1 & 0 \\
|
||||||
0 & 1 & 1 \\
|
0 & 1 & 1 \\
|
||||||
@@ -659,7 +670,7 @@ extraction round.
|
|||||||
|
|
||||||
\begin{figure}[t]
|
\begin{figure}[t]
|
||||||
\begin{gather*}
|
\begin{gather*}
|
||||||
\hspace*{-33.3mm}%
|
\hspace*{-31.8mm}%
|
||||||
\begin{array}{c}
|
\begin{array}{c}
|
||||||
E_6 \\
|
E_6 \\
|
||||||
\downarrow
|
\downarrow
|
||||||
@@ -667,7 +678,7 @@ extraction round.
|
|||||||
\end{gather*}
|
\end{gather*}
|
||||||
\vspace*{-8mm}
|
\vspace*{-8mm}
|
||||||
\begin{gather*}
|
\begin{gather*}
|
||||||
\bm{\Omega} =
|
\bm{\Omega}_1 =
|
||||||
\left(
|
\left(
|
||||||
\begin{array}{
|
\begin{array}{
|
||||||
cccccc%
|
cccccc%
|
||||||
@@ -761,10 +772,10 @@ Instead of using stabilizer measurement results directly, we
|
|||||||
generalize the notion of what constitutes a parity check slightly.
|
generalize the notion of what constitutes a parity check slightly.
|
||||||
We formally define a \emph{detector} as a deterministic parity constraint on
|
We formally define a \emph{detector} as a deterministic parity constraint on
|
||||||
a set of measurement outcomes \cite[Def.~2.1]{derks_designing_2025}.
|
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
|
In the most straightforward case, we may simply use the stabilizer
|
||||||
measurements as detectors.
|
measurements as detectors.
|
||||||
We immediately recognize that we will have as many linearly
|
|
||||||
independent detectors as there are separate deterministic measurements.
|
|
||||||
We generally aim to utilize the maximum number of linearly
|
We generally aim to utilize the maximum number of linearly
|
||||||
independent detectors \cite[Sec.~2.2]{derks_designing_2025}.
|
independent detectors \cite[Sec.~2.2]{derks_designing_2025}.
|
||||||
|
|
||||||
@@ -775,23 +786,22 @@ 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}$
|
\cite[Def.~2.2]{derks_designing_2025}, with $~D\in \mathbb{N}$
|
||||||
denoting the number of detectors.
|
denoting the number of detectors.
|
||||||
Similar to the way a \ac{pcm} associates bits with parity checks, the
|
Similar to the way a \ac{pcm} associates bits with parity checks, the
|
||||||
detector matrix links measurements and detectors.
|
detector matrix links measurement outcomes and detectors.
|
||||||
Each column corresponds to a measurement, while each rows corresponds
|
Each column corresponds to a measurement, while each row corresponds
|
||||||
to a detector.
|
to a detector.
|
||||||
We should note at this point that the combination of measurements
|
We should note at this point that the combination of measurements
|
||||||
into detectors has no bearing on the actual construction of the
|
into detectors has no bearing on the actual construction of the
|
||||||
syndrome extraction circuitry.
|
syndrome extraction circuitry.
|
||||||
It is something that happens ``virtually'' after the fact and only
|
It is something that happens ``virtually'' and only affects the decoder.
|
||||||
affects the decoder.
|
|
||||||
|
|
||||||
Note that we can use the detector matrix $\bm{D}$ to describe the set
|
Note that we can use the detector matrix $\bm{D}$ to describe the set
|
||||||
of possible measurement outcomes under the absence of noise.
|
of possible measurement outcomes under the absence of noise.
|
||||||
The same way we use a \ac{pcm} to describe the code space as
|
Similar to the we use a \ac{pcm} to describe the code space as
|
||||||
\begin{align*}
|
\begin{equation*}
|
||||||
\mathcal{C}
|
\mathcal{C}
|
||||||
= \{ \bm{x} \in \mathbb{F}_2^{n} : \bm{H}\bm{x}^\text{T} = \bm{0} \}
|
= \{ \bm{x} \in \mathbb{F}_2^{n} : \bm{H}\bm{x}^\mathsf{T} = \bm{0} \}
|
||||||
,%
|
,%
|
||||||
\end{align*}
|
\end{equation*}
|
||||||
the set of possible measurement outcomes is simply $\text{kern}\{\bm{D}\}$
|
the set of possible measurement outcomes is simply $\text{kern}\{\bm{D}\}$
|
||||||
\cite[Sec.~2.2]{derks_designing_2025}.
|
\cite[Sec.~2.2]{derks_designing_2025}.
|
||||||
|
|
||||||
@@ -806,7 +816,7 @@ affect the measurements (through $\bm{\Omega}$), and we know how the
|
|||||||
measurements relate to the detectors (through $\bm{D}$).
|
measurements relate to the detectors (through $\bm{D}$).
|
||||||
For decoding, we are interested in the effect of the errors on the
|
For decoding, we are interested in the effect of the errors on the
|
||||||
detectors directly.
|
detectors directly.
|
||||||
We thus construct the \emph{detector error matrix} $\bm{H} \in
|
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
|
\mathbb{F}_2^{D\times N}$ \cite[Def.~2.9]{derks_designing_2025} as
|
||||||
\begin{align*}
|
\begin{align*}
|
||||||
\bm{H} := \bm{D}\bm{\Omega}
|
\bm{H} := \bm{D}\bm{\Omega}
|
||||||
@@ -834,10 +844,10 @@ violate the same set of detectors, i.e.,
|
|||||||
\begin{align*}
|
\begin{align*}
|
||||||
\hspace{-15mm}
|
\hspace{-15mm}
|
||||||
% tex-fmt: off
|
% tex-fmt: off
|
||||||
&& \bm{H} \bm{e}_1^\text{T} & \neq \bm{H} \bm{e}_2^\text{T} \\
|
&& \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)^\text{T} & \neq 0 \\
|
\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)^\text{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)^\text{T} & \notin \text{kern} \{\bm{D}\}
|
\iff \hspace{-33mm} && \bm{\Omega} \left( \bm{e}_1 - \bm{e}_2 \right)^\mathsf{T} & \notin \text{kern} \{\bm{D}\}
|
||||||
% tex-fmt: on
|
% tex-fmt: on
|
||||||
.%
|
.%
|
||||||
\end{align*}
|
\end{align*}
|
||||||
@@ -850,7 +860,7 @@ It may, however, change the decoding performance when using a practical decoder.
|
|||||||
|
|
||||||
What constitutes a good set of detectors is difficult to assess
|
What constitutes a good set of detectors is difficult to assess
|
||||||
without performing explicit decoding simulations, since it ultimately
|
without performing explicit decoding simulations, since it ultimately
|
||||||
depends on the decoder employed.
|
depends on the employed decoder.
|
||||||
For iterative decoders, high sparsity is generally beneficial, but
|
For iterative decoders, high sparsity is generally beneficial, but
|
||||||
finding detectors that maximize sparsity is an NP-complete problem
|
finding detectors that maximize sparsity is an NP-complete problem
|
||||||
\cite[Sec.~2.6]{derks_designing_2025}.
|
\cite[Sec.~2.6]{derks_designing_2025}.
|
||||||
@@ -859,7 +869,7 @@ 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
|
can add the results from the previous round, as illustrated in
|
||||||
\Cref{fig:detectors_from_measurements_general}.
|
\Cref{fig:detectors_from_measurements_general}.
|
||||||
We thus have $D=n-k$.
|
Thus, we have $D=n-k$.
|
||||||
Concretely, we denote the outcome of
|
Concretely, we denote the outcome of
|
||||||
measurement $\ell \in [1:n-k]$ in round $r \in [1:R]$ by
|
measurement $\ell \in [1:n-k]$ in round $r \in [1:R]$ by
|
||||||
$m_\ell^{(r)} \in \mathbb{F}_2$
|
$m_\ell^{(r)} \in \mathbb{F}_2$
|
||||||
@@ -915,7 +925,8 @@ with $\bm{m}^{(0)} = \bm{0}$.
|
|||||||
|
|
||||||
We again turn our attention to the three-qubit repetition code.
|
We again turn our attention to the three-qubit repetition code.
|
||||||
In \Cref{fig:rep_code_multiple_rounds_phenomenological} we can see
|
In \Cref{fig:rep_code_multiple_rounds_phenomenological} we can see
|
||||||
that $E_6$ has occurred and has subsequently tripped the last four measurements.
|
that $E_6$ has occurred and has subsequently triggered the last four
|
||||||
|
measurements.
|
||||||
We now take those measurements and combine them according to
|
We now take those measurements and combine them according to
|
||||||
\Cref{eq:measurement_combination}.
|
\Cref{eq:measurement_combination}.
|
||||||
We can see this process graphically in
|
We can see this process graphically in
|
||||||
@@ -923,19 +934,20 @@ We can see this process graphically in
|
|||||||
To understand why this way of defining the detectors is useful, we
|
To understand why this way of defining the detectors is useful, we
|
||||||
note that the error $E_6$ in
|
note that the error $E_6$ in
|
||||||
\Cref{fig:rep_code_multiple_rounds_phenomenological} has not only
|
\Cref{fig:rep_code_multiple_rounds_phenomenological} has not only
|
||||||
tripped the measurements in the syndrome extraction round immediately
|
triggered the measurements in the syndrome extraction round immediately
|
||||||
afterwards, but all subsequent ones as well.
|
afterwards, but all subsequent ones as well.
|
||||||
To only see errors in the rounds immediately following them, we
|
To only see the effect of errors in the syndrome measurement round
|
||||||
consider our newly defined detectors instead of the measurements,
|
immediately following them, we consider our newly defined detectors
|
||||||
that effectively compute the difference between the measurements.
|
instead of the measurements.
|
||||||
|
These effectively compute the difference between the measurements.
|
||||||
|
|
||||||
Each error can only trip syndrome bits that follow it.
|
Each error can only trigger syndrome bits that follow it.
|
||||||
This is reflected in the triangular structure of $\bm{\Omega}$ in
|
This is reflected in the triangular structure of $\bm{\Omega}$ in
|
||||||
\Cref{eq:syndrome_matrix_ex}.
|
\Cref{eq:syndrome_matrix_ex}.
|
||||||
Combining the measurements into detectors according to
|
Combining the measurements into detectors according to
|
||||||
\Cref{eq:measurement_combination}, we are effectively performing
|
\Cref{eq:measurement_combination}, we are effectively performing
|
||||||
row additions in such a way as to clear the bottom left of the matrix.
|
row additions in such a way as to clear the bottom left of the matrix.
|
||||||
The detector error matrix
|
The resulting detector error matrix
|
||||||
\begin{align*}
|
\begin{align*}
|
||||||
\bm{H} =
|
\bm{H} =
|
||||||
\left(
|
\left(
|
||||||
@@ -949,7 +961,7 @@ The detector error matrix
|
|||||||
\end{array}
|
\end{array}
|
||||||
\right)
|
\right)
|
||||||
\end{align*}
|
\end{align*}
|
||||||
we obtain this way has a block-diagonal structure.
|
has a block-diagonal structure.
|
||||||
Note that we exploit the fact that each syndrome measurement round is
|
Note that we exploit the fact that each syndrome measurement round is
|
||||||
identical to obtain this structure.
|
identical to obtain this structure.
|
||||||
|
|
||||||
@@ -998,9 +1010,8 @@ error matrix $\bm{H}$ and the noise model $\bm{p}$.
|
|||||||
\cite[Sec.~6]{derks_designing_2025}.
|
\cite[Sec.~6]{derks_designing_2025}.
|
||||||
It serves as an abstract representation of a circuit and can be used
|
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
|
both to transfer information to a decoder but also to aid in the
|
||||||
design of fault-tolerant systems.
|
design of fault-tolerant systems, e.g., it can be used to investigate
|
||||||
E.g., it can be used to investigate the properties of a circuit with
|
the properties of a circuit with respect to fault tolerance.
|
||||||
respect to fault tolerance.
|
|
||||||
It contains all information necessary for the decoding process.
|
It contains all information necessary for the decoding process.
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
@@ -1030,11 +1041,11 @@ measurements) models \cite[Sec.~2.1]{gidney_fault-tolerant_2021}.
|
|||||||
These differ in the way they compute individual error probabilities
|
These differ in the way they compute individual error probabilities
|
||||||
from the physical error rate.
|
from the physical error rate.
|
||||||
|
|
||||||
In this work we only consider \emph{standard circuit-based depolarizing
|
In this work we consider the \emph{standard circuit-based depolarizing
|
||||||
noise}, as this is the standard approach in the literature.
|
noise} variant of circuit-level noise, as this is the standard
|
||||||
We thus set the error probabilities of all error locations in the
|
approach in the literature:
|
||||||
circuit-level noise model to the same value, the physical error rate
|
We set the error probabilities of all error locations to the same
|
||||||
$p_\text{phys}$.
|
value, the physical error rate $p_\text{phys}$.
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%
|
||||||
\subsection{Per-Round Logical Error Rate}
|
\subsection{Per-Round Logical Error Rate}
|
||||||
@@ -1042,7 +1053,7 @@ $p_\text{phys}$.
|
|||||||
|
|
||||||
% Per-round LER
|
% Per-round LER
|
||||||
|
|
||||||
Another aspect that is important to consider is the meaning of the
|
Another important aspect to consider is the meaning of the
|
||||||
\ac{ler} in the context of a \ac{qec} system with multiple
|
\ac{ler} in the context of a \ac{qec} system with multiple
|
||||||
rounds of syndrome measurements.
|
rounds of syndrome measurements.
|
||||||
In order to facilitate the comparability of results obtained from
|
In order to facilitate the comparability of results obtained from
|
||||||
@@ -1053,7 +1064,7 @@ The simplest way of calculating the per-round \ac{ler} is by modeling
|
|||||||
each round as an independent experiment.
|
each round as an independent experiment.
|
||||||
For each experiment, an error might occur with a certain probability
|
For each experiment, an error might occur with a certain probability
|
||||||
$p_\text{e,round}$.
|
$p_\text{e,round}$.
|
||||||
The overall probability of error is then
|
Then the overall probability of error is
|
||||||
\begin{align}
|
\begin{align}
|
||||||
\hspace{-12mm}
|
\hspace{-12mm}
|
||||||
p_\text{e,total} &= 1 - (1 - p_\text{e,round})^{R} \nonumber\\
|
p_\text{e,total} &= 1 - (1 - p_\text{e,round})^{R} \nonumber\\
|
||||||
@@ -1063,15 +1074,15 @@ The overall probability of error is then
|
|||||||
.%
|
.%
|
||||||
\hspace{12mm}
|
\hspace{12mm}
|
||||||
\end{align}
|
\end{align}
|
||||||
We approximate $p_\text{e,total}$ using a Monte Carlo simulation and
|
To this end, we approximate $p_\text{e,total}$ using a Monte Carlo
|
||||||
compute the per-round-\ac{ler} using \Cref{eq:per_round_ler}.
|
simulation and
|
||||||
This is a common approach taken in the literature
|
compute the per-round-\ac{ler} according to \Cref{eq:per_round_ler}.
|
||||||
\cite{gong_toward_2024}\cite{wang_fully_2025}.
|
This is the approach taken in \cite{gong_toward_2024}\cite{wang_fully_2025}.
|
||||||
|
|
||||||
Another common approach \cite{chen_exponential_2021}%
|
Another approach \cite{chen_exponential_2021}%
|
||||||
\cite{bausch_learning_2024}\cite{beni_tesseract_2025} is to assume an
|
\cite{bausch_learning_2024}\cite{beni_tesseract_2025} is to assume an
|
||||||
exponential decay for the decoder's \emph{logical fidelity}
|
exponential decay for the \emph{logical fidelity} of the decoder
|
||||||
\cite[Eq.~2]{bausch_learning_2024}
|
\cite[Eq.~(2)]{bausch_learning_2024}
|
||||||
\begin{align*}
|
\begin{align*}
|
||||||
F_\text{total} = (F_\text{round})^{R}
|
F_\text{total} = (F_\text{round})^{R}
|
||||||
.%
|
.%
|
||||||
@@ -1079,7 +1090,7 @@ exponential decay for the decoder's \emph{logical fidelity}
|
|||||||
The logical fidelity is a measure of the quality of a logical state
|
The logical fidelity is a measure of the quality of a logical state
|
||||||
\cite[Appendix~E]{postler_demonstration_2024}.
|
\cite[Appendix~E]{postler_demonstration_2024}.
|
||||||
As it is related to the error rate through $F = 1 - 2p$, we obtain
|
As it is related to the error rate through $F = 1 - 2p$, we obtain
|
||||||
\cite[Eq.~4]{bausch_learning_2024}
|
\cite[Eq.~(4)]{bausch_learning_2024}
|
||||||
\begin{align}
|
\begin{align}
|
||||||
(1 - 2p_\text{e,total}) &= (1 - 2p_\text{e,round})^{R} \nonumber\\
|
(1 - 2p_\text{e,total}) &= (1 - 2p_\text{e,round})^{R} \nonumber\\
|
||||||
\implies \hspace{15mm} p_\text{e,round} &= \frac{1}{2}
|
\implies \hspace{15mm} p_\text{e,round} &= \frac{1}{2}
|
||||||
@@ -1095,10 +1106,10 @@ topic to our own work.
|
|||||||
\subsection{Stim}
|
\subsection{Stim}
|
||||||
\label{subsec:Stim}
|
\label{subsec:Stim}
|
||||||
|
|
||||||
It is not immediately apparent how the \ac{dem} will look from looking
|
It is not immediately apparent how the \ac{dem} will look from
|
||||||
at a code's \ac{pcm}, because it heavily depends on the exact circuit
|
considering the \ac{pcm} of a code, because it heavily depends on the
|
||||||
construction and choice of noise model.
|
exact circuit construction and choice of noise model.
|
||||||
As we noted in \Cref{subsec:Measurement Syndrome Matrix}, we can
|
As we noted in \Cref{subsec:Measurement Syndrome Matrix}, we
|
||||||
obtain a measurement syndrome matrix by propagating Pauli frames
|
obtain a measurement syndrome matrix by propagating Pauli frames
|
||||||
through the circuit.
|
through the circuit.
|
||||||
The standard choice of simulation tool used for this purpose is
|
The standard choice of simulation tool used for this purpose is
|
||||||
@@ -1109,16 +1120,16 @@ pypi package.
|
|||||||
In fact, it was in this tool that the concept of the \ac{dem} was
|
In fact, it was in this tool that the concept of the \ac{dem} was
|
||||||
first introduced.
|
first introduced.
|
||||||
|
|
||||||
One capability of stim, and \acp{dem} in general, that we didn't go
|
One capability of stim, and \acp{dem} in general, that we did not
|
||||||
into detail about in this chapter is the merging of error mechanisms.
|
explain in detail in this chapter, is the merging of error mechanisms.
|
||||||
Since \acp{dem} differentiate errors based on their effect on the
|
Since \acp{dem} differentiate errors based on their effect on the
|
||||||
measurements and not on their Pauli type and location
|
measurements and not on their Pauli type and location
|
||||||
\cite[Sec.~1.4.3]{higgott_practical_2024}, it is natural to group
|
\cite[Sec.~1.4.3]{higgott_practical_2024}, it is natural to group
|
||||||
errors that have the same effect.
|
errors that have the same effect, i.e., syndrome.
|
||||||
This slightly lowers the computational complexity of decoding, as the
|
This slightly lowers the computational complexity of decoding, as the
|
||||||
number of resulting \acp{vn} is reduced.
|
number of resulting \acp{vn} is reduced.
|
||||||
|
|
||||||
While stim is a useful tool for circuit simulation, it doesn't
|
While stim is a useful tool for circuit simulation, it does not
|
||||||
include many utilities for building syndrome extraction circuitry automatically.
|
include many utilities for building syndrome extraction circuitry automatically.
|
||||||
The user has to define most, if not all, of the circuit manually,
|
The user has to define most, if not all, of the circuit manually,
|
||||||
depending on the code in question.
|
depending on the code in question.
|
||||||
|
|||||||
@@ -2,35 +2,34 @@
|
|||||||
\chapter{Decoding under Detector Error Models}
|
\chapter{Decoding under Detector Error Models}
|
||||||
\label{ch:Decoding}
|
\label{ch:Decoding}
|
||||||
|
|
||||||
In \Cref{ch:Fundamentals} we introduced the fundamentals of classical
|
In \Cref{ch:Fundamentals}, we introduced the fundamentals of classical
|
||||||
error correction, before moving on to quantum information science and
|
error correction, before turning to quantum information science and
|
||||||
finally combining the two in \acf{qec}.
|
finally combining the two in \acf{qec}.
|
||||||
In \Cref{ch:Fault tolerance} we then turned to fault-tolerance, with
|
In \Cref{ch:Fault tolerance}, we then considered fault-tolerance, with
|
||||||
a focus on a specific way of implementing it, called \acfp{dem}.
|
a focus on a specific way of implementing it, called \acfp{dem}.
|
||||||
In this chapter, we move on from the fundamental concepts and examine
|
In this chapter, we move on from the fundamental concepts and examine
|
||||||
how to apply them in practice.
|
how to apply them in practice.
|
||||||
Specifically, we concern ourselves with the practical aspects of decoding
|
Specifically, we consider the practical aspects of decoding under \acp{dem}.
|
||||||
under \acp{dem}.
|
|
||||||
|
|
||||||
We investigate decoding \acf{qldpc} codes under \acp{dem} in particular.
|
In particular, we investigate decoding \acf{qldpc} codes under \acp{dem}.
|
||||||
We focus on \ac{qldpc} codes, as they have emerged as leading
|
We focus on \ac{qldpc} codes, as they have emerged as leading
|
||||||
candidates for practical quantum error correction, offering
|
candidates for practical quantum error correction, offering
|
||||||
comparable thresholds with substantially improved encoding rates
|
good thresholds with substantially improved encoding rates
|
||||||
\cite[Sec.~1]{bravyi_high-threshold_2024}.
|
\cite[Sec.~1]{bravyi_high-threshold_2024}.
|
||||||
Because of this, the decoding algorithms we consider will all be
|
Because of this, the decoding algorithms we consider will all be
|
||||||
related to \acf{bp} in some way.
|
based on \acf{bp}.
|
||||||
Our aim is to build a fault-tolerant \ac{qec} system that works well
|
Our aim is to build a fault-tolerant \ac{qec} system that works well
|
||||||
even in the presence of circuit-level noise.
|
even in the presence of circuit-level noise.
|
||||||
We must overcome two main challenges to achieve this.
|
We must overcome two main challenges to achieve this.
|
||||||
|
|
||||||
First, recall the problems related to degeneracy, which is inherent
|
First, recall the problems related to degeneracy, which is inherent
|
||||||
to quantum codes.
|
to quantum codes.
|
||||||
Because multiple minimum-weight codewords exist, the \ac{bp}
|
Because multiple minimum-weight solutions to the decoding problem may
|
||||||
algorithm becomes uncertain of the direction to proceed in.
|
exist, the \ac{bp} algorithm becomes uncertain of the direction to proceed in.
|
||||||
Additionally, the commutativity conditions of the stabilizers
|
Additionally, the commutativity conditions of the stabilizers
|
||||||
necessitate the existence of short cycles.
|
necessitate the existence of short cycles.
|
||||||
Together, these two aspects lead to substantial convergence problems
|
Together, these two aspects lead to substantial convergence problems
|
||||||
of \ac{bp} for quantum codes, when it is used on its own.
|
of \ac{bp} for quantum codes, when employed on its own.
|
||||||
|
|
||||||
Second, the consideration of circuit-level noise introduces many more
|
Second, the consideration of circuit-level noise introduces many more
|
||||||
error locations into the circuit.
|
error locations into the circuit.
|
||||||
@@ -40,28 +39,28 @@ We also perform multiple rounds of syndrome measurements,
|
|||||||
exacerbating the problem.
|
exacerbating the problem.
|
||||||
This leads to a massively increased computational complexity and
|
This leads to a massively increased computational complexity and
|
||||||
latency of the decoding process.
|
latency of the decoding process.
|
||||||
In our experiments using the $\llbracket 144,12,12 \rrbracket$
|
For example, in our experiments using the $\llbracket 144,12,12
|
||||||
\acf{bb} code with $12$ syndrome measurement rounds, for example, the
|
\rrbracket$ \acf{bb} code with $12$ syndrome measurement rounds, the
|
||||||
number of \acp{vn} grew from $144$ to $9504$, and the
|
number of \acp{vn} grew from $144$ to $9504$, and the number of
|
||||||
number of \acfp{cn} grew from $72$ to $1008$.
|
\acfp{cn} grew from $72$ to $1008$.
|
||||||
|
|
||||||
The first problem is not inherent to \acp{dem} or fault-tolerance,
|
The first problem is not inherent to \acp{dem} or fault-tolerance,
|
||||||
but rather quantum codes in general.
|
but rather quantum codes in general.
|
||||||
Many different approaches to solving it exist, usually centered
|
Many different approaches to solving it exist, usually centered
|
||||||
around somehow modifying \ac{bp}.
|
around modifying \ac{bp}.
|
||||||
The most popular approach is combining a few initial
|
The most popular approach is combining a few initial iterations of
|
||||||
iterations of \ac{bp} with a second decoding algorithm, \ac{osd}
|
\ac{bp} with a second decoding algorithm, \ac{osd}
|
||||||
\cite{roffe_decoding_2020}.
|
\cite{roffe_decoding_2020}.
|
||||||
Other approaches exist, such as \ac{aed}
|
Other approaches exist, such as \ac{aed}
|
||||||
\cite{koutsioumpas_automorphism_2025}, where multiple variations of
|
\cite{koutsioumpas_automorphism_2025}, where multiple variations of
|
||||||
the code are decoded simultaneously to increase the chances of convergence.
|
the syndrome, based on graph and code symmetries, are decoded
|
||||||
|
simultaneously to increase the chances of convergence.
|
||||||
Here, we will focus on the \acf{bpgd} algorithm
|
Here, we will focus on the \acf{bpgd} algorithm
|
||||||
\cite{yao_belief_2024} we already introduced in \Cref{ch:Fundamentals},
|
\cite{yao_belief_2024} introduced in \Cref{ch:Fundamentals}.
|
||||||
for reasons that will become clear later in the chapter.
|
|
||||||
|
|
||||||
The second problem is inherent to decoding using \acp{dem}.
|
The second problem is inherent to decoding using \acp{dem}.
|
||||||
This is an area that has received less attention.
|
This is an area that has so far received less attention in the literature.
|
||||||
As we saw in \Cref{sec:Quantum Error Correction}, for \ac{qec},
|
As discerned in \Cref{sec:Quantum Error Correction}, for \ac{qec},
|
||||||
latency is the main constraint, not raw computational complexity.
|
latency is the main constraint, not raw computational complexity.
|
||||||
The main way this is addressed in the literature is \emph{sliding
|
The main way this is addressed in the literature is \emph{sliding
|
||||||
window decoding}, which attempts to divide the overall decoding
|
window decoding}, which attempts to divide the overall decoding
|
||||||
@@ -70,7 +69,7 @@ problem into many smaller ones that can be solved more efficiently.
|
|||||||
% TODO: This could potentially be a bit more text (e.g., go into
|
% TODO: This could potentially be a bit more text (e.g., go into
|
||||||
% SC-LDPC like structure that serves as the inspiration for the
|
% SC-LDPC like structure that serves as the inspiration for the
|
||||||
% warm-start decoding. Or just go into warm-start decoding)
|
% warm-start decoding. Or just go into warm-start decoding)
|
||||||
Our own work will focus mostly on the the solution of the second
|
In this thesis, we will focus mostly on the the solution of the second
|
||||||
problem using sliding-window decoding.
|
problem using sliding-window decoding.
|
||||||
We will start by briefly reviewing the existing work related to
|
We will start by briefly reviewing the existing work related to
|
||||||
sliding-window decoding,
|
sliding-window decoding,
|
||||||
@@ -200,7 +199,7 @@ Each of these windows is then decoded separately.
|
|||||||
|
|
||||||
% Some general notes
|
% Some general notes
|
||||||
|
|
||||||
\Cref{fig:literature} gives an overview over the existing body of work
|
\Cref{fig:literature} gives an overview over the existing works
|
||||||
related to sliding-window decoding.
|
related to sliding-window decoding.
|
||||||
The papers \cite{huang_improved_2023} and \cite{huang_increasing_2024} are
|
The papers \cite{huang_improved_2023} and \cite{huang_increasing_2024} are
|
||||||
lumped together, as they share the same content;
|
lumped together, as they share the same content;
|
||||||
@@ -217,9 +216,9 @@ software freely available online%
|
|||||||
\footnote{
|
\footnote{
|
||||||
\url{https://github.com/gongaa/SlidingWindowDecoder}
|
\url{https://github.com/gongaa/SlidingWindowDecoder}
|
||||||
}.
|
}.
|
||||||
A final thing to note is that \cite{dennis_topological_2002} never
|
Finally, note that \cite{dennis_topological_2002} never explicitly
|
||||||
explicitly mentions sliding windows; the authors call their scheme
|
mentions sliding windows; the authors call their scheme ``overlapping
|
||||||
``overlapping recovery''.
|
recovery''.
|
||||||
|
|
||||||
% Topological vs QLDPC
|
% Topological vs QLDPC
|
||||||
|
|
||||||
@@ -244,7 +243,7 @@ Finally, \cite{gong_toward_2024} explores \ac{bb} codes.
|
|||||||
% Sequential vs parallel
|
% Sequential vs parallel
|
||||||
|
|
||||||
After having divided the whole circuit into separate windows, the question
|
After having divided the whole circuit into separate windows, the question
|
||||||
arises of how exactly to realize the decoding.
|
arises of how to make use of the window-like structure for decoding.
|
||||||
There are two main approaches, with differing mechanisms of reducing
|
There are two main approaches, with differing mechanisms of reducing
|
||||||
the latency.
|
the latency.
|
||||||
Some papers decode the sliding windows in a parallel fashion.
|
Some papers decode the sliding windows in a parallel fashion.
|
||||||
@@ -252,7 +251,8 @@ The benefit in this case is
|
|||||||
is that classical hardware can be utilized more effectively.
|
is that classical hardware can be utilized more effectively.
|
||||||
Others choose a sequential approach.
|
Others choose a sequential approach.
|
||||||
Here, decoding can start earlier, as there is no need to wait for the
|
Here, decoding can start earlier, as there is no need to wait for the
|
||||||
syndrome measurements of all windows before beginning with the decoding.
|
syndrome measurements of subsequent windows before beginning with the
|
||||||
|
decoding of earlier windows.
|
||||||
With the exception of \cite{dennis_topological_2002}, literature
|
With the exception of \cite{dennis_topological_2002}, literature
|
||||||
treating topological codes has mostly focused on parallel decoding
|
treating topological codes has mostly focused on parallel decoding
|
||||||
while literature treating \ac{qldpc} codes has wholly considered
|
while literature treating \ac{qldpc} codes has wholly considered
|
||||||
@@ -261,7 +261,7 @@ sequential decoding.
|
|||||||
% Deep-dive into QLDPC methods
|
% Deep-dive into QLDPC methods
|
||||||
|
|
||||||
For this work, the publications treating \ac{qldpc} codes are
|
For this work, the publications treating \ac{qldpc} codes are
|
||||||
especially interesting.
|
particularly interesting.
|
||||||
The experimental conditions for these are summarized in
|
The experimental conditions for these are summarized in
|
||||||
\Cref{table:experimental_conditions}.
|
\Cref{table:experimental_conditions}.
|
||||||
As we noted above, \ac{hgp} and \ac{lp} codes are considered in
|
As we noted above, \ac{hgp} and \ac{lp} codes are considered in
|
||||||
@@ -274,7 +274,7 @@ The employed noise models also differ;
|
|||||||
Finally, in \cite{gong_toward_2024} the authors introduce their own variation of
|
Finally, in \cite{gong_toward_2024} the authors introduce their own variation of
|
||||||
\ac{bpgd}, \ac{bp} with \ac{gdg}, while \cite{huang_increasing_2024}
|
\ac{bpgd}, \ac{bp} with \ac{gdg}, while \cite{huang_increasing_2024}
|
||||||
and \cite{kang_quits_2025} use \ac{bp} + \ac{osd}.
|
and \cite{kang_quits_2025} use \ac{bp} + \ac{osd}.
|
||||||
We would additionally like to note that only in
|
We would additionally like to note that only
|
||||||
\cite{gong_toward_2024} and \cite{kang_quits_2025}
|
\cite{gong_toward_2024} and \cite{kang_quits_2025}
|
||||||
explicitly work with the \ac{dem} formalism.
|
explicitly work with the \ac{dem} formalism.
|
||||||
|
|
||||||
@@ -286,12 +286,12 @@ explicitly work with the \ac{dem} formalism.
|
|||||||
sliding-window decoding for \ac{qldpc} codes.}
|
sliding-window decoding for \ac{qldpc} codes.}
|
||||||
\vspace*{3mm}
|
\vspace*{3mm}
|
||||||
\label{table:experimental_conditions}
|
\label{table:experimental_conditions}
|
||||||
\begin{tabular}{l|ccc}
|
\begin{tabular}{lccc}\toprule
|
||||||
% tex-fmt: off
|
% tex-fmt: off
|
||||||
Publication & Code & Noise Model & Decoder \\ \hline
|
Publication & Code & Noise Model & Decoder \\ \midrule
|
||||||
\hspace{-2.5mm}\cite{huang_improved_2023},\cite{huang_increasing_2024} & \acs{hgp}, \acs{lp} & Phenomenological noise & \acs{bp} + \acs{osd} \\
|
\hspace{-2.5mm}\cite{huang_improved_2023},\cite{huang_increasing_2024} & \acs{hgp}, \acs{lp} & Phenomenological noise & \acs{bp} + \acs{osd} \\
|
||||||
\hspace{-2.5mm}\cite{gong_toward_2024} & \acs{bb} & Circuit-level noise & \acs{bp} + \acs{gdg} \\
|
\hspace{-2.5mm}\cite{gong_toward_2024} & \acs{bb} & Circuit-level noise & \acs{bp} + \acs{gdg} \\
|
||||||
\hspace{-2.5mm}\cite{kang_quits_2025} & \acs{hgp}, \acs{lp}, \acs{bpc} & Circuit-level noise & \acs{bp} + \ac{osd}
|
\hspace{-2.5mm}\cite{kang_quits_2025} & \acs{hgp}, \acs{lp}, \acs{bpc} & Circuit-level noise & \acs{bp} + \acs{osd} \\ \bottomrule
|
||||||
% tex-fmt: on
|
% tex-fmt: on
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\end{table}
|
\end{table}
|
||||||
@@ -382,7 +382,7 @@ explicitly work with the \ac{dem} formalism.
|
|||||||
\subsection{Window Splitting and Sequential Sliding-Window Decoding}
|
\subsection{Window Splitting and Sequential Sliding-Window Decoding}
|
||||||
\label{subsec:Window Splitting and Sequential Sliding-Window Decoding}
|
\label{subsec:Window Splitting and Sequential Sliding-Window Decoding}
|
||||||
|
|
||||||
In this section, we will examine the methodology by which a detector
|
In this section, we examine the methodology by which a detector
|
||||||
error matrix is divided into overlapping windows.
|
error matrix is divided into overlapping windows.
|
||||||
The algorithm detailed here follows \cite{kang_quits_2025}, which
|
The algorithm detailed here follows \cite{kang_quits_2025}, which
|
||||||
is in turn based on \cite{huang_increasing_2024}.
|
is in turn based on \cite{huang_increasing_2024}.
|
||||||
@@ -392,7 +392,7 @@ is in turn based on \cite{huang_increasing_2024}.
|
|||||||
Sliding-window decoding is made possible by the time-like structure
|
Sliding-window decoding is made possible by the time-like structure
|
||||||
of the syndrome extraction circuitry.
|
of the syndrome extraction circuitry.
|
||||||
This is especially clearly visible under the \ac{dem} formalism, where
|
This is especially clearly visible under the \ac{dem} formalism, where
|
||||||
this manifests as a block-diagonal structure of the detector
|
it manifests as a block-diagonal structure of the detector
|
||||||
error matrix $\bm{H}$.
|
error matrix $\bm{H}$.
|
||||||
Note that this presupposes a choice of detectors as seen in
|
Note that this presupposes a choice of detectors as seen in
|
||||||
\Cref{subsec:Detector Error Matrix}.
|
\Cref{subsec:Detector Error Matrix}.
|
||||||
@@ -411,11 +411,10 @@ After decoding a window, there is a subset of \acp{cn} that
|
|||||||
no longer contribute to decoding, since none of their
|
no longer contribute to decoding, since none of their
|
||||||
neighboring \acp{vn} appear in subsequent windows.
|
neighboring \acp{vn} appear in subsequent windows.
|
||||||
We call the set of \acp{vn} connected to those \acp{cn} the
|
We call the set of \acp{vn} connected to those \acp{cn} the
|
||||||
\emph{commit region} and we wish to commit them before moving to the
|
\emph{commit region} and we commit them before moving to the
|
||||||
next window, i.e., fix the values we estimate for the corresponding bits.
|
next window, i.e., we fix the values we estimate for the corresponding bits.
|
||||||
As mentioned above, the benefit of this sequential sliding-window
|
The benefit of this sequential sliding-window decoding approach is
|
||||||
decoding approach
|
that the decoding process can begin as soon as the syndrome
|
||||||
is that the decoding process can begin as soon as the syndrome
|
|
||||||
measurements for the first window are complete.
|
measurements for the first window are complete.
|
||||||
|
|
||||||
% W and F and why we look at rows, not columns
|
% W and F and why we look at rows, not columns
|
||||||
@@ -425,15 +424,15 @@ The \emph{window size} $W \in \mathbb{N}$ represents the number of
|
|||||||
syndrome extraction rounds lumped into one window, while
|
syndrome extraction rounds lumped into one window, while
|
||||||
the \emph{step size} $F \in \mathbb{N}$ represents the number of
|
the \emph{step size} $F \in \mathbb{N}$ represents the number of
|
||||||
syndrome extraction rounds skipped before starting the next window.
|
syndrome extraction rounds skipped before starting the next window.
|
||||||
$W$ controls the size of the windows while $F$ controls the overlap
|
The parameter $W$ controls the size of the windows while $F$ controls
|
||||||
between them.
|
the overlap between them.
|
||||||
As illustrated in \Cref{fig:windowing_pcm}, $W$ and $F$ control the
|
As illustrated in \Cref{fig:windowing_pcm}, $W$ and $F$ control the
|
||||||
window dimensions and locations by defining the related \acp{cn},
|
window dimensions and locations by defining the related \acp{cn},
|
||||||
not the \acp{vn}.
|
not the \acp{vn}.
|
||||||
This is because while the number of overall \acp{cn} is only affected
|
This is because the number of overall \acp{cn} is only affected
|
||||||
by the choice of the underlying code and the number of syndrome
|
by the choice of the underlying code and the number of syndrome
|
||||||
measurement rounds, the number of \acp{vn} depends on the noise model
|
measurement rounds, while the number of \acp{vn} depends on the noise
|
||||||
and is difficult to predict beforehand.
|
model and is difficult to predict beforehand.
|
||||||
|
|
||||||
\begin{figure}[t]
|
\begin{figure}[t]
|
||||||
\centering
|
\centering
|
||||||
@@ -469,18 +468,16 @@ and is difficult to predict beforehand.
|
|||||||
matrix generated from the $\llbracket 72, 6, 6 \rrbracket$
|
matrix generated from the $\llbracket 72, 6, 6 \rrbracket$
|
||||||
BB code under circuit-level noise.
|
BB code under circuit-level noise.
|
||||||
The block-diagonal structure reflects the time-like locality
|
The block-diagonal structure reflects the time-like locality
|
||||||
of the syndrome extraction circuit., with each block
|
of the syndrome extraction circuit, with each block
|
||||||
corresponding to one syndrome measurement round.
|
corresponding to one syndrome measurement round.
|
||||||
Two consecutive windows are highlighted: the window size $W$
|
Two consecutive windows are highlighted: The window size $W
|
||||||
controls the number of syndrome rounds included in each
|
\in \mathbb{N}$ controls the number of syndrome rounds
|
||||||
window, while the step size $F$ controls how many rounds
|
included in each window, while the step size $F \in
|
||||||
separate the start of one window from the next.
|
\mathbb{N}$ controls how many rounds separate the start of
|
||||||
|
one window from the next.
|
||||||
The bracketed region indicates the commit
|
The bracketed region indicates the commit
|
||||||
region of the first window, i.e., the \acp{vn} that are committed
|
region of the first window, i.e., the \acp{vn} that are committed
|
||||||
before moving to the second window.
|
before moving to the decoding of the second window.
|
||||||
% Visualization of the windowing process on a detector
|
|
||||||
% error matrix generated from the $\llbracket 72, 6, 6
|
|
||||||
% \rrbracket$ BB code.
|
|
||||||
}
|
}
|
||||||
\label{fig:windowing_pcm}
|
\label{fig:windowing_pcm}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
@@ -493,52 +490,53 @@ We use the variables $n,m \in \mathbb{N}$ to describe the number of
|
|||||||
We index the \acp{vn} using the variable $i \in \mathcal{I} :=
|
We index the \acp{vn} using the variable $i \in \mathcal{I} :=
|
||||||
[0:n-1]$ and the \acp{cn} using the variable $j \in \mathcal{J} := [ 0 : m-1]$.
|
[0:n-1]$ and the \acp{cn} using the variable $j \in \mathcal{J} := [ 0 : m-1]$.
|
||||||
Finally, we call $\mathcal{N}_\text{V}(i) = \left\{ j\in \mathcal{J}:
|
Finally, we call $\mathcal{N}_\text{V}(i) = \left\{ j\in \mathcal{J}:
|
||||||
\bm{H}_{j,i} = 1 \right\}$ and $\mathcal{N}_\text{C}(j) := \left\{ i
|
H_{j,i} = 1 \right\}$ and $\mathcal{N}_\text{C}(j) := \left\{ i
|
||||||
\in \mathcal{I} : \bm{H}_{j,i} = 1 \right\}$ the neighborhoods of the
|
\in \mathcal{I} : H_{j,i} = 1 \right\}$ the neighborhoods of the
|
||||||
corresponding nodes.
|
respective nodes.
|
||||||
In this case, we take $\bm{H} \in \mathbb{F}_2^{m\times n}$ to be the
|
In this case, we take $\bm{H} \in \mathbb{F}_2^{m\times n}$ to be the
|
||||||
check matrix of the underlying code, from which the \ac{dem} was generated.
|
check matrix of the underlying code, from which the \ac{dem} was generated.
|
||||||
We use $m_\text{DEM}, \mathcal{I}_\text{DEM}$, and $\mathcal{J}_\text{DEM}$
|
We use $m_\text{DEM}, \mathcal{I}_\text{DEM}$, and $\mathcal{J}_\text{DEM}$
|
||||||
to refer to the respective values defined from the detector error matrix.
|
to refer to the respective values defined for the detector error matrix.
|
||||||
|
|
||||||
% How we get the corresponding rows
|
% How we get the corresponding rows
|
||||||
|
|
||||||
We begin by describing the sets of \acp{cn} relevant to each window.
|
First, we describe the sets of \acp{cn} relevant to each window.
|
||||||
For indexing, we use the variable $\ell \in [0:n_\text{win} - 1]$,
|
For indexing, we use the variable $\ell \in [0:n_\text{win} - 1]$,
|
||||||
where $n_\text{win} \in \mathbb{N}$ is the number of windows.
|
where $n_\text{win} \in \mathbb{N}$ is the number of windows.
|
||||||
Because we defined the step size $F$ as the number of syndrome
|
Since we define the step size $F$ as the number of syndrome
|
||||||
extraction rounds to skip, the first \ac{cn} of window $\ell$ should have index
|
extraction rounds to skip, the first \ac{cn} of window $\ell$ has index
|
||||||
$\ell F m$.
|
$\ell F m$.
|
||||||
Similarly, because of the way we defined the window size $W$, the
|
Similarly, due to the definition of the window size $W$, the
|
||||||
number of \acp{cn} should be $Wm$ for all but the last window.
|
number of \acp{cn} per window is $Wm$ for all but the last window.
|
||||||
The number of \acp{cn} in the last window may differ if there are
|
The number of \acp{cn} in the last window may differ if there are
|
||||||
not enough \acp{cn} left to completely fill it.
|
not enough \acp{cn} left to completely fill it.
|
||||||
We thus define
|
Thus, we define
|
||||||
\begin{align*}
|
\begin{align*}
|
||||||
\mathcal{J}_\text{win}^{(\ell)} &:= \left\{ j\in \mathcal{J}_\text{DEM}:~
|
\mathcal{J}_\text{win}^{(\ell)} &:= \left\{ j\in \mathcal{J}_\text{DEM}:~
|
||||||
\ell F m \le j < \min \left\{m_\text{DEM}, (\ell F + W) m \right\}
|
\ell F m \le j < \min \left\{m_\text{DEM}, (\ell F + W) m \right\}
|
||||||
\right\} \\[2mm]
|
\right\} \\[2mm]
|
||||||
& \hspace{30mm} \text{and} \\[2mm]
|
& \hspace{37mm} \text{and} \\[2mm]
|
||||||
\mathcal{J}_\text{commit}^{(\ell)} &:= \left\{ j\in \mathcal{J}_\text{DEM}:~
|
\mathcal{J}_\text{commit}^{(\ell)} &:= \left\{ j\in \mathcal{J}_\text{DEM}:~
|
||||||
\ell F m \le j < \min \left\{m_\text{DEM}, (\ell + 1) F m \right\}
|
\ell F m \le j < \min \left\{m_\text{DEM}, (\ell + 1) F m \right\}
|
||||||
\right\}
|
\right\}
|
||||||
.%
|
,%
|
||||||
\end{align*}
|
\end{align*}
|
||||||
$\mathcal{J}_\text{win}^{(\ell)}$ is the set of all \acp{cn} in the
|
where $\mathcal{J}_\text{win}^{(\ell)}$ is the set of all \acp{cn} in the
|
||||||
window while $\mathcal{J}_\text{commit}^{(\ell)}$ is the set of \acp{cn}
|
window and $\mathcal{J}_\text{commit}^{(\ell)}$ is the set of \acp{cn}
|
||||||
that do not contribute to the next window and whose neighboring
|
that do not contribute to the next window and whose neighboring
|
||||||
\acp{vn} will thus be committed.
|
\acp{vn} will thus be committed.
|
||||||
We can additionally define the set of \acp{cn} that are shared between windows
|
Additionally, we can define the set of \acp{cn} that are shared between windows
|
||||||
$\ell$ and $\ell + 1$ as $\mathcal{J}_\text{overlap}^{(\ell)} :=
|
$\ell$ and $\ell + 1$ as $\mathcal{J}_\text{overlap}^{(\ell)} :=
|
||||||
\mathcal{J}_\text{win}^{(\ell)}\setminus \mathcal{J}_\text{commit}^{(\ell)}$.
|
\mathcal{J}_\text{win}^{(\ell)}\setminus \mathcal{J}_\text{commit}^{(\ell)}$.
|
||||||
|
|
||||||
% How we get the corresponding columns
|
% How we get the corresponding columns
|
||||||
|
|
||||||
We can now turn our attention to defining the sets of \acp{vn} relevant
|
We now turn our attention to defining the sets of \acp{vn} relevant
|
||||||
to each window.
|
to each window.
|
||||||
We first introduce a helper function $i_\text{max} :
|
We first introduce a helper function $i_\text{max} :
|
||||||
\mathcal{P}(\mathbb{N}) \to \mathbb{N}$, which takes a set of
|
\mathcal{P}(\mathbb{N}) \to \mathbb{N}$, which takes a set
|
||||||
\ac{cn} indices and returns the largest neighboring \ac{vn} index.
|
$\mathcal{S} \in \mathcal{P}(\mathbb{N})$ of \ac{cn} indices and
|
||||||
|
returns the largest neighboring \ac{vn} index.
|
||||||
We define
|
We define
|
||||||
\begin{align*}
|
\begin{align*}
|
||||||
i_\text{max}\left( \mathcal{S} \right) := \max \left\{ i\in
|
i_\text{max}\left( \mathcal{S} \right) := \max \left\{ i\in
|
||||||
@@ -552,13 +550,13 @@ where we set $i_\text{max} (\emptyset) = -1$ by convention%
|
|||||||
and $\mathcal{I}_\text{win}^{(\ell)}$ appropriately.
|
and $\mathcal{I}_\text{win}^{(\ell)}$ appropriately.
|
||||||
}%
|
}%
|
||||||
.
|
.
|
||||||
The commit region of window $\ell$ should include all of the \acp{vn}
|
The commit region of window $\ell$ includes all of the \acp{vn}
|
||||||
neighboring any of the \acp{cn} in $\mathcal{J}_\text{commit}^{(\ell)}$.
|
neighboring any of the \acp{cn} in $\mathcal{J}_\text{commit}^{(\ell)}$.
|
||||||
Consequently, the maximum index of the \acp{vn} we consider should be
|
Consequently, the maximum index of the \acp{vn} we consider is
|
||||||
$i_\text{max}(\mathcal{J}_\text{commit}^{(\ell)})$.
|
$i_\text{max}(\mathcal{J}_\text{commit}^{(\ell)})$.
|
||||||
Additionally, the set of \acp{vn} committed in the next window should
|
Additionally, the set of \acp{vn} committed in the next window should
|
||||||
start immediately afterwards.
|
contain the next largest index.
|
||||||
We thus define
|
Thus we define
|
||||||
\begin{align*}
|
\begin{align*}
|
||||||
\mathcal{I}_\text{commit}^{(\ell)}
|
\mathcal{I}_\text{commit}^{(\ell)}
|
||||||
&:= \left\{i \in \mathcal{I}_\text{DEM} :~
|
&:= \left\{i \in \mathcal{I}_\text{DEM} :~
|
||||||
@@ -680,7 +678,7 @@ and after decoding all windows we will therefore have committed all \acp{vn}.
|
|||||||
|
|
||||||
% Syndrome update
|
% Syndrome update
|
||||||
|
|
||||||
\Cref{fig:vis_rep} illustrates the meaning of the various sets of nodes.
|
\Cref{fig:vis_rep} illustrates the the various sets of nodes.
|
||||||
We can also see a subtlety we must handle carefully when
|
We can also see a subtlety we must handle carefully when
|
||||||
moving on to decode the next window.
|
moving on to decode the next window.
|
||||||
While the \acp{vn} in $\mathcal{J}_\text{commit}^{(\ell)}$ have no
|
While the \acp{vn} in $\mathcal{J}_\text{commit}^{(\ell)}$ have no
|
||||||
@@ -690,9 +688,12 @@ This is the case because these \acp{vn} have neighboring \acp{cn} in
|
|||||||
the next window.
|
the next window.
|
||||||
The part of the detector error matrix $\bm{H}_\text{DEM}$ describing
|
The part of the detector error matrix $\bm{H}_\text{DEM}$ describing
|
||||||
these connections is
|
these connections is
|
||||||
$\bm{H}_\text{overlap}^{(\ell)} =
|
\begin{align*}
|
||||||
\left(\bm{H}_\text{DEM}\right)_{\mathcal{J}_\text{overlap}^{(\ell)},
|
\bm{H}_\text{overlap}^{(\ell)} :=
|
||||||
\mathcal{I}_\text{commit}^{(\ell)}}$.
|
\left(\bm{H}_\text{DEM}\right)_{\mathcal{J}_\text{overlap}^{(\ell)},
|
||||||
|
\mathcal{I}_\text{commit}^{(\ell)}}
|
||||||
|
.%
|
||||||
|
\end{align*}
|
||||||
We have to account for this fact by updating the syndrome $\bm{s}$
|
We have to account for this fact by updating the syndrome $\bm{s}$
|
||||||
based on the committed bit values.
|
based on the committed bit values.
|
||||||
Specifically, if $\hat{\bm{e}}_\text{commit}^{(\ell)}$ describes the error
|
Specifically, if $\hat{\bm{e}}_\text{commit}^{(\ell)}$ describes the error
|
||||||
@@ -700,7 +701,7 @@ estimates committed after decoding window $\ell$, we have to set
|
|||||||
\begin{align*}
|
\begin{align*}
|
||||||
\left(\bm{s}\right)_{\mathcal{J}_\text{overlap}^{(\ell)}} =
|
\left(\bm{s}\right)_{\mathcal{J}_\text{overlap}^{(\ell)}} =
|
||||||
\bm{H}_\text{overlap}^{(\ell)}
|
\bm{H}_\text{overlap}^{(\ell)}
|
||||||
\left( \hat{\bm{e}}_\text{commit}^{(\ell)} \right)^\text{T}
|
\left( \hat{\bm{e}}_\text{commit}^{(\ell)} \right)^\mathsf{T}
|
||||||
.%
|
.%
|
||||||
\end{align*}
|
\end{align*}
|
||||||
|
|
||||||
@@ -711,7 +712,7 @@ estimates committed after decoding window $\ell$, we have to set
|
|||||||
% Intro: Problem with above procedure
|
% Intro: Problem with above procedure
|
||||||
|
|
||||||
The sliding-window structure visible in \Cref{fig:windowing_pcm} is
|
The sliding-window structure visible in \Cref{fig:windowing_pcm} is
|
||||||
highly reminiscent of windowed decoding for \ac{sc}-\ac{ldpc} codes.
|
reminiscent of windowed decoding for \ac{sc}-\ac{ldpc} codes.
|
||||||
Switching our viewpoint to the Tanner graph depicted in
|
Switching our viewpoint to the Tanner graph depicted in
|
||||||
\Cref{fig:messages_decimation_tanner}, however, we can see an important
|
\Cref{fig:messages_decimation_tanner}, however, we can see an important
|
||||||
difference between \ac{sc}-\ac{ldpc} decoding and the
|
difference between \ac{sc}-\ac{ldpc} decoding and the
|
||||||
@@ -719,7 +720,7 @@ sliding-window decoding procedure detailed above.
|
|||||||
While the windowing process is similar, the algorithm above
|
While the windowing process is similar, the algorithm above
|
||||||
reinitializes the decoder to start from a clean state when moving to
|
reinitializes the decoder to start from a clean state when moving to
|
||||||
the next window.
|
the next window.
|
||||||
It therefore does not make use of the integral property of
|
Therefore, it does not make use of the integral property of
|
||||||
windowed \ac{sc}-\ac{ldpc} decoding of exploiting the spatially coupled
|
windowed \ac{sc}-\ac{ldpc} decoding of exploiting the spatially coupled
|
||||||
structure by passing soft information from earlier to later spatial positions.
|
structure by passing soft information from earlier to later spatial positions.
|
||||||
|
|
||||||
@@ -731,8 +732,9 @@ still relevant to the decoding of the next.
|
|||||||
This may somewhat limit the variety of \emph{inner decoders}, i.e.,
|
This may somewhat limit the variety of \emph{inner decoders}, i.e.,
|
||||||
the decoders decoding the individual windows, the warm-start
|
the decoders decoding the individual windows, the warm-start
|
||||||
initialization can be used with.
|
initialization can be used with.
|
||||||
E.g., \ac{bp}+\ac{osd} does not immediately seem suitable, though
|
For instance, \ac{bp}+\ac{osd} does not immediately seem suitable, as
|
||||||
this remains to be investigated.
|
it performs a hard decision on the \acp{vn}, though this remains to
|
||||||
|
be investigated.
|
||||||
We chose to investigate first plain \ac{bp} due to its simplicity and
|
We chose to investigate first plain \ac{bp} due to its simplicity and
|
||||||
then \ac{bpgd} because of the availability of recently computed messages.
|
then \ac{bpgd} because of the availability of recently computed messages.
|
||||||
|
|
||||||
@@ -900,7 +902,8 @@ To see how we realize this in practice, we reiterate the steps of the
|
|||||||
\right) \\[3mm]
|
\right) \\[3mm]
|
||||||
\text{\ac{cn} Update (Min-Sum): }&
|
\text{\ac{cn} Update (Min-Sum): }&
|
||||||
\displaystyle L_{i \leftarrow j} = (-1)^{s_j}\cdot \prod_{i'
|
\displaystyle L_{i \leftarrow j} = (-1)^{s_j}\cdot \prod_{i'
|
||||||
\in \mathcal{N}_\text{C}(j)\setminus \{i\}} \sign \left( L_{i' \rightarrow j}
|
\in \mathcal{N}_\text{C}(j)\setminus \{i\}} \sign \left( L_{i'
|
||||||
|
\rightarrow j}
|
||||||
\right) \cdot \min_{i' \in \mathcal{N}_\text{C}(j)\setminus \{i\}} \lvert
|
\right) \cdot \min_{i' \in \mathcal{N}_\text{C}(j)\setminus \{i\}} \lvert
|
||||||
L_{i'\rightarrow j} \rvert \\[3mm]
|
L_{i'\rightarrow j} \rvert \\[3mm]
|
||||||
\label{eq:vn_update}
|
\label{eq:vn_update}
|
||||||
@@ -943,7 +946,7 @@ We can then continue decoding the next window as usual.
|
|||||||
|
|
||||||
We can further simplify the algorithm.
|
We can further simplify the algorithm.
|
||||||
Looking carefully at \Cref{eq:vn_update} we notice that when the
|
Looking carefully at \Cref{eq:vn_update} we notice that when the
|
||||||
\ac{cn} to \ac{vn} messages $L_{i\leftarrow j}$ have been zero-initialized,
|
\ac{cn} to \ac{vn} messages $L_{i\leftarrow j}$ have been initialized to zero,
|
||||||
the \ac{vn} update degenerates to
|
the \ac{vn} update degenerates to
|
||||||
\begin{align*}
|
\begin{align*}
|
||||||
\displaystyle L_{i \rightarrow j} =
|
\displaystyle L_{i \rightarrow j} =
|
||||||
@@ -971,7 +974,7 @@ Note that the decoding procedure performed on the individual windows
|
|||||||
\label{alg:warm_start_bp}
|
\label{alg:warm_start_bp}
|
||||||
\begin{algorithmic}[1]
|
\begin{algorithmic}[1]
|
||||||
\State \textbf{Initialize:} $\hat{\bm{e}}^\text{total} \leftarrow \bm{0}$
|
\State \textbf{Initialize:} $\hat{\bm{e}}^\text{total} \leftarrow \bm{0}$
|
||||||
\State \textbf{Initialize:} $L_{i\leftarrow j} = 0
|
\State \textbf{Initialize:} $L_{i\leftarrow j} = 0,
|
||||||
~\forall~ i\in \mathcal{I}, j\in \mathcal{J}$
|
~\forall~ i\in \mathcal{I}, j\in \mathcal{J}$
|
||||||
\For{$\ell = 0, \ldots, n_\text{win}-1$}
|
\For{$\ell = 0, \ldots, n_\text{win}-1$}
|
||||||
\For{$\nu = 0, \ldots, n_\text{iter}-1$}
|
\For{$\nu = 0, \ldots, n_\text{iter}-1$}
|
||||||
@@ -983,7 +986,7 @@ Note that the decoding procedure performed on the individual windows
|
|||||||
\State $\displaystyle\left(\hat{\bm{e}}^\text{total}\right)_{\mathcal{I}^{(\ell)}_\text{commit}} \leftarrow \hat{\bm{e}}^{(\ell)}_\text{commit}$
|
\State $\displaystyle\left(\hat{\bm{e}}^\text{total}\right)_{\mathcal{I}^{(\ell)}_\text{commit}} \leftarrow \hat{\bm{e}}^{(\ell)}_\text{commit}$
|
||||||
\State $\displaystyle\left(\bm{s}\right)_{\mathcal{J}_\text{overlap}^{(\ell)}}
|
\State $\displaystyle\left(\bm{s}\right)_{\mathcal{J}_\text{overlap}^{(\ell)}}
|
||||||
\leftarrow \bm{H}_\text{overlap}^{(\ell)}
|
\leftarrow \bm{H}_\text{overlap}^{(\ell)}
|
||||||
\left( \hat{\bm{e}}_\text{commit}^{(\ell)} \right)^\text{T}$
|
\left( \hat{\bm{e}}_\text{commit}^{(\ell)} \right)^\mathsf{T}$
|
||||||
\If{$\ell < n_\text{win} - 1$}
|
\If{$\ell < n_\text{win} - 1$}
|
||||||
\State $L^{(\ell+1)}_{i\leftarrow j} \leftarrow
|
\State $L^{(\ell+1)}_{i\leftarrow j} \leftarrow
|
||||||
L^{(\ell)}_{i\leftarrow j}
|
L^{(\ell)}_{i\leftarrow j}
|
||||||
@@ -1010,8 +1013,8 @@ the most reliable \ac{vn}, meaning we perform a hard decision and
|
|||||||
remove it from the following decoding process.
|
remove it from the following decoding process.
|
||||||
|
|
||||||
This means that when moving from one window to the next, we now have
|
This means that when moving from one window to the next, we now have
|
||||||
more information available: not just the \ac{bp} messages but also the
|
more information available: Not just the \ac{bp} messages but also the
|
||||||
information about what \acp{vn} were decimated and to what values.
|
Information about what \acp{vn} were decimated and to what values.
|
||||||
We call this \emph{decimation information} in the following.
|
We call this \emph{decimation information} in the following.
|
||||||
We can extend \Cref{alg:warm_start_bp} by additionally passing the
|
We can extend \Cref{alg:warm_start_bp} by additionally passing the
|
||||||
decimation information after initializing the \ac{cn} to \ac{vn} messages.
|
decimation information after initializing the \ac{cn} to \ac{vn} messages.
|
||||||
@@ -1181,7 +1184,7 @@ decimation information after initializing the \ac{cn} to \ac{vn} messages.
|
|||||||
% \State $\displaystyle\left(\hat{\bm{e}}^\text{total}\right)_{\mathcal{I}^{(\ell)}_\text{commit}} \leftarrow \hat{\bm{e}}^{(\ell)}_\text{commit}$
|
% \State $\displaystyle\left(\hat{\bm{e}}^\text{total}\right)_{\mathcal{I}^{(\ell)}_\text{commit}} \leftarrow \hat{\bm{e}}^{(\ell)}_\text{commit}$
|
||||||
% \State $\displaystyle\left(\bm{s}\right)_{\mathcal{J}_\text{overlap}^{(\ell)}}
|
% \State $\displaystyle\left(\bm{s}\right)_{\mathcal{J}_\text{overlap}^{(\ell)}}
|
||||||
% \leftarrow \bm{H}_\text{overlap}^{(\ell)}
|
% \leftarrow \bm{H}_\text{overlap}^{(\ell)}
|
||||||
% \left( \hat{\bm{e}}_\text{commit}^{(\ell)} \right)^\text{T}$
|
% \left( \hat{\bm{e}}_\text{commit}^{(\ell)} \right)^\mathsf{T}$
|
||||||
% \If{$\ell < n_\text{win} - 1$}
|
% \If{$\ell < n_\text{win} - 1$}
|
||||||
% \State $L^{(\ell+1)}_{i\leftarrow j} \leftarrow
|
% \State $L^{(\ell+1)}_{i\leftarrow j} \leftarrow
|
||||||
% L^{(\ell)}_{i\leftarrow j}
|
% L^{(\ell)}_{i\leftarrow j}
|
||||||
@@ -1227,7 +1230,7 @@ model, both of which depend on the code and noise model in question.
|
|||||||
% Software stack: Layer 3
|
% Software stack: Layer 3
|
||||||
|
|
||||||
Even further up, given an already constructed syndrome extraction
|
Even further up, given an already constructed syndrome extraction
|
||||||
circuit and the resulting \acf{dem}, we must split the detector error
|
circuit and the resulting \acf{dem}, we split the detector error
|
||||||
matrix into separate windows and manage the interplay between the
|
matrix into separate windows and manage the interplay between the
|
||||||
inner decoders acting on those individual windows.
|
inner decoders acting on those individual windows.
|
||||||
|
|
||||||
@@ -1246,12 +1249,11 @@ For the circuit generation, we employed utilities from QUITS
|
|||||||
\cite{kang_quits_2025}, which provides syndrome extraction circuitry
|
\cite{kang_quits_2025}, which provides syndrome extraction circuitry
|
||||||
generation for a number of different \ac{qldpc} codes.
|
generation for a number of different \ac{qldpc} codes.
|
||||||
We initially created a Python implementation, which used QUITS for the window
|
We initially created a Python implementation, which used QUITS for the window
|
||||||
splitting and subsequent sliding-window decoding as well.
|
splitting and subsequent sliding-window decoding as well, before
|
||||||
The \ac{bp} and \ac{bpgd} decoders were also initially implemented in Python.
|
reimplementing in Rust.
|
||||||
After a preliminary investigation, we opted for a complete
|
The \ac{bp} and \ac{bpgd} are implemented in Rust to achieve
|
||||||
reimplementation in Rust to achieve higher simulation speeds leveraging
|
higher simulation speeds leveraging the compiled nature of the
|
||||||
the compiled nature of the language.
|
language.
|
||||||
We reimplemented both the window splitting and the decoders.
|
|
||||||
|
|
||||||
% Global experimental setup
|
% Global experimental setup
|
||||||
|
|
||||||
@@ -1267,7 +1269,7 @@ For the generation of the \ac{dem} we set the number of syndrome
|
|||||||
extraction rounds to $12$, similarly to \cite{gong_toward_2024}, and
|
extraction rounds to $12$, similarly to \cite{gong_toward_2024}, and
|
||||||
we defined our detectors as in the example in
|
we defined our detectors as in the example in
|
||||||
\Cref{subsec:Detector Error Matrix}.
|
\Cref{subsec:Detector Error Matrix}.
|
||||||
We employed circuit-lose noise as described in
|
We employed circuit-level noise as described in
|
||||||
\Cref{subsec:Choice of Noise Model} as our noise model, specifically standard
|
\Cref{subsec:Choice of Noise Model} as our noise model, specifically standard
|
||||||
ciruit-based depolarizing noise \cite[Sec.~VIII]{fowler_high-threshold_2009},
|
ciruit-based depolarizing noise \cite[Sec.~VIII]{fowler_high-threshold_2009},
|
||||||
i.e., all error locations in the circuit get assigned the same
|
i.e., all error locations in the circuit get assigned the same
|
||||||
@@ -1282,21 +1284,22 @@ generated by simulating at least $200$ logical error events.
|
|||||||
|
|
||||||
% Local experimental setup
|
% Local experimental setup
|
||||||
|
|
||||||
We began our investigation by using \ac{bp} with no further
|
We begin our investigation by using \ac{bp} with no further
|
||||||
modifications as the inner decoder.
|
modifications as the inner decoder.
|
||||||
We chose the min-sum variant of \ac{bp} due to its low computational complexity.
|
We choose the min-sum variant of \ac{bp} due to its low computational
|
||||||
|
complexity.
|
||||||
|
|
||||||
% [Thread] Get impression for max gain
|
% [Thread] Get impression for max gain
|
||||||
|
|
||||||
We initially wanted to gain an impression for the performance gain we could
|
We initially want to gain an impression for the performance gain we could
|
||||||
expect from a modification to the sliding-window decoding procedure.
|
expect from a modification to the sliding-window decoding procedure.
|
||||||
To this end, we began by analyzing the decoding performance of the
|
To this end, we begin by analyzing the decoding performance of the
|
||||||
original process, without our warm-start modification.
|
original process, without our warm-start modification.
|
||||||
We will call this \emph{cold-start} decoding in the following.
|
We will call this \emph{cold-start} decoding in the following.
|
||||||
Because we expected more global decoding to work better (the inner
|
Because we expect more global decoding to work better (the inner
|
||||||
decoder then has access to a larger portion of the long-range
|
decoder has access to a larger portion of the long-range
|
||||||
correlations encoded in the detector error matrix before any commit
|
correlations encoded in the detector error matrix before any commit
|
||||||
is made) we initially decided to use decoding on the whole detector
|
is made) we initially decide to use decoding on the whole detector
|
||||||
error matrix as a proxy for the attainable decoding performance.
|
error matrix as a proxy for the attainable decoding performance.
|
||||||
|
|
||||||
\begin{figure}[t]
|
\begin{figure}[t]
|
||||||
@@ -1400,8 +1403,8 @@ this trend and, as expected, achieves the strongest performance.
|
|||||||
The fact that the $W = 5$ curve is already very close to the
|
The fact that the $W = 5$ curve is already very close to the
|
||||||
whole-block decoder indicates that the marginal benefit of enlarging
|
whole-block decoder indicates that the marginal benefit of enlarging
|
||||||
the window saturates after a certain point.
|
the window saturates after a certain point.
|
||||||
From a practical standpoint, the choice of $W$ thus represents a
|
Thus, from a practical standpoint, the choice of $W$ represents a
|
||||||
trade-off between decoding latency and accuracy: larger windows
|
trade-off between decoding latency and accuracy: Larger windows
|
||||||
delay the start of decoding by requiring more syndrome extraction
|
delay the start of decoding by requiring more syndrome extraction
|
||||||
rounds to be collected upfront, while the diminishing returns above
|
rounds to be collected upfront, while the diminishing returns above
|
||||||
$W = 4$ suggest that growing the window much further yields little
|
$W = 4$ suggest that growing the window much further yields little
|
||||||
@@ -1409,7 +1412,7 @@ additional accuracy in return.
|
|||||||
|
|
||||||
% [Thread] First comparison with warm start
|
% [Thread] First comparison with warm start
|
||||||
|
|
||||||
Next, we additionally generated error rate curves for warm-start
|
Next, we additionally simulate error rate curves for warm-start
|
||||||
sliding-window decoding to assess how much of the gap between
|
sliding-window decoding to assess how much of the gap between
|
||||||
cold-start and whole-block decoding can be recovered by our modification.
|
cold-start and whole-block decoding can be recovered by our modification.
|
||||||
We chose the same window sizes as before, so that the warm- and
|
We chose the same window sizes as before, so that the warm- and
|
||||||
@@ -1508,7 +1511,7 @@ The dashed colored curves reproduce the cold-start results from
|
|||||||
corresponding warm-start runs for the same window sizes
|
corresponding warm-start runs for the same window sizes
|
||||||
$W \in \{3, 4, 5\}$.
|
$W \in \{3, 4, 5\}$.
|
||||||
The remaining experimental parameters are unchanged:
|
The remaining experimental parameters are unchanged:
|
||||||
the step size is fixed to $F = 1$,
|
The step size is fixed to $F = 1$,
|
||||||
the inner \ac{bp} decoder is allowed up to $200$ iterations per
|
the inner \ac{bp} decoder is allowed up to $200$ iterations per
|
||||||
window invocation, the black curve again gives the whole-block
|
window invocation, the black curve again gives the whole-block
|
||||||
reference, and the physical error rate is swept from $p = 0.001$ to
|
reference, and the physical error rate is swept from $p = 0.001$ to
|
||||||
@@ -1537,16 +1540,15 @@ consecutive windows spans $W - F = W - 1$ syndrome rounds, so larger
|
|||||||
$W$ implies that more messages are carried over and a larger fraction
|
$W$ implies that more messages are carried over and a larger fraction
|
||||||
of the next window starts in a warm state.
|
of the next window starts in a warm state.
|
||||||
% TODO: Possibly insert explanation for higher gain at lowre error rates
|
% TODO: Possibly insert explanation for higher gain at lowre error rates
|
||||||
A perhaps surprising observation is that the warm-start curve for
|
A perhaps surprising observation is that the warm-start for
|
||||||
$W = 5$ actually lies below the whole-block reference across the
|
$W = 5$ outperforms the whole-block reference across the
|
||||||
entire range of physical error rates, even though warm-start
|
entire range of physical error rates, even though warm-start
|
||||||
sliding-window decoding is, by construction, more local than
|
sliding-window decoding is, by construction, more local than
|
||||||
whole-block decoding.
|
whole-block decoding.
|
||||||
A possible explanation for this effect is discussed in the following.
|
|
||||||
|
|
||||||
% [Thread] Warm start is better than whole due to more effective iterations
|
% [Thread] Warm start is better than whole due to more effective iterations
|
||||||
|
|
||||||
A possible explanation for this surprising behavior lies in the
|
A possible explanation for this behavior lies in the
|
||||||
number of \ac{bp} iterations effectively spent on the \acp{vn}
|
number of \ac{bp} iterations effectively spent on the \acp{vn}
|
||||||
inside the overlap region.
|
inside the overlap region.
|
||||||
Each \ac{vn} in such an overlap is processed by multiple consecutive
|
Each \ac{vn} in such an overlap is processed by multiple consecutive
|
||||||
@@ -1705,7 +1707,7 @@ $n_\text{iter} \in [32, 512]$.
|
|||||||
|
|
||||||
All curves decrease monotonically with the iteration budget, but
|
All curves decrease monotonically with the iteration budget, but
|
||||||
contrary to our expectation, none of them appears to fully saturate
|
contrary to our expectation, none of them appears to fully saturate
|
||||||
within the swept range: even at $n_\text{iter} = 4096$, every curve
|
within the swept range: Even at $n_\text{iter} = 4096$, every curve
|
||||||
still exhibits a noticeable downward slope.
|
still exhibits a noticeable downward slope.
|
||||||
At $n_\text{iter} = 32$, the whole-block curve lies below both the
|
At $n_\text{iter} = 32$, the whole-block curve lies below both the
|
||||||
$W=4$ and $W=5$ sliding-window curves.
|
$W=4$ and $W=5$ sliding-window curves.
|
||||||
@@ -1727,9 +1729,9 @@ mirroring the behavior already observed in \Cref{fig:whole_vs_cold_vs_warm}.
|
|||||||
These observations are largely consistent with the effective-iterations
|
These observations are largely consistent with the effective-iterations
|
||||||
hypothesis put forward above.
|
hypothesis put forward above.
|
||||||
The whole-block decoder eventually overtaking every windowed scheme
|
The whole-block decoder eventually overtaking every windowed scheme
|
||||||
matches the prediction made there: with a sufficiently large
|
matches the prediction made there: With a sufficiently large
|
||||||
iteration budget, the whole-block decoder reaches an error rate
|
iteration budget, the whole-block decoder reaches an error rate
|
||||||
that nonone of the windowed schemes can beat, because of the more global
|
that none of the windowed schemes can beat, because of the more global
|
||||||
nature of the considered constraints.
|
nature of the considered constraints.
|
||||||
Furthermore, the pronounced advantage of warm- over cold-start decoding at low
|
Furthermore, the pronounced advantage of warm- over cold-start decoding at low
|
||||||
numbers of iterations makes sense if we consider the overall trend of the plots.
|
numbers of iterations makes sense if we consider the overall trend of the plots.
|
||||||
@@ -1742,15 +1744,15 @@ initialization diminishes, and the curves approach each other.
|
|||||||
The fact that no curve clearly saturates within the swept range is
|
The fact that no curve clearly saturates within the swept range is
|
||||||
itself worth noting.
|
itself worth noting.
|
||||||
We know that \ac{bp} on \ac{qldpc} codes suffers from poor
|
We know that \ac{bp} on \ac{qldpc} codes suffers from poor
|
||||||
convergence due to the short cycles in the underlying Tanner graph,
|
convergence due to degeneracy and short cycles in the underlying
|
||||||
so even after several thousand iterations the
|
Tanner graph, so even after several thousand iterations the decoder
|
||||||
decoder may continue to slowly refine its message estimates rather
|
may continue to slowly refine its message estimates rather than
|
||||||
than settle into a stable fixed point.
|
settle into a stable fixed point.
|
||||||
This is one of the core motivations for moving from plain \ac{bp} to
|
This is one of the core motivations for moving from plain \ac{bp} to
|
||||||
the guided-decimation variant studied in
|
the guided-decimation variant studied in
|
||||||
\Cref{subsec:Belief Propagation with Guided Decimation}.
|
\Cref{subsec:Belief Propagation with Guided Decimation}.
|
||||||
|
|
||||||
Another thing to note is that setting the per-invocation iteration
|
Furthermore, note that setting the per-invocation iteration
|
||||||
budget of the inner decoder equal to the iteration budget of the
|
budget of the inner decoder equal to the iteration budget of the
|
||||||
whole-block decoder is not a fair comparison in terms of total
|
whole-block decoder is not a fair comparison in terms of total
|
||||||
computational effort.
|
computational effort.
|
||||||
@@ -1762,14 +1764,14 @@ sliding-window approach is still at an advantage.
|
|||||||
|
|
||||||
% [Thread] Exploration of the effect of the step size
|
% [Thread] Exploration of the effect of the step size
|
||||||
|
|
||||||
Having examined the effect of the window size $W$, we next turned to
|
Having examined the effect of the window size $W$, we next turn to
|
||||||
the second windowing parameter, the step size $F$.
|
the second windowing parameter, the step size $F$.
|
||||||
We carried out an investigation analogous to the one above:
|
We carry out an investigation analogous to the one above:
|
||||||
we first compared warm- and cold-start decoding across the full range
|
We first compare warm- and cold-start decoding across the full range
|
||||||
of physical error rates at a fixed iteration budget, and then we
|
of physical error rates at a fixed iteration budget, and then we
|
||||||
examined the dependence on the iteration budget at a fixed physical
|
examine the dependence on the iteration budget at a fixed physical
|
||||||
error rate.
|
error rate.
|
||||||
The window size was held fixed at $W = 5$ throughout, the value at
|
The window size is fixed at $W = 5$ throughout, the value at
|
||||||
which the warm-start variant produced the strongest performance in the
|
which the warm-start variant produced the strongest performance in the
|
||||||
previous experiments.
|
previous experiments.
|
||||||
|
|
||||||
@@ -1968,9 +1970,9 @@ previous experiments.
|
|||||||
% [Experimental parameters] Figure 4.9
|
% [Experimental parameters] Figure 4.9
|
||||||
|
|
||||||
\Cref{fig:bp_f} summarizes the results of this investigation.
|
\Cref{fig:bp_f} summarizes the results of this investigation.
|
||||||
In both panels the dashed colored curves correspond to cold-start
|
In both panels, the dashed curves correspond to cold-start
|
||||||
sliding-window decoding for $F \in \{1, 2, 3\}$ and the solid colored
|
sliding-window decoding for $F \in \{1, 2, 3\}$ and the solid
|
||||||
curves to the corresponding warm-start runs.
|
curves to warm-start decoding.
|
||||||
The window size is fixed to $W = 5$ throughout.
|
The window size is fixed to $W = 5$ throughout.
|
||||||
\Cref{fig:bp_f_over_p} sweeps the physical error rate over
|
\Cref{fig:bp_f_over_p} sweeps the physical error rate over
|
||||||
$p \in [0.001, 0.004]$ in steps of $0.0005$ at a fixed maximum of
|
$p \in [0.001, 0.004]$ in steps of $0.0005$ at a fixed maximum of
|
||||||
@@ -1990,9 +1992,9 @@ monotonic increase of the per-round \ac{ler} with the physical
|
|||||||
error rate.
|
error rate.
|
||||||
At fixed $F$, the warm-start approach lies below
|
At fixed $F$, the warm-start approach lies below
|
||||||
cold-start across the entire sweep, and at fixed
|
cold-start across the entire sweep, and at fixed
|
||||||
warm- or cold-start, smaller $F$ produces a lower \ac{ler}.
|
warm or cold start, smaller $F$ produces a lower \ac{ler}.
|
||||||
Both gaps grow as the physical error rate decreases:
|
Both gaps grow as the physical error rate decreases:
|
||||||
the curves at $F = 1$ separate further from those at $F = 2$ and $F = 3$,
|
The curves at $F = 1$ separate further from those at $F = 2$ and $F = 3$,
|
||||||
and the warm-start curves separate further from the cold-start ones.
|
and the warm-start curves separate further from the cold-start ones.
|
||||||
In \Cref{fig:bp_f_over_iter}, all six curves again decrease
|
In \Cref{fig:bp_f_over_iter}, all six curves again decrease
|
||||||
monotonically with the iteration budget, with no clear saturation
|
monotonically with the iteration budget, with no clear saturation
|
||||||
@@ -2014,7 +2016,7 @@ With $W$ held fixed, decreasing $F$ enlarges the overlap between
|
|||||||
consecutive windows from $W - F$ to $W - F + 1$ syndrome measurement rounds, so
|
consecutive windows from $W - F$ to $W - F + 1$ syndrome measurement rounds, so
|
||||||
a smaller step size is beneficial for the same reason that a larger
|
a smaller step size is beneficial for the same reason that a larger
|
||||||
window size is:
|
window size is:
|
||||||
each \ac{vn} in an overlap region participates in more window
|
Each \ac{vn} in an overlap region participates in more window
|
||||||
invocations, and the warm-start modification effectively accumulates
|
invocations, and the warm-start modification effectively accumulates
|
||||||
iterations on it across these invocations.
|
iterations on it across these invocations.
|
||||||
The widening of the warm/cold gap towards low iteration counts and
|
The widening of the warm/cold gap towards low iteration counts and
|
||||||
@@ -2032,7 +2034,7 @@ Similarly, assuming the decoder is fast enough to keep up with the
|
|||||||
incoming syndrome measurements corresponding to the \acp{cn} of
|
incoming syndrome measurements corresponding to the \acp{cn} of
|
||||||
subsequent windows, the time at which decoding is complete depends only
|
subsequent windows, the time at which decoding is complete depends only
|
||||||
on the amount of time spent on decoding the very last window.
|
on the amount of time spent on decoding the very last window.
|
||||||
A smaller $F$ thus only costs additional total compute and not
|
Thus, smaller $F$ only costs additional total compute and not
|
||||||
additional latency, which is favorable for a warm-start
|
additional latency, which is favorable for a warm-start
|
||||||
sliding-window implementation.
|
sliding-window implementation.
|
||||||
This is especially favorable for our warm-start modification, as it
|
This is especially favorable for our warm-start modification, as it
|
||||||
@@ -2062,8 +2064,8 @@ both schemes process the same windows for the same number of
|
|||||||
iterations and differ only in the initialization of the \ac{bp}
|
iterations and differ only in the initialization of the \ac{bp}
|
||||||
messages of each new window.
|
messages of each new window.
|
||||||
We also observed that plain \ac{bp} did not saturate even at $4096$
|
We also observed that plain \ac{bp} did not saturate even at $4096$
|
||||||
iterations, which we attribute to the short cycles in the underlying
|
iterations, which we attribute to the degeneracy and short cycles in
|
||||||
Tanner graph.
|
the underlying Tanner graph.
|
||||||
This motivates the next subsection, in which we replace the inner
|
This motivates the next subsection, in which we replace the inner
|
||||||
\ac{bp} decoder by its guided-decimation variant.
|
\ac{bp} decoder by its guided-decimation variant.
|
||||||
|
|
||||||
@@ -2261,7 +2263,7 @@ that can occur before every \ac{vn} in the window has been decimated.
|
|||||||
A preliminary investigation showed that \ac{bpgd} only delivers its
|
A preliminary investigation showed that \ac{bpgd} only delivers its
|
||||||
intended performance gain once most \acp{vn} have actually been decimated,
|
intended performance gain once most \acp{vn} have actually been decimated,
|
||||||
which motivated this choice.
|
which motivated this choice.
|
||||||
The physical error rate was swept from $p = 0.001$ to $p = 0.004$
|
The physical error rate is swept from $p = 0.001$ to $p = 0.004$
|
||||||
in steps of $0.0005$.
|
in steps of $0.0005$.
|
||||||
\Cref{fig:bpgd_w} sweeps over the window size with
|
\Cref{fig:bpgd_w} sweeps over the window size with
|
||||||
$W \in \{3, 4, 5\}$ at fixed step size $F = 1$, and
|
$W \in \{3, 4, 5\}$ at fixed step size $F = 1$, and
|
||||||
@@ -2279,7 +2281,7 @@ This is the opposite of what we observed for plain \ac{bp}, where
|
|||||||
warm-start improved upon cold-start at every parameter setting.
|
warm-start improved upon cold-start at every parameter setting.
|
||||||
The gap between the warm- and cold-start curves additionally widens
|
The gap between the warm- and cold-start curves additionally widens
|
||||||
as the physical error rate decreases:
|
as the physical error rate decreases:
|
||||||
at the lowest sampled rate $p = 0.001$, the per-round \ac{ler} of the
|
At the lowest sampled rate $p = 0.001$, the per-round \ac{ler} of the
|
||||||
warm-start runs is more than two orders of magnitude above that of
|
warm-start runs is more than two orders of magnitude above that of
|
||||||
the corresponding cold-start runs.
|
the corresponding cold-start runs.
|
||||||
In \Cref{fig:bpgd_w}, larger window sizes yield lower per-round
|
In \Cref{fig:bpgd_w}, larger window sizes yield lower per-round
|
||||||
@@ -2298,13 +2300,13 @@ than its cold-start counterpart is surprising in light of the results
|
|||||||
for plain \ac{bp}, where the warm-start modification was uniformly beneficial.
|
for plain \ac{bp}, where the warm-start modification was uniformly beneficial.
|
||||||
The dependence on the window size in \Cref{fig:bpgd_w} is, on its own,
|
The dependence on the window size in \Cref{fig:bpgd_w} is, on its own,
|
||||||
consistent with the same explanation that we gave for
|
consistent with the same explanation that we gave for
|
||||||
\Cref{fig:whole_vs_cold}: larger windows expose the inner decoder to
|
\Cref{fig:whole_vs_cold}: Larger windows expose the inner decoder to
|
||||||
a larger fraction of the constraints encoded in the detector error
|
a larger fraction of the constraints encoded in the detector error
|
||||||
matrix at the time of decoding, and this benefits both warm- and
|
matrix at the time of decoding, and this benefits both warm- and
|
||||||
cold-start decoding.
|
cold-start decoding.
|
||||||
The dependence on the step size in \Cref{fig:bpgd_f}, however, is the
|
The dependence on the step size in \Cref{fig:bpgd_f}, however, is the
|
||||||
opposite of the corresponding dependence under plain \ac{bp}
|
opposite of the corresponding dependence under plain \ac{bp}
|
||||||
(\Cref{fig:bp_f_over_p}): for warm-start, smaller $F$ now hurts
|
(\Cref{fig:bp_f_over_p}): For warm-start, smaller $F$ now degrades performance
|
||||||
rather than helps, even though smaller $F$ implies a larger overlap
|
rather than helps, even though smaller $F$ implies a larger overlap
|
||||||
in both cases.
|
in both cases.
|
||||||
|
|
||||||
@@ -2314,18 +2316,18 @@ Recall from
|
|||||||
that the warm start for \ac{bpgd} carries over not only the \ac{bp}
|
that the warm start for \ac{bpgd} carries over not only the \ac{bp}
|
||||||
messages on the edges of the overlap region but also the decimation
|
messages on the edges of the overlap region but also the decimation
|
||||||
information.
|
information.
|
||||||
Because we run with an iteration budget large enough to decimate
|
Because we decode with an iteration budget large enough to decimate
|
||||||
every \ac{vn} in a window, by the time window $\ell$ ends, all
|
every \ac{vn} in a window, by the time window $\ell$ ends, all
|
||||||
of its \acp{vn} have already been hard-decided.
|
of its \acp{vn} have already been hard-decided.
|
||||||
For the \acp{vn} that lie in the overlap region with window $\ell + 1$
|
For the \acp{vn} that lie in the overlap region with window $\ell + 1$
|
||||||
this hard decision is then carried into the next window through the
|
this hard decision is then carried into the next window through the
|
||||||
warm-start initialization, and the next window thus begins decoding
|
warm-start initialization, and the next window begins decoding
|
||||||
with a substantial fraction of its \acp{vn} already frozen, before
|
with a substantial fraction of its \acp{vn} already fixed, before
|
||||||
its own parity checks have had any chance to influence the
|
its own parity checks have had any chance to influence the
|
||||||
corresponding bit estimates.
|
corresponding bit estimates.
|
||||||
This identifies one of two competing effects on the warm-start performance.
|
This identifies one of two competing effects on the warm-start performance.
|
||||||
The larger the overlap, the more such prematurely frozen \acp{vn} the
|
The larger the overlap, the more such prematurely fixed \acp{vn} the
|
||||||
next window inherits, which hurts performance.
|
next window inherits, which degrades performance.
|
||||||
On the other hand, a larger window still exposes the inner decoder to
|
On the other hand, a larger window still exposes the inner decoder to
|
||||||
a larger set of constraints, which helps performance.
|
a larger set of constraints, which helps performance.
|
||||||
The two effects together are consistent with what we observe in
|
The two effects together are consistent with what we observe in
|
||||||
@@ -2346,7 +2348,7 @@ $n_\text{iter}$ should reduce the maximum number of \acp{vn} that can
|
|||||||
be decimated before window $\ell$ commits, and the warm-start
|
be decimated before window $\ell$ commits, and the warm-start
|
||||||
performance should approach that of warm-start under plain \ac{bp} as
|
performance should approach that of warm-start under plain \ac{bp} as
|
||||||
$n_\text{iter}$ is lowered.
|
$n_\text{iter}$ is lowered.
|
||||||
We therefore now vary $n_\text{iter}$ at fixed window parameters and
|
Therefore, we vary $n_\text{iter}$ at fixed window parameters and
|
||||||
fixed physical error rate.
|
fixed physical error rate.
|
||||||
|
|
||||||
\begin{figure}[t]
|
\begin{figure}[t]
|
||||||
@@ -2515,10 +2517,10 @@ fixed physical error rate.
|
|||||||
\Cref{fig:bpgd_iter} shows the per-round \ac{ler} of \ac{bpgd}
|
\Cref{fig:bpgd_iter} shows the per-round \ac{ler} of \ac{bpgd}
|
||||||
sliding-window decoding as a function of the maximum number of inner
|
sliding-window decoding as a function of the maximum number of inner
|
||||||
\ac{bp} iterations $n_\text{iter}$.
|
\ac{bp} iterations $n_\text{iter}$.
|
||||||
The dashed colored curves correspond to cold-start sliding-window
|
The dashed curves correspond to cold-start sliding-window
|
||||||
decoding and the solid colored curves to warm-start, again carrying
|
decoding and the solid curves to warm-start, which again
|
||||||
over both the \ac{bp} messages and the channel \acp{llr} on the
|
retains both the \ac{bp} messages and the decimaiton information on
|
||||||
overlap region.
|
the overlap region.
|
||||||
The physical error rate is fixed at $p = 0.0025$ and the iteration
|
The physical error rate is fixed at $p = 0.0025$ and the iteration
|
||||||
budget is swept over $n_\text{iter} \in \{32, 128, 256, 512, 1024,
|
budget is swept over $n_\text{iter} \in \{32, 128, 256, 512, 1024,
|
||||||
1536, 2048, 2560, 3072, 3584, 4096\}$.
|
1536, 2048, 2560, 3072, 3584, 4096\}$.
|
||||||
@@ -2533,7 +2535,7 @@ For low iteration budgets, all curves in both panels behave similarly
|
|||||||
to the plain-\ac{bp} curves in
|
to the plain-\ac{bp} curves in
|
||||||
\Cref{fig:bp_w_over_iter,fig:bp_f_over_iter}.
|
\Cref{fig:bp_w_over_iter,fig:bp_f_over_iter}.
|
||||||
The per-round \ac{ler} decreases gradually with $n_\text{iter}$, and
|
The per-round \ac{ler} decreases gradually with $n_\text{iter}$, and
|
||||||
the warm-start curves lie below their cold-start counterparts at
|
the warm-start configurations now outperform their cold-start counterparts at
|
||||||
matching window parameters.
|
matching window parameters.
|
||||||
As $n_\text{iter}$ continues to grow, however, the cold-start curves
|
As $n_\text{iter}$ continues to grow, however, the cold-start curves
|
||||||
undergo a sharp drop, after which they lie roughly an order of
|
undergo a sharp drop, after which they lie roughly an order of
|
||||||
@@ -2562,7 +2564,7 @@ the warm-start curves now show a clear reordering as $n_\text{iter}$
|
|||||||
grows.
|
grows.
|
||||||
At low iteration budgets the warm-start ordering matches the
|
At low iteration budgets the warm-start ordering matches the
|
||||||
cold-start ordering, with $F = 1$ best and $F = 3$ worst, but at the
|
cold-start ordering, with $F = 1$ best and $F = 3$ worst, but at the
|
||||||
largest iteration budget this ordering is fully inverted: warm-start
|
largest iteration budget this ordering is fully inverted: Warm-start
|
||||||
$F = 1$ is now the worst and $F = 3$ the best.
|
$F = 1$ is now the worst and $F = 3$ the best.
|
||||||
|
|
||||||
% [Interpretation] Figure 4.11
|
% [Interpretation] Figure 4.11
|
||||||
@@ -2594,7 +2596,7 @@ decoding performance.
|
|||||||
The same mechanism explains the inversion of the step-size ordering
|
The same mechanism explains the inversion of the step-size ordering
|
||||||
in \Cref{fig:bpgd_iter_F}.
|
in \Cref{fig:bpgd_iter_F}.
|
||||||
At low iteration budgets, the ordering is set by the same overlap
|
At low iteration budgets, the ordering is set by the same overlap
|
||||||
argument as for plain \ac{bp}: smaller $F$ implies a larger overlap
|
argument as for plain \ac{bp}: Smaller $F$ implies a larger overlap
|
||||||
between consecutive windows, more shared messages, and therefore
|
between consecutive windows, more shared messages, and therefore
|
||||||
better warm-start performance.
|
better warm-start performance.
|
||||||
At large iteration budgets, the ordering is set by the premature hard
|
At large iteration budgets, the ordering is set by the premature hard
|
||||||
@@ -2607,8 +2609,8 @@ of the warm-start curves and limit ourselves to noting it.
|
|||||||
The natural consequence of the previous diagnosis is to drop the
|
The natural consequence of the previous diagnosis is to drop the
|
||||||
problematic part of the warm-start initialization for \ac{bpgd} and
|
problematic part of the warm-start initialization for \ac{bpgd} and
|
||||||
to carry over only the \ac{bp} messages on the edges of the overlap
|
to carry over only the \ac{bp} messages on the edges of the overlap
|
||||||
region, as in \Cref{fig:messages_tanner}, while leaving the channel
|
region, as in \Cref{fig:messages_tanner}, while leaving the
|
||||||
\acp{llr} of the next window in their original cold-start state.
|
decimation information of the next window in its original cold-start state.
|
||||||
Note that some information about the previous window's decimation
|
Note that some information about the previous window's decimation
|
||||||
state is still implicitly carried over through the \ac{bp} messages,
|
state is still implicitly carried over through the \ac{bp} messages,
|
||||||
since the decimation decisions were made based on the messages themselves.
|
since the decimation decisions were made based on the messages themselves.
|
||||||
@@ -2775,7 +2777,7 @@ since the decimation decisions were made based on the messages themselves.
|
|||||||
\Cref{fig:bpgd_msg} repeats the experiment of \Cref{fig:bpgd_wf}
|
\Cref{fig:bpgd_msg} repeats the experiment of \Cref{fig:bpgd_wf}
|
||||||
with the modified warm-start procedure that carries over only the
|
with the modified warm-start procedure that carries over only the
|
||||||
\ac{bp} messages.
|
\ac{bp} messages.
|
||||||
All other experimental parameters are unchanged: the maximum number
|
All other experimental parameters are unchanged: The maximum number
|
||||||
of inner \ac{bp} iterations is $n_\text{iter} = 5000$, and the
|
of inner \ac{bp} iterations is $n_\text{iter} = 5000$, and the
|
||||||
physical error rate is swept from $p = 0.001$ to $p = 0.004$ in steps
|
physical error rate is swept from $p = 0.001$ to $p = 0.004$ in steps
|
||||||
of $0.0005$.
|
of $0.0005$.
|
||||||
@@ -2803,12 +2805,12 @@ as $F$ grows.
|
|||||||
|
|
||||||
% [Description] Interpretation 4.12
|
% [Description] Interpretation 4.12
|
||||||
|
|
||||||
Removing the channel \acp{llr} from the warm-start initialization lifts
|
Removing the decimation information from the warm-start initialization lifts
|
||||||
the warm-start regression observed in \Cref{fig:bpgd_wf},
|
the warm-start regression observed in \Cref{fig:bpgd_wf},
|
||||||
and warm-start now consistently outperforms cold-start.
|
and warm-start now consistently outperforms cold-start.
|
||||||
The dependence on the window size and the step size also recovers
|
The dependence on the window size and the step size also recovers
|
||||||
the qualitative behavior we observed for plain \ac{bp} in
|
the qualitative behavior we observed for plain \ac{bp} in
|
||||||
\Cref{fig:whole_vs_cold_vs_warm,fig:bp_f_over_p}: a larger overlap
|
\Cref{fig:whole_vs_cold_vs_warm,fig:bp_f_over_p}: A larger overlap
|
||||||
between consecutive windows, achieved either by enlarging $W$ or by
|
between consecutive windows, achieved either by enlarging $W$ or by
|
||||||
decreasing $F$, both improves the absolute decoding performance and
|
decreasing $F$, both improves the absolute decoding performance and
|
||||||
increases the warm-start advantage over cold-start.
|
increases the warm-start advantage over cold-start.
|
||||||
@@ -2992,7 +2994,7 @@ cold-start curves across the entire range of $n_\text{iter}$ available to us.
|
|||||||
\Cref{fig:bpgd_msg_iter} repeats the experiment of
|
\Cref{fig:bpgd_msg_iter} repeats the experiment of
|
||||||
\Cref{fig:bpgd_iter} with the modified warm-start procedure that
|
\Cref{fig:bpgd_iter} with the modified warm-start procedure that
|
||||||
carries over only the \ac{bp} messages.
|
carries over only the \ac{bp} messages.
|
||||||
All other experimental parameters are unchanged: the physical error
|
All other experimental parameters are unchanged: The physical error
|
||||||
rate is fixed at $p = 0.0025$ and the iteration budget is swept over
|
rate is fixed at $p = 0.0025$ and the iteration budget is swept over
|
||||||
$n_\text{iter} \in \{32, 128, 256, 512, 1024, 1536, 2048, 2560,
|
$n_\text{iter} \in \{32, 128, 256, 512, 1024, 1536, 2048, 2560,
|
||||||
3072, 3584, 4096\}$.
|
3072, 3584, 4096\}$.
|
||||||
@@ -3020,11 +3022,11 @@ and at $F = 1$, respectively.
|
|||||||
|
|
||||||
These observations match our expectations.
|
These observations match our expectations.
|
||||||
With only the \ac{bp} messages carried over, the warm-start
|
With only the \ac{bp} messages carried over, the warm-start
|
||||||
initialization no longer freezes any \acp{vn} in the next window
|
initialization no longer freezes any \acp{vn} in the next window.
|
||||||
The dependence of this benefit on $W$ and $F$ also recovers the
|
The dependence of this benefit on $W$ and $F$ also recovers the
|
||||||
pattern observed for plain \ac{bp} in
|
pattern observed for plain \ac{bp} in
|
||||||
\Cref{fig:whole_vs_cold_vs_warm,fig:bp_f_over_p}:
|
\Cref{fig:whole_vs_cold_vs_warm,fig:bp_f_over_p}:
|
||||||
larger overlap, achieved by larger $W$ or smaller $F$, yields more
|
Larger overlap, achieved by larger $W$ or smaller $F$, yields more
|
||||||
effective extra iterations and therefore a larger warm-start gain.
|
effective extra iterations and therefore a larger warm-start gain.
|
||||||
|
|
||||||
% BPGD conclusion
|
% BPGD conclusion
|
||||||
@@ -3034,9 +3036,9 @@ sliding-window decoding under \ac{bpgd} by summarizing our findings.
|
|||||||
Warm-starting the inner decoder still provides a consistent
|
Warm-starting the inner decoder still provides a consistent
|
||||||
performance gain when the inner decoder is upgraded from plain
|
performance gain when the inner decoder is upgraded from plain
|
||||||
\ac{bp} to its guided-decimation variant, but only if some care is
|
\ac{bp} to its guided-decimation variant, but only if some care is
|
||||||
taken in choosing what to carry over.
|
taken in choosing what to information carry over.
|
||||||
Passing the channel \acp{llr} along with the \ac{bp} messages,
|
Passing the channel \acp{llr} along with the \ac{bp} messages,
|
||||||
as suggested by naively carrying over the warm-start idea to \ac{bpgd},
|
as suggested by naively transferring the warm-start idea to \ac{bpgd},
|
||||||
leads to premature hard decisions on \acp{vn} in the overlap region.
|
leads to premature hard decisions on \acp{vn} in the overlap region.
|
||||||
This leads to warm-start initialization actually worsening the
|
This leads to warm-start initialization actually worsening the
|
||||||
performance compared to cold-start initialization.
|
performance compared to cold-start initialization.
|
||||||
@@ -3046,6 +3048,20 @@ cold-start that follows the same behavior as for plain \ac{bp} with
|
|||||||
regard to overlap.
|
regard to overlap.
|
||||||
A second observation specific to \ac{bpgd} is that its iteration
|
A second observation specific to \ac{bpgd} is that its iteration
|
||||||
requirements are substantially larger than those of plain \ac{bp}:
|
requirements are substantially larger than those of plain \ac{bp}:
|
||||||
the per-round \ac{ler} drops sharply only once the iteration budget
|
The per-round \ac{ler} drops sharply only once the iteration budget
|
||||||
is on the order of the number of \acp{vn} in each window.
|
is on the order of the number of \acp{vn} in each window.
|
||||||
|
|
||||||
|
Future work could include a softer treatment of the decimation state
|
||||||
|
in \ac{bpgd}.
|
||||||
|
Rather than discarding the decimation information of the previous
|
||||||
|
window entirely, as in the message-only warm start used here, one
|
||||||
|
could encode the decimation decisions as strong but finite biases on
|
||||||
|
the channel \acp{llr} of the next window, allowing the new window's parity
|
||||||
|
checks to override them if the syndrome calls for it.
|
||||||
|
This would interpolate between the two warm-start variants studied here and
|
||||||
|
might combine the benefits of both.
|
||||||
|
A related question is whether the decimation schedule itself should
|
||||||
|
be aware of the window structure, for instance by deferring
|
||||||
|
decimation of \acp{vn} in the overlap region until they have been
|
||||||
|
visited by the next window.
|
||||||
|
|
||||||
|
|||||||
@@ -3,24 +3,24 @@
|
|||||||
|
|
||||||
% Recap of motivation
|
% Recap of motivation
|
||||||
|
|
||||||
This thesis investigated decoding under \acp{dem} for fault-tolerant
|
This thesis investigates decoding under \acp{dem} for fault-tolerant
|
||||||
\ac{qec}, with a focus on low-latency decoding methods for \ac{qldpc} codes.
|
\ac{qec}, with a focus on low-latency decoding methods for \ac{qldpc} codes.
|
||||||
The repetition of the syndrome measurements, especially under
|
The repetition of the syndrome measurements, especially under
|
||||||
consideration of circuit-level noise, leads to a significant increase
|
consideration of circuit-level noise, leads to a significant increase
|
||||||
in decoding complexity: in our experiments on the $\llbracket
|
in decoding complexity: In our experiments on the $\llbracket
|
||||||
144,12,12 \rrbracket$ \ac{bb} code with $12$ syndrome extraction
|
144,12,12 \rrbracket$ \ac{bb} code with $12$ syndrome extraction
|
||||||
rounds, the check matrix grew from 144 \acp{vn} and 72
|
rounds, the check matrix grows from 144 \acp{vn} and 72
|
||||||
\acp{cn} to 9504 \acp{vn} and 1008 \acp{cn}.
|
\acp{cn} to 9504 \acp{vn} and 1008 \acp{cn}.
|
||||||
|
|
||||||
% Recap of research gap and own work
|
% Recap of research gap and own work
|
||||||
|
|
||||||
Sliding-window decoding addresses the latency constraint by
|
Sliding-window decoding addresses the latency constraint by
|
||||||
exploiting the time-like locality of the syndrome extraction circuit,
|
exploiting the time-like locality of the syndrome extraction circuit.
|
||||||
which manifests as a block-diagonal structure in the detector error
|
This manifests as a block-diagonal structure in the detector error
|
||||||
matrix when detectors are defined as the difference of consecutive
|
matrix when detectors are defined as the difference of consecutive
|
||||||
syndrome measurement rounds.
|
syndrome measurement rounds.
|
||||||
We drew a comparison to windowed decoding for \ac{sc}-\ac{ldpc}
|
We draw a comparison to windowed decoding for \ac{sc}-\ac{ldpc}
|
||||||
codes, but noted that the existing realizations of sliding-window
|
codes, but note that the existing realizations of sliding-window
|
||||||
decoding discard the soft information produced inside one window
|
decoding discard the soft information produced inside one window
|
||||||
before moving to the next.
|
before moving to the next.
|
||||||
Building on this observation, we proposed warm-start sliding-window
|
Building on this observation, we proposed warm-start sliding-window
|
||||||
@@ -29,34 +29,35 @@ the overlap region of the previous window are reused to initialise
|
|||||||
the corresponding messages of the next window in place of the
|
the corresponding messages of the next window in place of the
|
||||||
standard cold-start initialisation.
|
standard cold-start initialisation.
|
||||||
|
|
||||||
We formulated the warm start first for plain \ac{bp} and then for
|
We formulate the warm start for standard \ac{bp} and for
|
||||||
\ac{bpgd}, the latter being attractive as an inner decoder because it
|
\ac{bpgd}.
|
||||||
|
The latter is particularly attractive as an inner decoder because it
|
||||||
addresses the convergence problems caused by short cycles and
|
addresses the convergence problems caused by short cycles and
|
||||||
degeneracy in \ac{qldpc} Tanner graphs.
|
degeneracy in \ac{qldpc} Tanner graphs.
|
||||||
The decoders were evaluated by Monte Carlo simulation on the
|
The decoders are evaluated by conducting Monte Carlo simulations on the
|
||||||
$\llbracket 144,12,12 \rrbracket$ \ac{bb} code over $12$ syndrome
|
$\llbracket 144,12,12 \rrbracket$ \ac{bb} code over $12$ syndrome
|
||||||
extraction rounds under standard circuit-based depolarizing noise.
|
extraction rounds under standard circuit-based depolarizing noise.
|
||||||
We focused on a qualitative analysis, refraining from further
|
We focus on a qualitative analysis, refraining from further
|
||||||
optimizations such as introducing a normalization parameter for the
|
optimizations such as introducing a normalization parameter for the
|
||||||
min-sum algorithm.
|
min-sum algorithm.
|
||||||
|
|
||||||
% Recap of experimental conclusions
|
% Recap of experimental conclusions
|
||||||
|
|
||||||
For plain min-sum \ac{bp}, the warm start was consistently beneficial
|
For standard min-sum \ac{bp}, the warm start is consistently
|
||||||
across the parameter ranges we examined. The size of the gain depended
|
beneficial to the cold start, across the considered parameter ranges.
|
||||||
on the overlap between consecutive windows: enlarging $W$ or
|
The size of the gain depends on the overlap between consecutive
|
||||||
shrinking $F$, both of which enlarge the overlap, raised the
|
windows: Enlarging $W$ or shrinking $F$, both of which enlarge the
|
||||||
warm-start performance increase.
|
overlap, result in larger gains of the warm-start.
|
||||||
We argued that the underlying mechanism is an effective increase in
|
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
|
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
|
region: Each such \ac{vn} is processed by multiple consecutive window
|
||||||
invocations, and the warm start lets these invocations accumulate
|
invocations, and the warm start lets these invocations accumulate
|
||||||
iterations on the same \acp{vn} rather than restarting from scratch.
|
iterations on the same \acp{vn} rather than restarting from scratch.
|
||||||
The gain was most pronounced at low numbers of maximum iterations, where
|
The gain was most pronounced at low numbers of maximum iterations, where
|
||||||
every additional iteration carries proportionally more information.
|
every additional iteration carries proportionally more information.
|
||||||
|
|
||||||
For \ac{bpgd}, we noted that more information is available in the
|
For \ac{bpgd}, we note that more information is available in the
|
||||||
overlap region of a window: in addition to the \ac{bp} messages,
|
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.
|
there is information about which \acp{vn} were decimated and to what value.
|
||||||
Passing this decimation information to the next window in addition to
|
Passing this decimation information to the next window in addition to
|
||||||
the messages turned out to worsen the performance considerably, which
|
the messages turned out to worsen the performance considerably, which
|
||||||
@@ -65,14 +66,14 @@ overlap region.
|
|||||||
Restricting the warm start to the \ac{bp} messages alone, removed this effect.
|
Restricting the warm start to the \ac{bp} messages alone, removed this effect.
|
||||||
The resulting message-only warm start recovered a consistent
|
The resulting message-only warm start recovered a consistent
|
||||||
improvement over cold-start that followed the same qualitative
|
improvement over cold-start that followed the same qualitative
|
||||||
behaviour as for plain \ac{bp}: larger overlap, achieved by larger
|
behaviour as for standard \ac{bp}: Larger overlap, achieved by larger
|
||||||
$W$ or smaller $F$, yielded a larger gain, and the
|
$W$ or smaller $F$, yielded a larger gain, and the
|
||||||
performance difference was most pronounced at low numbers of maximum iterations.
|
performance difference is most pronounced at low numbers of maximum iterations.
|
||||||
|
|
||||||
% Implications from experimental results
|
% Implications from experimental results
|
||||||
|
|
||||||
These observations imply that the warm-start modification to
|
These observations imply that the warm-start modification to
|
||||||
sliding-window decoding provides a consistent improvement, as long as
|
sliding-window decoding can provide a consistent improvement, as long as
|
||||||
some care is taken with specifying the information to be passed to
|
some care is taken with specifying the information to be passed to
|
||||||
the subsequent window.
|
the subsequent window.
|
||||||
Note that this comes at no additional cost to the decoding complexity,
|
Note that this comes at no additional cost to the decoding complexity,
|
||||||
@@ -94,25 +95,10 @@ underlying mechanism is structural rather than code-specific, but
|
|||||||
quantifying the gain across code families and noise models is left to
|
quantifying the gain across code families and noise models is left to
|
||||||
future work.
|
future work.
|
||||||
|
|
||||||
A second direction is a systematic study of inner decoders under the
|
A second direction is a systematic study of other inner decoders under the
|
||||||
warm-start framework.
|
warm-start framework, such as automorphism ensemble decoding
|
||||||
We considered plain min-sum \ac{bp} and \ac{bpgd}, but other
|
\cite{koutsioumpas_automorphism_2025} or neural \ac{bp}
|
||||||
algorithms used for \ac{qldpc} decoding, such as automorphism
|
\cite{miao_quaternary_2025}.
|
||||||
ensemble decoding \cite{koutsioumpas_automorphism_2025} or neural
|
|
||||||
\ac{bp} \cite{miao_quaternary_2025} may admit warm-start variants of their own.
|
|
||||||
|
|
||||||
A third direction is a softer treatment of the decimation state in \ac{bpgd}.
|
|
||||||
Rather than discarding the decimation information of the previous
|
|
||||||
window entirely, as in the message-only warm start used here, one
|
|
||||||
could encode the decimation decisions as strong but finite biases on
|
|
||||||
the channel \acp{llr} of the next window, allowing the new window's parity
|
|
||||||
checks to override them if the syndrome calls for it.
|
|
||||||
This would interpolate between the two warm-start variants studied here and
|
|
||||||
might combine the benefits of both.
|
|
||||||
A related question is whether the decimation schedule itself should
|
|
||||||
be aware of the window structure, for instance by deferring
|
|
||||||
decimation of \acp{vn} in the overlap region until they have been
|
|
||||||
visited by the next window.
|
|
||||||
|
|
||||||
A final direction is suggested by the structural similarity between
|
A final direction is suggested by the structural similarity between
|
||||||
sliding-window decoding for \acp{dem} and windowed decoding for
|
sliding-window decoding for \acp{dem} and windowed decoding for
|
||||||
|
|||||||
@@ -4,6 +4,8 @@
|
|||||||
|
|
||||||
\Ac{qec} protects fragile quantum states against decoherence by
|
\Ac{qec} protects fragile quantum states against decoherence by
|
||||||
encoding logical information into a larger number of physical qubits.
|
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
|
Because the syndrome extraction circuitry is itself implemented on
|
||||||
noisy quantum hardware, practical \ac{qec} must be fault-tolerant,
|
noisy quantum hardware, practical \ac{qec} must be fault-tolerant,
|
||||||
accounting for errors introduced by the correction procedure itself.
|
accounting for errors introduced by the correction procedure itself.
|
||||||
@@ -19,35 +21,35 @@ can be decoded.
|
|||||||
Together, these factors pose a serious challenge for practical decoders.
|
Together, these factors pose a serious challenge for practical decoders.
|
||||||
Sliding-window decoding addresses this challenge by exploiting the
|
Sliding-window decoding addresses this challenge by exploiting the
|
||||||
repeated structure of the syndrome extraction circuitry, partitioning
|
repeated structure of the syndrome extraction circuitry, partitioning
|
||||||
the \ac{dem}'s check matrix into overlapping windows that can be
|
the check matrix of the \ac{dem} into overlapping windows that can be
|
||||||
decoded sequentially.
|
decoded sequentially.
|
||||||
This allows for an earlier start to the decoding process, before all
|
Therefore, decoding can begin as soon as the syndrome components
|
||||||
syndrome measurements have been completed, thereby lowering the latency.
|
associated with the first window have been measured.
|
||||||
|
|
||||||
% Our work: Identify research gap
|
% Our work: Identify research gap
|
||||||
|
|
||||||
In this thesis, we perform a review of the existing literature on
|
In this thesis, we perform a review of the existing literature on
|
||||||
sliding-window decoding and draw an analogy to windowed
|
sliding-window decoding and draw an analogy to windowed
|
||||||
decoding for classical spatially-coupled low-density parity-check
|
decoding of classical spatially-coupled low-density parity-check
|
||||||
(\acs{sc}-\acs{ldpc}) codes.
|
(\acs{sc}-\acs{ldpc}) codes.
|
||||||
We recognize that in contrast to the latter, existing realizations
|
We recognize that in contrast to the latter, existing realizations
|
||||||
of sliding-window decoding for \ac{qec} discard the soft information
|
of sliding-window decoding for \ac{qec} discard the soft information
|
||||||
produced inside one window before moving to the next.
|
produced inside one window before moving to the subsequent window.
|
||||||
|
|
||||||
% Our work: Warm-start
|
% Our work: Warm-start
|
||||||
|
|
||||||
% TODO: Quantify improvement. Also for conclusion
|
% TODO: Quantify improvement. Also for conclusion
|
||||||
We propose warm-start sliding-window decoding, in which the
|
To take this information into account, we propose warm-start
|
||||||
\ac{bp} messages on the edges crossing into the overlap region of the previous
|
sliding-window decoding, in which the \ac{bp} messages on the edges
|
||||||
window are reused to initialize the corresponding messages of the
|
crossing into the overlap region of the previous window are reused to
|
||||||
next window.
|
initialize the corresponding messages of the next window.
|
||||||
The warm start is formulated first for plain \ac{bp} and then extended to
|
The warm start is formulated first for standard \ac{bp} and then extended to
|
||||||
\ac{bp} with guided decimation (\acs{bpgd}).
|
\ac{bp} with guided decimation (\acs{bpgd}).
|
||||||
For both plain min-sum \ac{bp} and \ac{bpgd} decoding, the warm-start
|
For both standard \ac{bp} and \ac{bpgd} decoding, the warm-start
|
||||||
initialization provides a consistent improvement across all examined
|
initialization provides a consistent improvement across all examined
|
||||||
parameter settings.
|
parameter settings.
|
||||||
We attribute this to an effective increase in \ac{bp} iterations on
|
We attribute this to an effective increase in \ac{bp} iterations on
|
||||||
variable nodes in the overlap regions: each such VN is processed by
|
variable nodes in the overlap regions: Each such VN is processed by
|
||||||
multiple consecutive windows, and warm-starting lets these
|
multiple consecutive windows, and warm-starting lets these
|
||||||
invocations accumulate iterations rather than restart from scratch.
|
invocations accumulate iterations rather than restart from scratch.
|
||||||
Crucially, the warm-start modification incurs no additional
|
Crucially, the warm-start modification incurs no additional
|
||||||
|
|||||||
@@ -19,6 +19,8 @@ with open(path) as f:
|
|||||||
doi_re = re.compile(r"doi\s*=\s*\{10\.48550/arXiv\.([^}]+)\}")
|
doi_re = re.compile(r"doi\s*=\s*\{10\.48550/arXiv\.([^}]+)\}")
|
||||||
type_re = re.compile(r"^@([A-Za-z]+)\{", re.MULTILINE)
|
type_re = re.compile(r"^@([A-Za-z]+)\{", re.MULTILINE)
|
||||||
howpublished_re = re.compile(r"^\s*howpublished\s*=\s*\{", 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
|
# 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
|
# brace depth so that the closing "}" of the entry is matched correctly even
|
||||||
@@ -47,7 +49,7 @@ def split_entries(s):
|
|||||||
i = j
|
i = j
|
||||||
return out
|
return out
|
||||||
|
|
||||||
def transform(entry):
|
def normalize_arxiv(entry):
|
||||||
doi_m = doi_re.search(entry)
|
doi_m = doi_re.search(entry)
|
||||||
if not doi_m:
|
if not doi_m:
|
||||||
return entry
|
return entry
|
||||||
@@ -64,6 +66,43 @@ def transform(entry):
|
|||||||
)
|
)
|
||||||
return entry
|
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)
|
parts = split_entries(text)
|
||||||
new_text = "".join(transform(p) if kind == "entry" else p for kind, p in parts)
|
new_text = "".join(transform(p) if kind == "entry" else p for kind, p in parts)
|
||||||
|
|
||||||
|
|||||||
@@ -29,6 +29,7 @@
|
|||||||
\usepackage{colortbl}
|
\usepackage{colortbl}
|
||||||
\usepackage{cleveref}
|
\usepackage{cleveref}
|
||||||
\usepackage{lipsum}
|
\usepackage{lipsum}
|
||||||
|
\usepackage{booktabs}
|
||||||
|
|
||||||
\usetikzlibrary{calc, positioning, arrows, fit}
|
\usetikzlibrary{calc, positioning, arrows, fit}
|
||||||
\usetikzlibrary{external}
|
\usetikzlibrary{external}
|
||||||
@@ -42,7 +43,7 @@
|
|||||||
|
|
||||||
\Crefname{equation}{}{}
|
\Crefname{equation}{}{}
|
||||||
\Crefname{section}{Section}{Sections}
|
\Crefname{section}{Section}{Sections}
|
||||||
\Crefname{subsection}{Subsection}{Subsections}
|
\Crefname{subsection}{Section}{Sections}
|
||||||
\Crefname{figure}{Figure}{Figures}
|
\Crefname{figure}{Figure}{Figures}
|
||||||
|
|
||||||
%
|
%
|
||||||
@@ -89,10 +90,10 @@
|
|||||||
% \thesisHeadOfInstitute{Prof. Dr.-Ing. Peter Rost}
|
% \thesisHeadOfInstitute{Prof. Dr.-Ing. Peter Rost}
|
||||||
%\thesisHeadOfInstitute{Prof. Dr.-Ing. Peter Rost\\Prof. Dr.-Ing.
|
%\thesisHeadOfInstitute{Prof. Dr.-Ing. Peter Rost\\Prof. Dr.-Ing.
|
||||||
% Laurent Schmalen}
|
% Laurent Schmalen}
|
||||||
\thesisSupervisor{Jonathan Mandelbaum}
|
\thesisSupervisor{Dr.-Ing. Hedongliang Liu\\ && M.Sc. Jonathan Mandelbaum}
|
||||||
\thesisStartDate{01.11.2025}
|
\thesisStartDate{Nov. 1st, 2025}
|
||||||
\thesisEndDate{04.05.2026}
|
\thesisEndDate{May 4th, 2026}
|
||||||
\thesisSignatureDate{04.05.2026}
|
\thesisSignatureDate{May 4th, 2026}
|
||||||
\thesisSignature{res/Unterschrift_AT_blue.png}
|
\thesisSignature{res/Unterschrift_AT_blue.png}
|
||||||
\thesisSignatureHeight{2.4cm}
|
\thesisSignatureHeight{2.4cm}
|
||||||
\thesisLanguage{english}
|
\thesisLanguage{english}
|
||||||
@@ -108,8 +109,11 @@
|
|||||||
\cleardoublepage
|
\cleardoublepage
|
||||||
\pagenumbering{arabic}
|
\pagenumbering{arabic}
|
||||||
|
|
||||||
|
\newgeometry{a4paper,left=3cm,right=3cm,top=2cm,bottom=2.5cm}
|
||||||
|
\addtocontents{toc}{\protect\vspace*{-9mm}}
|
||||||
\tableofcontents
|
\tableofcontents
|
||||||
\cleardoublepage
|
\cleardoublepage
|
||||||
|
\restoregeometry
|
||||||
|
|
||||||
\input{chapters/1_introduction.tex}
|
\input{chapters/1_introduction.tex}
|
||||||
\input{chapters/2_fundamentals.tex}
|
\input{chapters/2_fundamentals.tex}
|
||||||
@@ -122,6 +126,11 @@
|
|||||||
% \listoftables
|
% \listoftables
|
||||||
% \include{abbreviations}
|
% \include{abbreviations}
|
||||||
|
|
||||||
|
\cleardoublepage
|
||||||
|
\phantomsection
|
||||||
|
\addcontentsline{toc}{chapter}{List of Abbreviations}
|
||||||
|
\printacronyms
|
||||||
|
|
||||||
\bibliography{lib/cel-thesis/IEEEabrv,src/thesis/bibliography}
|
\bibliography{lib/cel-thesis/IEEEabrv,src/thesis/bibliography}
|
||||||
|
|
||||||
\end{document}
|
\end{document}
|
||||||
|
|||||||
Reference in New Issue
Block a user