5 Commits

4 changed files with 202 additions and 139 deletions

View File

@@ -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},
@@ -70,7 +70,7 @@
} }
@article{koutsioumpas_automorphism_2025, @article{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,
@@ -78,7 +78,7 @@
} }
@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 +102,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 +121,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 +143,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 +163,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 +172,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 +180,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 +192,7 @@
} }
@article{geiselhart_automorphism_2021, @article{geiselhart_automorphism_2021,
title = {Automorphism {Ensemble} {Decoding} of {Reed}{Muller} {Codes}}, title = {Automorphism Ensemble Decoding of ReedMuller 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 +217,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 +226,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 +252,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 +275,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,7 +285,7 @@
} }
@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},
@@ -304,7 +305,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 +346,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 +364,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 +396,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 +407,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 +417,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 +430,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 +443,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 +470,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 +506,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 +529,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,7 +549,7 @@
} }
@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,
@@ -581,7 +582,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 +595,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 +606,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 +616,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 +642,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 +656,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 +669,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 +680,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 +714,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 +756,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 +766,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,7 +793,7 @@
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 = {Proceedings 35th Annual Symposium on Foundations of Computer Science},
author = {Shor, P.W.}, author = {Shor, P.W.},
month = nov, month = nov,
year = {1994}, year = {1994},
@@ -800,7 +801,7 @@
} }
@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 +814,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 +834,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 +866,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 +878,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 +905,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,7 +922,7 @@
} }
@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},
@@ -932,7 +933,7 @@
} }
@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 +943,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 +969,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 +980,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 +990,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 +999,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,7 +1012,7 @@
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 = {2016 {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.},
month = may, month = may,
year = {2016}, year = {2016},
@@ -1044,7 +1045,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 +1059,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 +1068,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 +1088,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 +1152,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},

View File

@@ -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

View File

@@ -15,10 +15,10 @@ these topics and subsequently introduces the fundamentals of \ac{qec}.
The core concept underpinning error correcting codes is the The core concept underpinning error correcting codes is the
realization that introducing a finite amount of redundancy to realization that introducing a finite amount of redundancy to
information before transmission can considerably reduce the error rate. information before transmission can considerably reduce the error rate.
Specifically, Shannon proved in 1948 that for any channel, a block Specifically, consider a block code of length $n$ used to communicate
code can be found that achieves arbitrarily small probability of over a channel with capacity $C$ at rate $R$.
error at any communication rate up to the capacity of the channel Shannon proved in 1948 that for any rate $R < C$, the probability of
when the block length approaches infinity error can be made arbitrarily small as $n \to \infty$
\cite[Sec.~13]{shannon_mathematical_1948}. \cite[Sec.~13]{shannon_mathematical_1948}.
In this section, we explore the concepts of ``classical'' (as in non-quantum) In this section, we explore the concepts of ``classical'' (as in non-quantum)
@@ -54,36 +54,34 @@ We call the set of all codewords $\mathcal{C}$ the \textit{code}
% d_min and the [] Notation % d_min and the [] Notation
% %
During the encoding process, a mapping from $\mathbb{F}_2^k$ During the encoding process, a mapping from $\mathbb{F}_2^k$ onto
onto $\mathcal{C} \subset \mathbb{F}_2^n$ takes place. $\mathcal{C} \subset \mathbb{F}_2^n$ takes place.
The input messages are mapped onto an expanded vector space, where Since $n > k$, only a fraction $2^{k-n}$ of the vectors in $\mathbb{F}_2^n$
they are ``further apart'', giving rise to the error correcting are valid codewords, leaving room to choose $\mathcal{C}$ such that any two
properties of the code. distinct codewords differ in many positions.
This notion of the distance between two codewords $\bm{x}_1$ and This separation gives rise to the error correcting properties of the code
$\bm{x}_2$ can be expressed using the \textit{Hamming distance} $d(\bm{x}_1, and is quantified by the \textit{Hamming distance} $d(\bm{x}_1, \bm{x}_2)$,
\bm{x}_2)$, which is defined as the number of positions in which they differ. defined as the number of positions in which $\bm{x}_1$ and $\bm{x}_2$ differ.
We define the \textit{minimum distance} of a code $\mathcal{C}$ as The \textit{minimum distance} of a code $\mathcal{C}$ is then defined as
% %
\begin{align*} \begin{align*}
d_\text{min} := \min \left\{ d(\bm{x}_1, \bm{x}_2) : \bm{x}_1, d_\text{min} := \min \left\{ d(\bm{x}_1, \bm{x}_2) : \bm{x}_1,
\bm{x}_2 \in \mathcal{C}, \bm{x}_1 \neq \bm{x}_2 \right\} \bm{x}_2 \in \mathcal{C}, \bm{x}_1 \neq \bm{x}_2 \right\}.
.
\end{align*} \end{align*}
% %
We can signify that a binary linear block code has information length We denote a binary linear block code with information length
$k$, block length $n$ and minimum distance $d_\text{min}$ using the $k$, block length $n$ and minimum distance $d_\text{min}$ by
notation $[n,k,d_\text{min}]$ \cite[Sec.~1.3]{macwilliams_theory_1977}. $[n,k,d_\text{min}]$.
% %
% Parity checks, H, and the syndrome % Parity checks, H, and the syndrome
% %
A particularly elegant way of describing the subspace $C$ of A particularly elegant way of describing the code space $C$ is the
$\mathbb{F}_2^n$ that the codewords make up is the notion of notion of \textit{parity checks}.
\textit{parity checks}.
Since $\lvert \mathcal{C} \rvert = 2^k$ and $\lvert \mathbb{F}_2^n Since $\lvert \mathcal{C} \rvert = 2^k$ and $\lvert \mathbb{F}_2^n
\rvert = 2^n$, we could introduce $n-k$ conditions to constrain the \rvert = 2^n$, there are $n-k$ conditions constrain the additional
additional degrees of freedom. degrees of freedom.
These conditions, called parity checks, take the form of equations These conditions, called parity checks, take the form of equations
over $\mathbb{F}_2^n$, linking the individual positions of each codeword. over $\mathbb{F}_2^n$, linking the individual positions of each codeword.
We can arrange the coefficients of these equations in a We can arrange the coefficients of these equations in a
@@ -99,7 +97,7 @@ Note that in general we may have linearly dependent parity checks,
prompting us to define the \ac{pcm} as $\bm{H} \in prompting us to define the \ac{pcm} as $\bm{H} \in
\mathbb{F}_2^{m\times n}$ with $\hspace{2mm} m \ge n-k$ instead. \mathbb{F}_2^{m\times n}$ with $\hspace{2mm} m \ge n-k$ instead.
The \textit{syndrome} $\bm{s} = \bm{H} \bm{v}^\text{T}$ describes The \textit{syndrome} $\bm{s} = \bm{H} \bm{v}^\text{T}$ describes
which parity checks a candidate codeword $\bm{v} \in \mathbb{F}_2^n$ violates. which parity checks a vector $\bm{v} \in \mathbb{F}_2^n$ violates.
The representation using the \ac{pcm} has the benefit of providing a The representation using the \ac{pcm} has the benefit of providing a
description of the code, the memory complexity of which does not grow description of the code, the memory complexity of which does not grow
exponentially with $n$, in contrast to keeping track of all codewords directly. exponentially with $n$, in contrast to keeping track of all codewords directly.
@@ -173,9 +171,10 @@ Shannon's noisy-channel coding theorem is stated for codes whose block
length approaches infinity. This suggests that as the block length length approaches infinity. This suggests that as the block length
becomes larger, the performance of the considered codes should becomes larger, the performance of the considered codes should
generally improve. generally improve.
However, the size of the \ac{pcm}, and thus in general the decoding complexity, However, the size of the \ac{pcm} of a linear block code grows
of a linear block code grows quadratically with $n$. quadratically with $n$.
This would quickly render decoding intractable as we increase the block length. This would quickly render decoding intractable as we increase the
block length, due to increased memory and computational complexity.
We can get around this problem by constructing $\bm{H}$ in such a We can get around this problem by constructing $\bm{H}$ in such a
manner that the number of nonzero entries grows less than quadratically, e.g., manner that the number of nonzero entries grows less than quadratically, e.g.,
only linearly. only linearly.
@@ -191,16 +190,16 @@ These differ from ``classical codes'' in their decoding algorithms:
Classical codes are usually decoded using one-step hard-decision decoding, Classical codes are usually decoded using one-step hard-decision decoding,
whereas modern codes are suitable for iterative soft-decision whereas modern codes are suitable for iterative soft-decision
decoding \cite[Preface]{ryan_channel_2009}. The iterative decoding algorithms decoding \cite[Preface]{ryan_channel_2009}. The iterative decoding algorithms
in question are generally defined in terms of message passing on the are generally defined in terms of message passing on the
\textit{Tanner graph} of the code. The Tanner graph is a bipartite \textit{Tanner graph} of a code. The Tanner graph is a bipartite
graph that constitutes an alternative representation of the \ac{pcm}. graph that constitutes an alternative representation of the \ac{pcm}.
We define two types of nodes: \acp{vn}, corresponding to codeword We define two types of nodes: \acp{vn}, corresponding to codeword
bits, and \acp{cn}, corresponding to individual parity checks. bits, and \acp{cn}, corresponding to individual parity checks.
We then construct the Tanner graph by connecting each \ac{cn} to We then construct the Tanner graph by connecting each \ac{cn} to
the \acp{vn} that make up the corresponding parity check the \acp{vn} that make up the corresponding parity check
\cite[Sec.~5.1.2]{ryan_channel_2009}. \cite[Sec.~5.1.2]{ryan_channel_2009}.
\Cref{PCM and Tanner graph of the Hamming code} shows this \Cref{PCM and Tanner graph of the Hamming code} shows the Tanner
construction for the [7,4,3]-Hamming code. graph of the [7,4,3]-Hamming code.
% %
\begin{figure}[t] \begin{figure}[t]
\centering \centering
@@ -290,8 +289,9 @@ We typically evaluate the performance of LDPC codes using the
transmitted block in this context). transmitted block in this context).
Considering an \ac{awgn} channel, \Cref{fig:ldpc-perf} shows a Considering an \ac{awgn} channel, \Cref{fig:ldpc-perf} shows a
qualitative performance characteristic of an \ac{ldpc} code qualitative performance characteristic of an \ac{ldpc} code
\cite[Fig.~1]{costello_spatially_2014}. We talk of the \cite[Fig.~1]{costello_spatially_2014}.
\textit{waterfall} and the \textit{error floor} regions. We can observe the \textit{waterfall} and the \textit{error floor}
regions typical for \ac{ldpc} codes under iterative decoding.
\begin{figure}[t] \begin{figure}[t]
\centering \centering
@@ -330,7 +330,7 @@ qualitative performance characteristic of an \ac{ldpc} code
(1.8684E+00, 6.2247E-09) (1.8684E+00, 6.2247E-09)
(1.9053E+00, 1E-09) (1.9053E+00, 1E-09)
}; };
\addlegendentry{Regular} \addlegendentry{Regular LDPC codes}
\addplot+[mark=none, solid, smooth, KITorange] coordinates { \addplot+[mark=none, solid, smooth, KITorange] coordinates {
(4.5789E-01, 1.1821E-01) (4.5789E-01, 1.1821E-01)
@@ -351,7 +351,7 @@ qualitative performance characteristic of an \ac{ldpc} code
(2.2947E+00, 3.1876E-09) (2.2947E+00, 3.1876E-09)
% (2.8842E+00, 2.0403E-09) % (2.8842E+00, 2.0403E-09)
}; };
\addlegendentry{Irregular} \addlegendentry{Irregular LDPC codes}
\draw[gray, densely dashed] \draw[gray, densely dashed]
(axis cs:0.65, 2e-3) rectangle (axis cs:1.65, 5e-5); (axis cs:0.65, 2e-3) rectangle (axis cs:1.65, 5e-5);
@@ -364,9 +364,9 @@ qualitative performance characteristic of an \ac{ldpc} code
\end{tikzpicture} \end{tikzpicture}
\caption{ \caption{
Qualitative performance characteristic of \ac{ldpc} code Qualitative performance characteristic of regular or
in an \ac{awgn} channel. Adapted from irregular \ac{ldpc} code in an \ac{awgn} channel.
\cite[Fig.~1]{costello_spatially_2014}. Adapted from \cite[Fig.~1]{costello_spatially_2014}.
} }
\label{fig:ldpc-perf} \label{fig:ldpc-perf}
\end{figure} \end{figure}
@@ -379,15 +379,16 @@ the numbers of ones, of their rows and columns are constant
Already during their introduction, regular \ac{ldpc} codes were shown to have Already during their introduction, regular \ac{ldpc} codes were shown to have
a minimum distance scaling linearly with the block length $n$ for a minimum distance scaling linearly with the block length $n$ for
large values \cite[Ch.~2,~Theorem~1]{gallager_low_1960}, large values \cite[Ch.~2,~Theorem~1]{gallager_low_1960},
which leads to them not exhibiting an error floor under \ac{ml} decoding. which leads to the fact that they do not exhibit an error floor under
\ac{ml} decoding.
Irregular codes, on the other hand, generally do exhibit an error floor, Irregular codes, on the other hand, generally do exhibit an error floor,
their redeeming quality being the ability to reach near-capacity while their redeeming quality is the ability to reach near-capacity
performance in the waterfall region \cite[Intro.]{costello_spatially_2014}. performance in the waterfall region \cite[Intro.]{costello_spatially_2014}.
\subsection{Spatially-Coupled LDPC Codes} \subsection{Spatially-Coupled LDPC Codes}
A relatively recent development in the world of \ac{ldpc} codes is A recent development in the field of \ac{ldpc} codes is that of
that of \ac{sc}-\ac{ldpc} codes. \ac{sc}-\ac{ldpc} codes.
Their key feature is that they combine the best properties of regular Their key feature is that they combine the best properties of regular
and irregular codes. and irregular codes.
They have a minimum distance that grows linearly with $n$, promising They have a minimum distance that grows linearly with $n$, promising
@@ -396,8 +397,8 @@ iterative decoding behavior, promising good performance in the
waterfall region \cite[Intro.]{costello_spatially_2014}. waterfall region \cite[Intro.]{costello_spatially_2014}.
The essential property of \ac{sc}-\ac{ldpc} codes is that codewords The essential property of \ac{sc}-\ac{ldpc} codes is that codewords
from different \textit{spatial positions}, that would ordinarily be sent from different \textit{spatial positions}, which would ordinarily be sent
one after the other independently, are coupled. one after the other independently, are linked.
This is achieved by connecting some \acp{vn} of one spatial position to This is achieved by connecting some \acp{vn} of one spatial position to
\acp{cn} of another, resulting in a \ac{pcm} of the form \acp{cn} of another, resulting in a \ac{pcm} of the form
\cite[Eq.~1]{hassan_fully_2016} \cite[Eq.~1]{hassan_fully_2016}
@@ -498,7 +499,7 @@ This construction results in a Tanner graph as depicted in
\draw[decorate, decoration={brace, amplitude=10pt}] \draw[decorate, decoration={brace, amplitude=10pt}]
([xshift=-5mm,yshift=2mm]vn00.north) -- ([xshift=-5mm,yshift=2mm]vn00.north) --
([xshift=5mm,yshift=2mm]vn00.north -| cn20.north) ([xshift=5mm,yshift=2mm]vn00.north -| cn20.north)
node[midway, above=4mm] {K}; node[midway, above=4mm] {$K=2$};
\end{tikzpicture} \end{tikzpicture}
\caption{ \caption{
@@ -508,8 +509,7 @@ This construction results in a Tanner graph as depicted in
\label{fig:sc-ldpc-tanner} \label{fig:sc-ldpc-tanner}
\end{figure} \end{figure}
Note that at the first and last few spatial positions, some \acp{cn} Note that at the first few spatial positions some \acp{cn} have lower degrees.
have lower degrees.
This leads to more reliable information about the This leads to more reliable information about the
\acp{vn} that, as we will see, is \acp{vn} that, as we will see, is
later passed to subsequent spatial positions during decoding. later passed to subsequent spatial positions during decoding.
@@ -526,13 +526,16 @@ algorithms, something that is possible due to their sparsity
\cite[Sec.~5.3]{ryan_channel_2009}. \cite[Sec.~5.3]{ryan_channel_2009}.
The algorithm originally proposed alongside LDPC codes for this The algorithm originally proposed alongside LDPC codes for this
purpose by Gallager in 1960 is now known as the \ac{spa} purpose by Gallager in 1960 is now known as the \ac{spa}
\cite[5.4.1]{ryan_channel_2009}, also called \ac{bp}. \cite[5.4.1]{ryan_channel_2009}, also called \acf{bp}.
The optimality criterion the \ac{spa} is built around is a The optimality criterion the \ac{spa} is built around is a
symbol-wise \ac{map} decision \cite[Sec.~5.4.1]{ryan_channel_2009}. symbol-wise \ac{map} decision \cite[Sec.~5.4.1]{ryan_channel_2009}.
The core idea of the resulting algorithm is to view \acp{cn} as The core idea of the resulting algorithm is to view \acp{cn}
representing single-parity check codes and \acp{vn} as representing and \acp{vn} as representing individual local codes.
repetition codes. A \ac{cn} represents a single parity check on the connected \acp{vn},
so it can be understood as a single-parity check code.
Similarly, a \ac{vn} represents a bit, and all connected \acp{cn}
should agree on its value; it can therefore be understood as a repetition code.
The algorithm alternates between consolidating soft information about The algorithm alternates between consolidating soft information about
the \acp{vn} in the \acp{cn}, and consolidating soft information about the \acp{vn} in the \acp{cn}, and consolidating soft information about
the \acp{cn} in the \acp{vn}. the \acp{cn} in the \acp{vn}.
@@ -748,7 +751,7 @@ As we are modelling the wave function $\psi(x,t)$ as a vector
$\ket{\psi}$, we can find a set of basis vectors to decompose it into. $\ket{\psi}$, we can find a set of basis vectors to decompose it into.
We can use the determinate states for this purpose, expressing the state as% We can use the determinate states for this purpose, expressing the state as%
\footnote{ \footnote{
We are only considering the case of having a \emph{discrete We only consider the case of having a \emph{discrete
spectrum} here, i.e., having a discrete set of eigenvalues and vectors. spectrum} here, i.e., having a discrete set of eigenvalues and vectors.
For continuous spectra, the procedure is analogous. For continuous spectra, the procedure is analogous.
} }
@@ -909,8 +912,8 @@ Assuming the qubits are independent, this is a \emph{product state}
$\ket{\psi} = \ket{\psi_1}\otimes\ket{\psi_2}$. $\ket{\psi} = \ket{\psi_1}\otimes\ket{\psi_2}$.
When not ambiguous, we may omit the tensor product symbol or even write When not ambiguous, we may omit the tensor product symbol or even write
the entire product state as a single ket the entire product state as a single ket
\cite[Sec.~6.2]{griffiths_consistent_2001}. \cite[Sec.~6.2]{griffiths_consistent_2001},
We have i.e.,
\begin{align} \begin{align}
\label{eq:product_state} \label{eq:product_state}
\begin{split} \begin{split}
@@ -1012,14 +1015,17 @@ operators are sufficient to express any other operator as a linear
combination \cite[Sec.~2.2]{roffe_quantum_2019}. combination \cite[Sec.~2.2]{roffe_quantum_2019}.
$I$ is the identity operator and $X$ and $Z$ are referred to as $I$ is the identity operator and $X$ and $Z$ are referred to as
\emph{bit-flips} and \emph{phase-flips} respectively. \emph{bit-flips} and \emph{phase-flips} respectively.
We call the set $\mathcal{G}_n = \left\{ \pm I,\pm jI, \pm X,\pm jX, We call the set $\mathcal{G}_n = \left\{ \pm I,\pm \mathrm{i}I, \pm
\pm Y,\pm jY, \pm Z, \pm jZ \right\}^{\otimes n}$ the \emph{Pauli X,\pm \mathrm{i}X,
\pm Y,\pm \mathrm{i}Y, \pm Z, \pm \mathrm{i}Z \right\}^{\otimes n}$
the \emph{Pauli
group} over $n$ qubits. group} over $n$ qubits.
In the context of modifying qubit states, we also call operators \emph{gates}. In the context of modifying qubit states, we also call operators \emph{gates}.
When working with multi-qubit systems, we can also apply Pauli gates When working with multi-qubit systems, we can also apply Pauli gates
to individual qubits independently, which we write, e.g., as $I_1 X_2 to individual qubits independently, which we write, e.g., as $I_1 X_2
I_3 Z_4 Y_5$. I_3 Z_4 Y_5$.
Each operator is applied to the qubit denoted in the corresponding subscript.
We often omit the identity operators, instead writing, e.g., $X_2 Z_4 Y_5$. We often omit the identity operators, instead writing, e.g., $X_2 Z_4 Y_5$.
Other important operators include the \emph{Hadamard} and Other important operators include the \emph{Hadamard} and
\emph{controlled-NOT (CNOT)} gates \cite[Sec.~1.3]{nielsen_quantum_2010} \emph{controlled-NOT (CNOT)} gates \cite[Sec.~1.3]{nielsen_quantum_2010}
@@ -1186,7 +1192,7 @@ Consider the two-qubit repetition code
\underbrace{\ket{11}}_{=:\ket{1}_\text{L}} \underbrace{\ket{11}}_{=:\ket{1}_\text{L}}
.% .%
\end{align*} \end{align*}
We call $\ket{\psi}_L$ the logical state, and We call $\ket{\psi}_\text{L}$ the logical state, and
we define the \emph{codespace} as $\mathcal{C} := \text{span}\mleft\{ we define the \emph{codespace} as $\mathcal{C} := \text{span}\mleft\{
\ket{00}, \ket{11} \mright\}$ and the \emph{error subspace} as \ket{00}, \ket{11} \mright\}$ and the \emph{error subspace} as
$\mathcal{F} := \text{span} \mleft\{\ket{01}, \ket{10} \mright\}$. $\mathcal{F} := \text{span} \mleft\{\ket{01}, \ket{10} \mright\}$.
@@ -1291,7 +1297,7 @@ This effect is referred to as error \emph{digitization}
Operators such as $Z_1Z_2$ above are called \emph{stabilizers}. Operators such as $Z_1Z_2$ above are called \emph{stabilizers}.
More generally, an operator $P_i \in \mathcal{G}_n$ is called a stabilizer of an More generally, an operator $P_i \in \mathcal{G}_n$ is called a stabilizer of an
$[[n, k, d_\text{min}]]$ code $\mathcal{C}$, if $\llbracket n, k, d_\text{min} \rrbracket$ code $\mathcal{C}$, if
\begin{itemize} \begin{itemize}
\item It stabilizes all logical states, i.e., \item It stabilizes all logical states, i.e.,
$P_i\ket{\psi}_\text{L} = (+1)\ket{\psi}_\text{L} ~\forall~ $P_i\ket{\psi}_\text{L} = (+1)\ket{\psi}_\text{L} ~\forall~
@@ -1315,20 +1321,35 @@ with respect to possible errors.
The measurement circuit for an arbitrary stabilizer $P_i$ modifies The measurement circuit for an arbitrary stabilizer $P_i$ modifies
the state as \cite[Eq.~29]{roffe_quantum_2019} the state as \cite[Eq.~29]{roffe_quantum_2019}
\begin{align*} \begin{align*}
E\ket{\psi}_\text{L}\ket{0}_\text{A} E\ket{\psi}_\text{L}\ket{0}_{\text{A}_i}
\hspace{3mm}\mapsto\hspace{3mm} \hspace{3mm}\mapsto\hspace{3mm}
\frac{1}{2} \left( I + P_i \frac{1}{2} \left( I + P_i
\right)E\ket{\psi}_\text{L}\ket{0}_\text{A} + \frac{1}{2} \right)E\ket{\psi}_\text{L}\ket{0}_{\text{A}_i} + \frac{1}{2}
\left( I - P_i \right)E\ket{\psi}_\text{A} \ket{1}_\text{A} \left( I - P_i \right)E\ket{\psi}_\text{L} \ket{1}_{\text{A}_i}
.% .%
\end{align*} \end{align*}
If a given error $E$ anticommutes with $P_i$, we have If a given error $E$ anticommutes with $P_i$, we have
\begin{align*} \begin{align*}
EP_i \ket{\psi}_{L} &= -P_i E \ket{\psi}_\text{L} \\ & \frac{1}{2} \left( I + P_i \right)
\Rightarrow E \ket{\psi}_{L} &= -P_i E \ket{\psi}_\text{L} \\ E\ket{\psi}_\text{L}\ket{0}_{\text{A}_i}
\Rightarrow \left( I + P_i \right)E\ket{\psi}_\text{L} &= 0 + \frac{1}{2} \left( I - P_i \right)
E\ket{\psi}_\text{L} \ket{1}_{\text{A}_i} \\
= & \frac{1}{2} \left(
E\ket{\psi}_\text{L} + P_i E\ket{\psi}_\text{L}
\right) \ket{0}_{\text{A}_i}
+ \frac{1}{2} \left(
E\ket{\psi}_\text{L} - P_i E\ket{\psi}_\text{L}
\right)\ket{1}_{\text{A}_i} \\
= & \frac{1}{2} \left(
E\ket{\psi}_\text{L} - E\ket{\psi}_\text{L}
\right) \ket{0}_{\text{A}_i}
+ \frac{1}{2} \left(
E\ket{\psi}_\text{L} + E\ket{\psi}_\text{L}
\right)\ket{1}_{\text{A}_i} \\
= & E\ket{\psi}_\text{L}\ket{1}_{\text{A}_i}
\end{align*} \end{align*}
and the stabilizer measurement returns 1. and measuring the ancilla $\text{A}_i$ corresponding to stabilizer
$P_i$ returns 1.
%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%
\subsection{Stabilizer Codes} \subsection{Stabilizer Codes}
@@ -1465,8 +1486,8 @@ Using the dual code of $\mathcal{C}_2$ \cite[Eq.~3.4]{ryan_channel_2009}
\bm{x}' \bm{x}^\text{T} = 0 ~\forall \bm{x} \in \mathcal{C}_2 \right\} \bm{x}' \bm{x}^\text{T} = 0 ~\forall \bm{x} \in \mathcal{C}_2 \right\}
,% ,%
\end{align*} \end{align*}
we define $\bm{H}_X := \bm{H}(\mathcal{C}_2^\perp)$ and $\bm{H}_Z we define $\bm{H}_X$ as the \ac{pcm} of $\mathcal{C}_2^\perp$ and $\bm{H}_Z$
:= \bm{H}(\mathcal{C}_1)$, and construct the check matrix as as the \ac{pcm} of $\mathcal{C}_1$, and construct the check matrix as
\begin{align*} \begin{align*}
\left[ \left[
\begin{array}{c|c} \begin{array}{c|c}
@@ -1483,8 +1504,8 @@ $\mathcal{C}_2$ must satisfy the commutativity condition
\bm{H}_X \bm{H}_Z^\text{T} = \bm{0} \bm{H}_X \bm{H}_Z^\text{T} = \bm{0}
.% .%
\end{align} \end{align}
We can ensure this is the case by choosing them such that We can ensure this by choosing $\mathcal{C}_1$ and $\mathcal{C}_2$
$\mathcal{C}_2 \subset \mathcal{C}_1$. such that $\mathcal{C}_2 \subset \mathcal{C}_1$.
%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%
\subsection{Quantum Low-Density Parity-Check Codes} \subsection{Quantum Low-Density Parity-Check Codes}
@@ -1519,7 +1540,7 @@ $\bm{H}_Z$ are constructed from two matrices $\bm{A}$ and $\bm{B}$ as
.% .%
\end{align*} \end{align*}
This way, we can guarantee the satisfaction of the commutativity This way, we can guarantee the satisfaction of the commutativity
condition (\Cref{eq:css_condition}). condition \Cref{eq:css_condition}.
To define $\bm{A}$ and $\bm{B}$ we first introduce some additional notation. To define $\bm{A}$ and $\bm{B}$ we first introduce some additional notation.
We denote the identity matrix as $\bm{I_l} \in \mathbb{F}^{l\times l}$ and We denote the identity matrix as $\bm{I_l} \in \mathbb{F}^{l\times l}$ and
the \emph{cyclic shift matrix} as $\bm{S_l} \in \mathbb{F}^{l\times the \emph{cyclic shift matrix} as $\bm{S_l} \in \mathbb{F}^{l\times

View File

@@ -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)