diff --git a/src/midterm_presentation/main.tex b/src/midterm_presentation/main.tex index a2e5bde..81718ad 100644 --- a/src/midterm_presentation/main.tex +++ b/src/midterm_presentation/main.tex @@ -27,7 +27,7 @@ \usetikzlibrary{spy, external, intersections, positioning} % \ifdefined\ishandout\else -% \tikzexternalize +\tikzexternalize % \fi \usepackage{pgfplots} @@ -406,7 +406,7 @@ \begin{frame} \frametitle{Fault Tolerance} - \vspace*{-20mm} + \vspace*{-10mm} \begin{itemize} \item The quantum gates we use for syndrome extraction are @@ -422,24 +422,24 @@ \item We generally perform multiple rounds of syndrome extraction \end{itemize} - \vspace*{1mm} + % \vspace*{1mm} + % + % \begin{figure}[H] + % \centering + % % tex-fmt: off + % \begin{quantikz}[row sep=2mm, column sep=4mm, wire types={q,q,q,q,q,n,n}] + % & \ctrl{3} & & & & & & \ctrl{5} & & & & \\ + % \lstick{$\ket{\psi}$} & & \ctrl{2} & \ctrl{3} & & & & & \ctrl{4} & \ctrl{5} & & & \setwiretype{n}\ldots \\ + % & & & & \ctrl{2} & & & & & & \ctrl{4} & \\ + % \lstick{$\ket{0}_{\text{A}_1}$} & \targ{} & \targ{} & & & & & & & & & \meter{} \\ + % \lstick{$\ket{0}_{\text{A}_2}$} & & & \targ{} & \targ{} & & & & & & & \meter{} \\ + % & & & & & \lstick{$\ket{0}_{\text{A}_3}$} & \setwiretype{q} & \targ{} & \targ{} & & & \meter{} \\ + % & & & & & \lstick{$\ket{0}_{\text{A}_4}$} & \setwiretype{q} & & & \targ{} & \targ{} & \meter{} + % \end{quantikz} + % % tex-fmt: on + % \end{figure} - \begin{figure}[H] - \centering - % tex-fmt: off - \begin{quantikz}[row sep=2mm, column sep=4mm, wire types={q,q,q,q,q,n,n}] - & \ctrl{3} & & & & & & \ctrl{5} & & & & \\ - \lstick{$\ket{\psi}$} & & \ctrl{2} & \ctrl{3} & & & & & \ctrl{4} & \ctrl{5} & & & \setwiretype{n}\ldots \\ - & & & & \ctrl{2} & & & & & & \ctrl{4} & \\ - \lstick{$\ket{0}_{\text{A}_1}$} & \targ{} & \targ{} & & & & & & & & & \meter{} \\ - \lstick{$\ket{0}_{\text{A}_2}$} & & & \targ{} & \targ{} & & & & & & & \meter{} \\ - & & & & & \lstick{$\ket{0}_{\text{A}_3}$} & \setwiretype{q} & \targ{} & \targ{} & & & \meter{} \\ - & & & & & \lstick{$\ket{0}_{\text{A}_4}$} & \setwiretype{q} & & & \targ{} & \targ{} & \meter{} - \end{quantikz} - % tex-fmt: on - \end{figure} - - \vspace*{1mm} + \vspace*{25mm} \addreferences {roffe_quantum_2019} @@ -452,26 +452,30 @@ \label{subsec:Detector Error Models} \begin{frame}[fragile] - \frametitle{The Detector Error Model} + \frametitle{The Measurement Syndrome Matrix I} - \vspace*{-10mm} + \vspace*{-18mm} \begin{itemize} - \item \red{Introduce the concept of a detector (it may be - better to do this on the next slide, and in doing so - explain that the syndrome results are XORed together)} - \item Example: 3-qubit repetition code for X errors, - phenomenological noise model, two rounds of syndrome extraction + \item Each column of the \emph{measurement syndrome matrix} + $\bm{\Omega}$ corresponds to a measurement pattern an + error produces \citereference{derks_designing_2025} + \item Example: 3-qubit repetition code \\ + (Only bit flips on data qubits) \end{itemize} + \vspace*{-28mm} + \centering \only<1>{ - \begin{minipage}{0.3\textwidth} + \begin{minipage}{0.4\textwidth} \centering \begin{align*} - \bm{H} = + \bm{\Omega} = \left( \begin{array}{ccc} + 1 & 1 & 0 \\ + 0 & 1 & 1 \\ 1 & 1 & 0 \\ 0 & 1 & 1 \\ 1 & 1 & 0 \\ @@ -479,34 +483,40 @@ \end{array}\right) \end{align*} \end{minipage}% - \begin{minipage}{0.7\textwidth} + \begin{minipage}{0.6\textwidth} \begin{figure}[H] - \newcommand{\preperr}{\gate[style={fill=orange!20}]{\phantom{1}}} + \newcommand{\preperr}[1]{ + \gate[style={fill=orange!20}]{\scriptstyle ##1} + } \newcommand{\measerr}{\gate[style={fill=blue!20}]{\phantom{1}}} \centering % tex-fmt: off - \begin{quantikz}[row sep=4mm, column sep=4mm, wire types={q,q,q,q,q,n,n}] - & \preperr & \ctrl{3} & & & & & & \ctrl{5} & & & & \\ - \lstick{$\ket{\psi}$} & \preperr & & \ctrl{2} & \ctrl{3} & & & & & \ctrl{4} & \ctrl{5} & & \\ - & \preperr & & & & \ctrl{2} & & & & & & \ctrl{4} & \\ - \lstick{$\ket{0}_{\text{A}_1}$} & & \targ{} & \targ{} & & & & & & & & & \meter{} \\ - \lstick{$\ket{0}_{\text{A}_2}$} & & & & \targ{} & \targ{} & & & & & & & \meter{} \\ - & & & & & & \lstick{$\ket{0}_{\text{A}_3}$} & \setwiretype{q} & \targ{} & \targ{} & & & \meter{} \\ - & & & & & & \lstick{$\ket{0}_{\text{A}_4}$} & \setwiretype{q} & & & \targ{} & \targ{} & \meter{} + \begin{quantikz}[row sep=4mm, column sep=4mm, wire types={q,q,q,q,q,n,n,n,n}] + & \preperr{E_0} & \ctrl{3} & & & & & & \ctrl{5} & & & & & & \ctrl{7} & & & & \\ + \lstick{$\ket{\psi}$} & \preperr{E_1} & & \ctrl{2} & \ctrl{3} & & & & & \ctrl{4} & \ctrl{5} & & & & & \ctrl{6} & \ctrl{7} & & \\ + & \preperr{E_2} & & & & \ctrl{2} & & & & & & \ctrl{4} & & & & & & \ctrl{6} & \\ + \lstick{$\ket{0}_{\text{A}_1}$} & & \targ{} & \targ{} & & & & & & & & & & & & & & & \meter{} \\ + \lstick{$\ket{0}_{\text{A}_2}$} & & & & \targ{} & \targ{} & & & & & & & & & & & & & \meter{} \\ + & & & & & & \lstick{$\ket{0}_{\text{A}_3}$} & \setwiretype{q} & \targ{} & \targ{} & & & & & & & & & \meter{} \\ + & & & & & & \lstick{$\ket{0}_{\text{A}_4}$} & \setwiretype{q} & & & \targ{} & \targ{} & & & & & & & \meter{} \\ + & & & & & & & & & & & & \lstick{$\ket{0}_{\text{A}_5}$} & \setwiretype{q} & \targ{} & \targ{} & & & \meter{} \\ + & & & & & & & & & & & & \lstick{$\ket{0}_{\text{A}_6}$} & \setwiretype{q} & & & \targ{} & \targ{} & \meter{} \end{quantikz} % tex-fmt: on \end{figure} \end{minipage} } \only<2>{ - \begin{minipage}{0.3\textwidth} + \begin{minipage}{0.4\textwidth} \centering \begin{align*} - \bm{H} = + \bm{\Omega} = \left( \begin{array}{>{\columncolor{red!20}}ccc} + 1 & 1 & 0 \\ + 0 & 1 & 1 \\ 1 & 1 & 0 \\ 0 & 1 & 1 \\ 1 & 1 & 0 \\ @@ -514,20 +524,30 @@ \end{array}\right) \end{align*} \end{minipage}% - \begin{minipage}{0.7\textwidth} + \begin{minipage}{0.6\textwidth} \begin{figure}[H] - \newcommand{\preperr}[1]{\gate[style={fill=orange!20}]{##1}} + \newcommand{\preperr}[1]{ + \gate[style={fill=orange!20}]{\scriptstyle ##1} + } \newcommand{\measerr}{\gate[style={fill=blue!20}]{\phantom{1}}} + \newcommand{\noise}{ - \gate[style={noisy}]{\text{\small X}}\setwiretype{n} + \gate[style={noisy}]{\text{\small X}}% + \setwiretype{n}% + \wire[l][1]{q} } \newcommand{\redwire}[1]{ \wire[r][##1][style={draw=red, line width=2pt}]{q} } - \newcommand{\redtarg}{\targ[style={draw=red}]{}\setwiretype{n}} + \newcommand{\redtarg}{ + \targ[style={draw=red}]{}% + \setwiretype{n}% + \wire[l][1]{q} + } \newcommand{\redctrl}[1]{ \ctrl[style={draw=red,fill=red,line width=2pt}]{##1} } + \newcommand{\redmeter}{\meter[style={draw=red,fill=red!20}]{}} \tikzset{ noisy/.style={ @@ -542,55 +562,269 @@ \centering % tex-fmt: off - \begin{quantikz}[row sep=4mm, column sep=4mm, wire types={q,q,q,q,q,n,n}] - & \noise\redwire{11}\wire[l][1]{q} & \redctrl{3} & & & & & & \redctrl{5} & & & & \\ - \lstick{$\ket{\psi}$} & \preperr{\phantom{1}} & & \ctrl{2} & \ctrl{3} & & & & & \ctrl{4} & \ctrl{5} & & \\ - & \preperr{\phantom{1}} & & & & \ctrl{2} & & & & & & \ctrl{4} & \\ - \lstick{$\ket{0}_{\text{A}_1}$} & & \redtarg\redwire{10}\wire[l][1]{q} & \targ{} & & & & & & & & & \meter[style={draw=red,fill=red!20}]{} \\ - \lstick{$\ket{0}_{\text{A}_2}$} & & & & \targ{} & \targ{} & & & & & & & \meter{} \\ - & & & & & & \lstick{$\ket{0}_{\text{A}_3}$} & \setwiretype{q} & \redtarg{}\redwire{4}\wire[l][1]{q} & \targ{} & & & \meter[style={draw=red,fill=red!20}]{} \\ - & & & & & & \lstick{$\ket{0}_{\text{A}_4}$} & \setwiretype{q} & & & \targ{} & \targ{} & \meter{} + \begin{quantikz}[row sep=4mm, column sep=4mm, wire types={q,q,q,q,q,n,n,n,n}] + & \noise\redwire{17} & \redctrl{3} & & & & & & \redctrl{5} & & & & & & \redctrl{7} & & & & \\ + \lstick{$\ket{\psi}$} & \preperr{E_1} & & \ctrl{2} & \ctrl{3} & & & & & \ctrl{4} & \ctrl{5} & & & & & \ctrl{6} & \ctrl{7} & & \\ + & \preperr{E_2} & & & & \ctrl{2} & & & & & & \ctrl{4} & & & & & & \ctrl{6} & \\ + \lstick{$\ket{0}_{\text{A}_1}$} & & \redtarg{}\redwire{16} & \targ{} & & & & & & & & & & & & & & & \redmeter \\ + \lstick{$\ket{0}_{\text{A}_2}$} & & & & \targ{} & \targ{} & & & & & & & & & & & & & \meter{} \\ + & & & & & & \lstick{$\ket{0}_{\text{A}_3}$} & \setwiretype{q} & \redtarg\redwire{10} & \targ{} & & & & & & & & & \redmeter \\ + & & & & & & \lstick{$\ket{0}_{\text{A}_4}$} & \setwiretype{q} & & & \targ{} & \targ{} & & & & & & & \meter{} \\ + & & & & & & & & & & & & \lstick{$\ket{0}_{\text{A}_5}$} & \setwiretype{q} & \redtarg\redwire{4} & \targ{} & & & \redmeter \\ + & & & & & & & & & & & & \lstick{$\ket{0}_{\text{A}_6}$} & \setwiretype{q} & & & \targ{} & \targ{} & \meter{} + \end{quantikz} + % tex-fmt: on + \end{figure} + \end{minipage} + } + + \vspace*{2mm} + + \addreferences + {derks_designing_2025} + \stopreferences +\end{frame} + +\begin{frame}[fragile] + \frametitle{The Measurement Syndrome Matrix II} + + \vspace*{-18mm} + + \begin{itemize} + \item Each column of the \emph{measurement syndrome matrix} + $\bm{\Omega}$ corresponds to a measurement pattern an + error produces \citereference{derks_designing_2025} + \item + Example: 3-qubit repetition code \\ + (Phenomenological noise \citereference{derks_designing_2025}) + \end{itemize} + + \vspace*{-28mm} + + \centering + \only<1>{ + \begin{minipage}{0.4\textwidth} + \centering + + \scalebox{0.85}{ + \parbox{.5\linewidth}{% + \begin{align*} + \bm{\Omega} = + \left( + \begin{array}{ccccccccccccccc} + 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 + & 0 & 0 & 0 & 0 & 0 \\ + 0 & 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 + & 0 & 0 & 0 & 0 & 0 \\ + 1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 1 & 0 + & 0 & 0 & 0 & 0 & 0 \\ + 0 & 1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 1 + & 0 & 0 & 0 & 0 & 0 \\ + 1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 0 & 0 + & 1 & 1 & 0 & 1 & 0 \\ + 0 & 1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 0 + & 0 & 1 & 1 & 0 & 1 + \end{array}\right) + \end{align*} + } + } + \end{minipage}% + \begin{minipage}{0.6\textwidth} + \begin{figure}[H] + \newcommand{\preperr}[1]{ + \gate[style={fill=orange!20}]{\scriptstyle ##1} + } + \newcommand{\measerr}{\gate[style={fill=blue!20}]{\phantom{1}}} + + \newcommand{\noise}{ + \gate[style={noisy}]{\text{\small X}}% + \setwiretype{n}% + \wire[l][1]{q} + } + \newcommand{\redwire}[1]{ + \wire[r][##1][style={draw=red, line width=2pt}]{q} + } + \newcommand{\redtarg}{ + \targ[style={draw=red}]{}% + \setwiretype{n}% + \wire[l][1]{q} + } + \newcommand{\redctrl}[1]{ + \ctrl[style={draw=red,fill=red,line width=2pt}]{##1} + } + \newcommand{\redmeter}{\meter[style={draw=red,fill=red!20}]{}} + + \tikzset{ + noisy/.style={ + starburst, + starburst point height=2.5mm, + fill=red!25, draw=red!85!black, + line width=2pt, + inner xsep=-2pt, inner ysep=-2pt + }, + } + + \centering + + % tex-fmt: off + \begin{quantikz}[row sep=4mm, column sep=4mm, wire types={q,q,q,q,q,n,n,n,n}] + & \preperr{E_0} & \ctrl{3} & & & & \preperr{E_5} & & \ctrl{5} & & & & \preperr{E_{10}} & & \ctrl{7} & & & & & \\ + \lstick{$\ket{\psi}$} & \preperr{E_1} & & \ctrl{2} & \ctrl{3} & & \preperr{E_6} & & & \ctrl{4} & \ctrl{5} & & \preperr{E_{11}} & & & \ctrl{6} & \ctrl{7} & & & \\ + & \preperr{E_2} & & & & \ctrl{2} & \preperr{E_7} & & & & & \ctrl{4} & \preperr{E_{12}} & & & & & \ctrl{6} & & \\ + \lstick{$\ket{0}_{\text{A}_1}$} & & \targ{} & \targ{} & & & & & & & & & & & & & & & \preperr{E_3} & \meter{} \\ + \lstick{$\ket{0}_{\text{A}_2}$} & & & & \targ{} & \targ{} & & & & & & & & & & & & & \preperr{E_4} & \meter{} \\ + & & & & & & \lstick{$\ket{0}_{\text{A}_3}$} & \setwiretype{q} & \targ{} & \targ{} & & & & & & & & & \preperr{E_8} & \meter{} \\ + & & & & & & \lstick{$\ket{0}_{\text{A}_4}$} & \setwiretype{q} & & & \targ{} & \targ{} & & & & & & & \preperr{E_9} & \meter{} \\ + & & & & & & & & & & & & \lstick{$\ket{0}_{\text{A}_5}$} & \setwiretype{q} & \targ{} & \targ{} & & & \preperr{E_{13}} & \meter{} \\ + & & & & & & & & & & & & \lstick{$\ket{0}_{\text{A}_6}$} & \setwiretype{q} & & & \targ{} & \targ{} & \preperr{E_{14}} & \meter{} + \end{quantikz} + % tex-fmt: on + \end{figure} + \end{minipage} + } + \only<2>{ + \begin{minipage}{0.4\textwidth} + \centering + + \newcommand{\pz}{\phantom{0}} + + \scalebox{0.85}{ + \parbox{.5\linewidth}{% + \begin{align*} + \bm{\Omega} = + \left( + \begin{array}{ + ccccc% + >{\columncolor{red!20}}c% + ccccccccc + } + 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 + & 0 & 0 & 0 & 0 & 0 \\ + 0 & 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 + & 0 & 0 & 0 & 0 & 0 \\ + 1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 1 & 0 + & 0 & 0 & 0 & 0 & 0 \\ + 0 & 1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 1 + & 0 & 0 & 0 & 0 & 0 \\ + 1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 0 & 0 + & 1 & 1 & 0 & 1 & 0 \\ + 0 & 1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 0 + & 0 & 1 & 1 & 0 & 1 + \end{array}\right) + \end{align*} + } + } + \end{minipage}% + \begin{minipage}{0.6\textwidth} + \begin{figure}[H] + \newcommand{\preperr}[1]{ + \gate[style={fill=orange!20}]{\scriptstyle ##1} + } + \newcommand{\measerr}{\gate[style={fill=blue!20}]{\phantom{1}}} + + \newcommand{\noise}{ + \gate[style={noisy}]{\text{\small X}}% + \setwiretype{n}% + \wire[l][1]{q} + } + \newcommand{\redwire}[1]{ + \wire[r][##1][style={draw=red, line width=2pt}]{q} + } + \newcommand{\redtarg}{ + \targ[style={draw=red}]{}% + \setwiretype{n}% + \wire[l][1]{q} + } + \newcommand{\redctrl}[1]{ + \ctrl[style={draw=red,fill=red,line width=2pt}]{##1} + } + \newcommand{\redmeter}{\meter[style={draw=red,fill=red!20}]{}} + + \tikzset{ + noisy/.style={ + starburst, + starburst point height=2.5mm, + fill=red!25, draw=red!85!black, + line width=2pt, + inner xsep=-2pt, inner ysep=-2pt + }, + } + + \centering + + % tex-fmt: off + \begin{quantikz}[row sep=4mm, column sep=4mm, wire types={q,q,q,q,q,n,n,n,n}] + & \preperr{E_0} & \ctrl{3} & & & & \noise\redwire{13} & & \redctrl{5} & & & & \preperr{E_{10}} & & \redctrl{7} & & & & & \\ + \lstick{$\ket{\psi}$} & \preperr{E_1} & & \ctrl{2} & \ctrl{3} & & \preperr{E_6} & & & \ctrl{4} & \ctrl{5} & & \preperr{E_{11}} & & & \ctrl{6} & \ctrl{7} & & & \\ + & \preperr{E_2} & & & & \ctrl{2} & \preperr{E_7} & & & & & \ctrl{4} & \preperr{E_{12}} & & & & & \ctrl{6} & & \\ + \lstick{$\ket{0}_{\text{A}_1}$} & & \targ{} & \targ{} & & & & & & & & & & & & & & & \preperr{E_3} & \meter{} \\ + \lstick{$\ket{0}_{\text{A}_2}$} & & & & \targ{} & \targ{} & & & & & & & & & & & & & \preperr{E_4} & \meter{} \\ + & & & & & & \lstick{$\ket{0}_{\text{A}_3}$} & \setwiretype{q} & \redtarg\redwire{11} & \targ{} & & & & & & & & & \preperr{E_8} & \redmeter \\ + & & & & & & \lstick{$\ket{0}_{\text{A}_4}$} & \setwiretype{q} & & & \targ{} & \targ{} & & & & & & & \preperr{E_9} & \meter{} \\ + & & & & & & & & & & & & \lstick{$\ket{0}_{\text{A}_5}$} & \setwiretype{q} & \redtarg\redwire{5} & \targ{} & & & \preperr{E_{13}} & \redmeter \\ + & & & & & & & & & & & & \lstick{$\ket{0}_{\text{A}_6}$} & \setwiretype{q} & & & \targ{} & \targ{} & \preperr{E_{14}} & \meter{} \end{quantikz} % tex-fmt: on \end{figure} \end{minipage} } \only<3>{ - \begin{minipage}{0.3\textwidth} + \begin{minipage}{0.4\textwidth} \centering - \begin{align*} - \bm{H} = - \left( - \begin{array}{ccc>{\columncolor{gray!20}}c>{\columncolor{gray!20}}c>{\columncolor{gray!20}}c>{\columncolor{gray!20}}c>{\columncolor{gray!20}}c>{\columncolor{gray!20}}c>{\columncolor{gray!20}}c} - 1 & 1 & 0 & \phantom{0}& \phantom{0}& - \phantom{0}& \phantom{0}& \phantom{0}& - \phantom{0}& \phantom{0} \\ - 0 & 1 & 1 & \phantom{0}& \phantom{0}& - \phantom{0}& \phantom{0}& \phantom{0}& - \phantom{0}& \phantom{0} \\ - 1 & 1 & 0 & \phantom{0}& \phantom{0}& - \phantom{0}& \phantom{0}& \phantom{0}& - \phantom{0}& \phantom{0} \\ - 0 & 1 & 1 & \phantom{0}& \phantom{0}& - \phantom{0}& \phantom{0}& \phantom{0}& - \phantom{0}& \phantom{0} - \end{array}\right) - \end{align*} + + \newcommand{\pz}{\phantom{0}} + + \scalebox{0.85}{ + \parbox{.5\linewidth}{% + \begin{align*} + \bm{\Omega} = + \left( + \begin{array}{ + cccccc% + >{\columncolor{red!20}}c% + cccccccc + } + 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 + & 0 & 0 & 0 & 0 & 0 \\ + 0 & 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 + & 0 & 0 & 0 & 0 & 0 \\ + 1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 1 & 0 + & 0 & 0 & 0 & 0 & 0 \\ + 0 & 1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 1 + & 0 & 0 & 0 & 0 & 0 \\ + 1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 0 & 0 + & 1 & 1 & 0 & 1 & 0 \\ + 0 & 1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 0 + & 0 & 1 & 1 & 0 & 1 + \end{array}\right) + \end{align*} + } + } \end{minipage}% - \begin{minipage}{0.7\textwidth} + \begin{minipage}{0.6\textwidth} \begin{figure}[H] - \newcommand{\preperr}[1]{\gate[style={fill=orange!20}]{##1}} + \newcommand{\preperr}[1]{ + \gate[style={fill=orange!20}]{\scriptstyle ##1} + } \newcommand{\measerr}{\gate[style={fill=blue!20}]{\phantom{1}}} + \newcommand{\noise}{ - \gate[style={noisy}]{\text{\small X}}\setwiretype{n} + \gate[style={noisy}]{\text{\small X}}% + \setwiretype{n}% + \wire[l][1]{q} } \newcommand{\redwire}[1]{ \wire[r][##1][style={draw=red, line width=2pt}]{q} } - \newcommand{\redtarg}{\targ[style={draw=red}]{}\setwiretype{n}} + \newcommand{\redtarg}{ + \targ[style={draw=red}]{}% + \setwiretype{n}% + \wire[l][1]{q} + } \newcommand{\redctrl}[1]{ \ctrl[style={draw=red,fill=red,line width=2pt}]{##1} } + \newcommand{\redmeter}{\meter[style={draw=red,fill=red!20}]{}} \tikzset{ noisy/.style={ @@ -605,192 +839,93 @@ \centering % tex-fmt: off - \begin{quantikz}[row sep=4mm, column sep=4mm, wire types={q,q,q,q,q,n,n}] - & \preperr{\phantom{1}} & \ctrl{3} & & & & \preperr{\phantom{1}} & & \ctrl{5} & & & & & \\ - \lstick{$\ket{\psi}$} & \preperr{\phantom{1}} & & \ctrl{2} & \ctrl{3} & & \preperr{\phantom{1}} & & & \ctrl{4} & \ctrl{5} & & & \\ - & \preperr{\phantom{1}} & & & & \ctrl{2} & \preperr{\phantom{1}} & & & & & \ctrl{4} & & \\ - \lstick{$\ket{0}_{\text{A}_1}$} & & \targ{} & \targ{} & & & & & & & & & \preperr{\phantom{1}} & \meter{} \\ - \lstick{$\ket{0}_{\text{A}_2}$} & & & & \targ{} & \targ{} & & & & & & & \preperr{\phantom{1}} & \meter{} \\ - & & & & & & \lstick{$\ket{0}_{\text{A}_3}$} & \setwiretype{q} & \targ{} & \targ{} & & & \preperr{\phantom{1}} & \meter{} \\ - & & & & & & \lstick{$\ket{0}_{\text{A}_4}$} & \setwiretype{q} & & & \targ{} & \targ{} & \preperr{\phantom{1}} & \meter{} + \begin{quantikz}[row sep=4mm, column sep=4mm, wire types={q,q,q,q,q,n,n,n,n}] + & \preperr{E_0} & \ctrl{3} & & & & \preperr{E_5} & & \ctrl{5} & & & & \preperr{E_{10}} & & \ctrl{7} & & & & & \\ + \lstick{$\ket{\psi}$} & \preperr{E_1} & & \ctrl{2} & \ctrl{3} & & \noise\redwire{13} & & & \redctrl{4} & \redctrl{5} & & \preperr{E_{11}} & & & \redctrl{6} & \redctrl{7} & & & \\ + & \preperr{E_2} & & & & \ctrl{2} & \preperr{E_7} & & & & & \ctrl{4} & \preperr{E_{12}} & & & & & \ctrl{6} & & \\ + \lstick{$\ket{0}_{\text{A}_1}$} & & \targ{} & \targ{} & & & & & & & & & & & & & & & \preperr{E_3} & \meter{} \\ + \lstick{$\ket{0}_{\text{A}_2}$} & & & & \targ{} & \targ{} & & & & & & & & & & & & & \preperr{E_4} & \meter{} \\ + & & & & & & \lstick{$\ket{0}_{\text{A}_3}$} & \setwiretype{q} & \targ{} & \redtarg\redwire{10} & & & & & & & & & \preperr{E_8} & \redmeter \\ + & & & & & & \lstick{$\ket{0}_{\text{A}_4}$} & \setwiretype{q} & & & \redtarg\redwire{9} & \targ{} & & & & & & & \preperr{E_9} & \redmeter \\ + & & & & & & & & & & & & \lstick{$\ket{0}_{\text{A}_5}$} & \setwiretype{q} & \targ{} & \redtarg\redwire{4} & & & \preperr{E_{13}} & \redmeter \\ + & & & & & & & & & & & & \lstick{$\ket{0}_{\text{A}_6}$} & \setwiretype{q} & & & \redtarg\redwire{3} & \targ{} & \preperr{E_{14}} & \redmeter \end{quantikz} % tex-fmt: on \end{figure} \end{minipage} } - \only<4>{ - \begin{minipage}{0.3\textwidth} + + \vspace*{2mm} + + \addreferences + {derks_designing_2025} + \stopreferences +\end{frame} + +% TODO: Journal not showing for derks_designing_2025 +\begin{frame} + \frametitle{The Detector Error Matrix I} + + \vspace*{-17mm} + + \begin{itemize} + \item A detector is a parity constraint on a set of + measurement outcomes \citereference{derks_designing_2025} + \item Each column of the \emph{detector error matrix} $\bm{H}$ + corresponds to a detector pattern an error produces + \item We can mitigate the propagation of errors into + subsequent rounds by XORing the measurements, i.e., + defining detectors appropriately; this is equivalent to + row additions + \end{itemize} + + \begin{minipage}{0.5\textwidth} + \begin{figure}[H] \centering - \begin{align*} - \bm{H} = - \left( - \begin{array}{ccc>{\columncolor{red!20}}c>{\columncolor{gray!20}}c>{\columncolor{gray!20}}c>{\columncolor{gray!20}}c>{\columncolor{gray!20}}c>{\columncolor{gray!20}}c>{\columncolor{gray!20}}c} - 1 & 1 & 0 & 0 & \phantom{0}& \phantom{0}& - \phantom{0}& \phantom{0}& \phantom{0}& \phantom{0} \\ - 0 & 1 & 1 & 0 & \phantom{0}& \phantom{0}& - \phantom{0}& \phantom{0}& \phantom{0}& \phantom{0} \\ - 1 & 1 & 0 & 1 & \phantom{0}& \phantom{0}& - \phantom{0}& \phantom{0}& \phantom{0}& \phantom{0} \\ - 0 & 1 & 1 & 0 & \phantom{0}& \phantom{0}& - \phantom{0}& \phantom{0}& \phantom{0}& \phantom{0} - \end{array}\right) - \end{align*} - \end{minipage}% - \begin{minipage}{0.7\textwidth} - \begin{figure}[H] - \newcommand{\preperr}[1]{\gate[style={fill=orange!20}]{##1}} - \newcommand{\measerr}{\gate[style={fill=blue!20}]{\phantom{1}}} - \newcommand{\noise}{ - \gate[style={noisy}]{\text{\small X}}\setwiretype{n} - } - \newcommand{\redwire}[1]{ - \wire[r][##1][style={draw=red, line width=2pt}]{q} - } - \newcommand{\redtarg}{\targ[style={draw=red}]{}\setwiretype{n}} - \newcommand{\redctrl}[1]{ - \ctrl[style={draw=red,fill=red,line width=2pt}]{##1} - } - \tikzset{ - noisy/.style={ - starburst, - starburst point height=2.5mm, - fill=red!25, draw=red!85!black, - line width=2pt, - inner xsep=-2pt, inner ysep=-2pt - }, - } + % tex-fmt: off + \begin{quantikz}[row sep=4mm, column sep=4mm, wire types={n,n,n,n,n,n}] + & \meter{}\wire[l][1]{q}\wire[r][1]{c} & \setwiretype{c} & & & \ctrl[vertical wire=c]{2} & & \gate{D_1} \\ + & \meter{}\wire[l][1]{q}\wire[r][1]{c} & \setwiretype{c} & & & & \ctrl[vertical wire=c]{2} & \gate{D_2} \\ + & \meter{}\wire[l][1]{q}\wire[r][1]{c} & \setwiretype{c} & \ctrl[vertical wire=c]{2} & & \targ{} & & \gate{D_3} \\ + & \meter{}\wire[l][1]{q}\wire[r][1]{c} & \setwiretype{c} & & \ctrl[vertical wire=c]{2} & & \targ{} & \gate{D_4} \\ + & \meter{}\wire[l][1]{q}\wire[r][1]{c} & \setwiretype{c} & \targ{} & & & & \gate{D_5} \\ + & \meter{}\wire[l][1]{q}\wire[r][1]{c} & \setwiretype{c} & & \targ{} & & & \gate{D_6} + \end{quantikz} + % tex-fmt: on + \end{figure} + \end{minipage}% + \begin{minipage}{0.5\textwidth} + \newcommand\cc{\cellcolor{blue!20}} - \centering + \begin{align*} + \bm{H} = + % tex-fmt: off + \left(\begin{array}{ccccccccccccccc} + 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ + 0 & 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ + \cc{0} & \cc{0} & \cc{0} & \cc{1} & \cc{0} & 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ + \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{1} & 0 & 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ + \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{1} & \cc{0} & 1 & 1 & 0 & 1 & 0 \\ + \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{1} & 0 & 1 & 1 & 0 & 1 + \end{array}\right) + % tex-fmt: on + \end{align*} + \end{minipage} - % tex-fmt: off - \begin{quantikz}[row sep=4mm, column sep=4mm, wire types={q,q,q,q,q,n,n}] - & \preperr{\phantom{1}} & \ctrl{3} & & & & \noise\wire[l][1]{q}\redwire{7} & & \redctrl{5} & & & & & \\ - \lstick{$\ket{\psi}$} & \preperr{\phantom{1}} & & \ctrl{2} & \ctrl{3} & & \preperr{\phantom{1}} & & & \ctrl{4} & \ctrl{5} & & & \\ - & \preperr{\phantom{1}} & & & & \ctrl{2} & \preperr{\phantom{1}} & & & & & \ctrl{4} & & \\ - \lstick{$\ket{0}_{\text{A}_1}$} & & \targ{} & \targ{} & & & & & & & & & \preperr{\phantom{1}} & \meter{} \\ - \lstick{$\ket{0}_{\text{A}_2}$} & & & & \targ{} & \targ{} & & & & & & & \preperr{\phantom{1}} & \meter{} \\ - & & & & & & \lstick{$\ket{0}_{\text{A}_3}$} & \setwiretype{q} & \redtarg\wire[l][1]{q}\redwire{5} & \targ{} & & & \preperr{\phantom{1}} & \meter[style={draw=red,fill=red!20}]{} \\ - & & & & & & \lstick{$\ket{0}_{\text{A}_4}$} & \setwiretype{q} & & & \targ{} & \targ{} & \preperr{\phantom{1}} & \meter{} - \end{quantikz} - % tex-fmt: on - \end{figure} - \end{minipage} - } - \only<5>{ - \begin{minipage}{0.3\textwidth} - \centering - \begin{align*} - \bm{H} = - \left( - \begin{array}{cccc>{\columncolor{red!20}}c>{\columncolor{gray!20}}c>{\columncolor{gray!20}}c>{\columncolor{gray!20}}c>{\columncolor{gray!20}}c>{\columncolor{gray!20}}c} - 1 & 1 & 0 & 0 & 0 & \phantom{0}& \phantom{0}& - \phantom{0}& \phantom{0}& \phantom{0} \\ - 0 & 1 & 1 & 0 & 0 & \phantom{0}& \phantom{0}& - \phantom{0}& \phantom{0}& \phantom{0} \\ - 1 & 1 & 0 & 1 & 1 & \phantom{0}& \phantom{0}& - \phantom{0}& \phantom{0}& \phantom{0} \\ - 0 & 1 & 1 & 0 & 1 & \phantom{0}& \phantom{0}& - \phantom{0}& \phantom{0}& \phantom{0} - \end{array}\right) - \end{align*} - \end{minipage}% - \begin{minipage}{0.7\textwidth} - \begin{figure}[H] - \newcommand{\preperr}[1]{\gate[style={fill=orange!20}]{##1}} - \newcommand{\measerr}{\gate[style={fill=blue!20}]{\phantom{1}}} - \newcommand{\noise}{ - \gate[style={noisy}]{\text{\small X}}\setwiretype{n} - } - \newcommand{\redwire}[1]{ - \wire[r][##1][style={draw=red, line width=2pt}]{q} - } - \newcommand{\redtarg}{\targ[style={draw=red}]{}\setwiretype{n}} - \newcommand{\redctrl}[1]{ - \ctrl[style={draw=red,fill=red,line width=2pt}]{##1} - } + \vspace*{5mm} - \tikzset{ - noisy/.style={ - starburst, - starburst point height=2.5mm, - fill=red!25, draw=red!85!black, - line width=2pt, - inner xsep=-2pt, inner ysep=-2pt - }, - } + \addreferences + {derks_designing_2025} + \stopreferences +\end{frame} - \centering +\begin{frame} + \frametitle{The Detector Error Matrix II} - % tex-fmt: off - \begin{quantikz}[row sep=4mm, column sep=4mm, wire types={q,q,q,q,q,n,n}] - & \preperr{\phantom{1}} & \ctrl{3} & & & & \preperr{\phantom{1}} & & \ctrl{5} & & & & & \\ - \lstick{$\ket{\psi}$} & \preperr{\phantom{1}} & & \ctrl{2} & \ctrl{3} & & \noise\wire[l][1]{q}\redwire{7} & & & \redctrl{4} & \redctrl{5} & & & \\ - & \preperr{\phantom{1}} & & & & \ctrl{2} & \preperr{\phantom{1}} & & & & & \ctrl{4} & & \\ - \lstick{$\ket{0}_{\text{A}_1}$} & & \targ{} & \targ{} & & & & & & & & & \preperr{\phantom{1}} & \meter{} \\ - \lstick{$\ket{0}_{\text{A}_2}$} & & & & \targ{} & \targ{} & & & & & & & \preperr{\phantom{1}} & \meter{} \\ - & & & & & & \lstick{$\ket{0}_{\text{A}_3}$} & \setwiretype{q} & \targ{} & \redtarg\wire[l][1]{q}\redwire{4} & & & \preperr{\phantom{1}} & \meter[style={draw=red,fill=red!20}]{} \\ - & & & & & & \lstick{$\ket{0}_{\text{A}_4}$} & \setwiretype{q} & & & \redtarg\wire[l][1]{q}\redwire{3} & \targ{} & \preperr{\phantom{1}} & \meter[style={draw=red,fill=red!20}]{} - \end{quantikz} - % tex-fmt: on - \end{figure} - \end{minipage} - } - \only<6>{ - \begin{minipage}{0.3\textwidth} - \centering - \begin{align*} - \bm{H} = - \left( - \begin{array}{cccccccccc} - 1 & 1 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ - 0 & 1 & 1 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ - 1 & 1 & 0 & 1 & 1 & 0 & 0 & 0 & 1 & 0 \\ - 0 & 1 & 1 & 0 & 1 & 1 & 0 & 0 & 0 & 1 - \end{array}\right) - \end{align*} - \end{minipage}% - \begin{minipage}{0.7\textwidth} - \begin{figure}[H] - \newcommand{\preperr}[1]{\gate[style={fill=orange!20}]{##1}} - \newcommand{\measerr}{\gate[style={fill=blue!20}]{\phantom{1}}} - \newcommand{\noise}{ - \gate[style={noisy}]{\text{\small X}}\setwiretype{n} - } - \newcommand{\redwire}[1]{ - \wire[r][##1][style={draw=red, line width=2pt}]{q} - } - \newcommand{\redtarg}{\targ[style={draw=red}]{}\setwiretype{n}} - \newcommand{\redctrl}[1]{ - \ctrl[style={draw=red,fill=red,line width=2pt}]{##1} - } - - \tikzset{ - noisy/.style={ - starburst, - starburst point height=2.5mm, - fill=red!25, draw=red!85!black, - line width=2pt, - inner xsep=-2pt, inner ysep=-2pt - }, - } - - \centering - - % tex-fmt: off - \begin{quantikz}[row sep=4mm, column sep=4mm, wire types={q,q,q,q,q,n,n}] - & \preperr{\phantom{1}} & \ctrl{3} & & & & \preperr{\phantom{1}} & & \ctrl{5} & & & & & \\ - \lstick{$\ket{\psi}$} & \preperr{\phantom{1}} & & \ctrl{2} & \ctrl{3} & & \preperr{\phantom{1}} & & & \ctrl{4} & \ctrl{5} & & & \\ - & \preperr{\phantom{1}} & & & & \ctrl{2} & \preperr{\phantom{1}} & & & & & \ctrl{4} & & \\ - \lstick{$\ket{0}_{\text{A}_1}$} & & \targ{} & \targ{} & & & & & & & & & \preperr{\phantom{1}} & \meter{} \\ - \lstick{$\ket{0}_{\text{A}_2}$} & & & & \targ{} & \targ{} & & & & & & & \preperr{\phantom{1}} & \meter{} \\ - & & & & & & \lstick{$\ket{0}_{\text{A}_3}$} & \setwiretype{q} & \targ{} & \targ{} & & & \preperr{\phantom{1}} & \meter{} \\ - & & & & & & \lstick{$\ket{0}_{\text{A}_4}$} & \setwiretype{q} & & & \targ{} & \targ{} & \preperr{\phantom{1}} & \meter{} - \end{quantikz} - % tex-fmt: on - \end{figure} - \end{minipage} - } + \begin{itemize} + \item \red{Highlight SC-LDPC like structure} + \end{itemize} \end{frame} \begin{frame}[fragile] @@ -819,7 +954,8 @@ state preparation} \item \colorbox{red!20}{$n$-qubit X, Y or Z errors after any $n$-qubit gate} - \item \colorbox{blue!20}{X errors on measurement outcomes} + \item \colorbox{blue!20}{X errors on + measurement outcomes} \end{itemize} \end{itemize} \end{minipage}% @@ -854,18 +990,6 @@ \stopreferences \end{frame} -\begin{frame} - \frametitle{Example: 3-Qubit Repetition Code Detector\\ Error - Model for Circuit Level Noise} - - \begin{itemize} - \item New Syndrome Extraction Circuitry \red{Is a - repetition of the old circuitry needed?} - \item New parity check matrix - \item Highlighting of the SC-LDPC-code-like structure - \end{itemize} -\end{frame} - \begin{frame} \frametitle{Challenges}