\(
\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}}
\)
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.
Task Description
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.
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.
Contant
Ziyuan Wang (zy-wang23@mails.tsinghua.edu.cn)
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.