\( \newcommand{\ket}[1]{\vert#1\rangle} \newcommand{\bra}[1]{\langle#1\vert} \newcommand{\bigket}[1]{\bigl\vert#1\bigr\rangle} \newcommand{\bigbra}[1]{\bigl\langle#1\bigr\vert} \newcommand{\class}[1]{\mathrm{#1}} \newcommand{\problem}[1]{\mathrm{#1}} \renewcommand{\natural}{\mathbb{N}} \newcommand{\real}{\mathbb{R}} \newcommand{\complex}{\mathbb{C}} \newcommand{\ip}[2]{\left\langle#1, #2 \right\rangle} \newcommand{\Tr}{\mathop{\mathrm{Tr}}\nolimits} \newcommand{\tr}{\mathop{\mathrm{tr}}\nolimits} \newcommand{\abs}[1]{\left\lvert#1 \right\rvert} \newcommand{\norm}[1]{\left\lVert#1 \right\rVert} \newcommand{\floor}[1]{\left\lfloor#1 \right\rfloor} \newcommand{\X}{\mathcal{X}} \newcommand{\Y}{\mathcal{Y}} \newcommand{\A}{\mathcal{A}} \newcommand{\B}{\mathcal{B}} \newcommand{\E}{\mathop{\mathbb{E}}} \newcommand{\Var}{\mathop{\mathrm{Var}}} \newcommand{\dif}{\mathrm{d}} \newcommand{\eps}{\epsilon} \newcommand{\sign}{\mathrm{sign}} \newcommand{\poly}{\mathrm{poly}} \newcommand{\polylog}{\mathrm{polylog}} \newcommand{\negl}{\mathrm{negl}} \newcommand{\church}[1]{\overline{#1}} \newcommand{\defeq}{\stackrel{\text{def}}{=}} \newcommand{\pair}[2]{\langle#1, #2\rangle} \newcommand{\tuple}[1]{\langle#1\rangle} \newcommand{\red}{\rightarrow} \newcommand{\reds}{\twoheadrightarrow} \newcommand{\betared}{\rightarrow_{\beta}} \newcommand{\betareds}{\twoheadrightarrow_{\beta}} \newcommand{\betaeq}{=_{\beta}} \newcommand{\betaetared}{\rightarrow_{\beta\eta}} \newcommand{\betaetareds}{\twoheadrightarrow_{\beta\eta}} \newcommand{\parared}{\rightarrow_{\|}} \newcommand{\parareds}{\twoheadrightarrow_{\|}} \newcommand{\desc}[1]{\langle#1 \rangle} \newcommand{\adv}{\mathcal{A}} \newcommand{\dis}{\mathcal{D}} \newcommand{\labelsty}[1]{\mathrm{#1}} \newcommand{\Enc}{\labelsty{Enc}} \newcommand{\Dec}{\labelsty{Dec}} \newcommand{\plain}{\labelsty{p}} \newcommand{\cipher}{\labelsty{c}} \newcommand{\PRG}{\labelsty{PRG}} \newcommand{\Commit}{\labelsty{Com}} \newcommand{\oracle}{\mathcal{O}} \newcommand{\Sim}{\labelsty{Sim}} \newcommand{\comp}{\labelsty{c}} \newcommand{\view}{\labelsty{view}} \newcommand\TIME{\class{TIME}} \newcommand\SPACE{\class{SPACE}} \newcommand\SIZE{\class{SIZE}} \newcommand\NTIME{\class{NTIME}} \newcommand\NSPACE{\class{NSPACE}} \newcommand\BQP{\class{BQP}} \newcommand\BPP{\class{BPP}} \newcommand\QMA{\class{QMA}} \renewcommand\P{\class{P}} \newcommand\Ppoly{\class{P{/}poly}} \newcommand\NP{\class{NP}} \newcommand\NPC{\class{NP}\text{-complete}} \newcommand\coNP{\class{coNP}} \newcommand\MA{\class{MA}} \newcommand\AM{\class{AM}} \newcommand\QCMA{\class{QCMA}} \newcommand\EXP{\class{EXP}} \newcommand\NEXP{\class{NEXP}} \newcommand\PP{\class{PP}} \newcommand\GapP{\class{GapP}} \newcommand\IP{\class{IP}} \newcommand\QIP{\class{QIP}} \newcommand\PSPACE{\class{PSPACE}} \newcommand\NPSPACE{\class{NPSPACE}} \newcommand\MIP{\class{MIP}} \newcommand\RE{\class{RE}} \newcommand\QMAM{\class{QMAM}} \newcommand\PH{\class{PH}} \renewcommand\L{\class{L}} \newcommand\NL{\class{NL}} \newcommand\coNL{\class{coNL}} \newcommand\NLC{\class{NL}\text{-complete}} \newcommand\PPAD{\class{PPAD}} \newcommand\SharpP{\#\class{P}} \newcommand\HVPZK{\class{HVPZK}} \newcommand\HVSZK{\class{HVSZK}} \newcommand\PZK{\class{PZK}} \newcommand\SZK{\class{SZK}} \newcommand\CZK{\class{CZK}} \newcommand\val{\mathrm{val}} \newcommand\vale{\mathrm{val}^*} \newcommand\perm{\mathop{\mathrm{perm}}\nolimits} \newcommand\pathfunc{\mathrm{path}} \newcommand\SELF{\problem{SELF}} \newcommand\HALT{\problem{HALT}} \newcommand\MINTM{\problem{MIN}_\text{TM}} \newcommand\ACCTM{\problem{ACC}_\text{TM}} \newcommand\TQBF{\problem{TQBF}} \newcommand\PAL{\problem{PAL}} \newcommand\PATH{\problem{PATH}} \newcommand\LONGPATH{\problem{LONGEST\text{-}PATH}} \newcommand\SHORTPATH{\problem{SHORTEST\text{-}PATH}} \newcommand\HAMPATH{\problem{HAM\text{-}PATH}} \newcommand\HAMCYCLE{\problem{HAM\text{-}CYCLE}} \newcommand\INDSET{\problem{IND\text{-}SET}} \newcommand\MINCUT{\problem{MIN\text{-}CUT}} \newcommand\MAXFLOW{\problem{MAX\text{-}FLOW}} \newcommand\MAXCUT{\problem{MAX\text{-}CUT}} \newcommand\MAXCUTAPP{\problem{MAX\text{-}CUT\text{-}APPROX}} \newcommand\SAT{\problem{SAT}} \newcommand\PERM{\problem{PERMANENT}} \newcommand\THREESAT{3\text{-}\problem{SAT}} \newcommand\TWOSAT{2\text{-}\problem{SAT}} \newcommand\TWOUNSAT{2\text{-}\problem{UNSAT}} \newcommand\NAESAT{\problem{NAESAT}} \newcommand\REACHABILITY{\problem{REACHABILITY}} \newcommand\THREECOL{3\text{-}\problem{COLORING}} \newcommand\CLIQUE{\problem{CLIQUE}} \newcommand\COL{\problem{COLORING}} \newcommand\COMPOSITE{\problem{COMPOSITE}} \newcommand\PRIME{\problem{PRIME}} \newcommand\TSP{\problem{TSP}} \newcommand\VC{\problem{VERTEX\text{-}COVER}} \newcommand\FACTOR{\problem{FACTOR}} \newcommand\GI{\problem{GRAPH\text{-}ISO}} \newcommand\GNI{\problem{GRAPH\text{-}NONISO}} \newcommand\SHORTPROOF{\problem{SHORT\text{-}PROOF}} \newcommand\UHALT{\problem{UNARY\text{-}HALT}} \newcommand\GG{\problem{GENERAL\text{-}GEOGRAPHY}} \newcommand\FG{\problem{FORMULA\text{-}GAME}} \)

Exploration of Error Correction Algorithms for Quantum Dynamic Codes

Ziyuan Wang

1 Background

Dynamic quantum code is an important exploration in the field of quantum computing system architecture in recent years, specifically in the direction of quantum error correction. It provides new methods and perspectives for achieving the goal of fault-tolerant quantum computing. Unlike methods that perform complete global measurement and error correction, the measurements in dynamic code are defined by a sequence of measurements, where the encoding space and stabilizing codes dynamically change with each logical time step, generating and maintaining logical qubits through these dynamic transformations. Key features of dynamic code include the Instantaneous Stabilizer Group (ISG), measurement sequence design, and traceable measurement scheduling. This type of code combines quantum error correction with dynamic evolution, making it highly attractive in research. The earliest example is the Honeycomb Code [1]. Additionally, dynamic codes with periodic measurement sequences are referred to as floquet codes, which are the focus of our study.

The implementation and efficiency of error correction algorithms are critical aspects of evaluating quantum error correction performance. For instance, the well-known Surface code has seen extensive work on error correction algorithms [2]. However, in contrast to the rapid theoretical advancements in dynamic code, few have systematically explored the challenges related to error correction algorithms for dynamic codes. Some papers have discussed the theoretical properties of error correction in dynamic codes at an abstract level [3]. While many papers include numerical results, they do not delve deeply into the design of error correction algorithms. Whether dynamic code can directly adopt existing designs from Surface code or requires additional mechanisms remains an open question.

2 Task Description

  1. Understand the fundamental principles of the Honeycomb Code.

    Dynamic code itself is an emerging field with many subcategories and variants, and the Honeycomb Code is the earliest example. Reference [1] briefly mentions the design of error correction algorithms when introducing the Honeycomb Code. The main idea is to transform the error correction problem into a lattice matching problem on a three-dimensional lattice, which can be seen as an extension of the decoding methods used in Surface codes.

  2. Design and analyze decoding algorithms for dynamic codes.

    You may choose a specific type of dynamic code, along with an error model and relevant numerical parameters. In practical systems, the error correction technique often requires extremely high computational performance, so the algorithm must balance both runtime efficiency and error correction capability. There are a number of relevant code implementations on GitHub for reference, but most are exploratory implementations by learners and may not be correct or efficient.

3 Contant

Ziyuan Wang (zy-wang23@mails.tsinghua.edu.cn)

4 Reference

[1] M. B. Hastings and J. Haah, “Dynamically Generated Logical Qubits,” Quantum, vol. 5, p. 564, Oct. 2021, doi: 10.22331/q-2021-10-19-564.

[2] Y. Wu and L. Zhong, “Fusion Blossom: Fast MWPM Decoders for QEC,” May 15, 2023, arXiv: arXiv:2305.08307. doi: 10.48550/arXiv.2305.08307.

[3] X. Fu and D. Gottesman, “Error Correction in Dynamical Codes,” Mar. 07, 2024, arXiv: arXiv:2403.04163. doi: 10.48550/arXiv.2403.04163.