Rework detector matrix and detector error matrix sections
This commit is contained in:
@@ -312,7 +312,7 @@ the decoding process.
|
|||||||
The core idea behind detector error models is to do this by defining
|
The core idea behind detector error models is to do this by defining
|
||||||
a new \emph{circuit code} that describes the circuit.
|
a new \emph{circuit code} that describes the circuit.
|
||||||
Each \ac{vn} of this new code corresponds to an error location in the
|
Each \ac{vn} of this new code corresponds to an error location in the
|
||||||
circuit and each \ac{cn} corresponds to a to a syndrome measurement.
|
circuit and each \ac{cn} corresponds to a syndrome measurement.
|
||||||
% This circuit code, combined with the prior probabilities of error
|
% This circuit code, combined with the prior probabilities of error
|
||||||
% given by the noise model, incorporates all information necessary for decoding.
|
% given by the noise model, incorporates all information necessary for decoding.
|
||||||
|
|
||||||
@@ -508,7 +508,8 @@ arriving at the circuit depicted in
|
|||||||
\autoref{fig:rep_code_multiple_rounds_phenomenological}.
|
\autoref{fig:rep_code_multiple_rounds_phenomenological}.
|
||||||
For each additional error location, we extend $\bm{\Omega}$ by
|
For each additional error location, we extend $\bm{\Omega}$ by
|
||||||
appending the corresponding syndrome vector as a column.
|
appending the corresponding syndrome vector as a column.
|
||||||
\begin{gather*}
|
\begin{gather}
|
||||||
|
\label{eq:syndrome_matrix_ex}
|
||||||
\bm{\Omega} =
|
\bm{\Omega} =
|
||||||
\left(
|
\left(
|
||||||
\begin{array}{ccccccccccccccc}
|
\begin{array}{ccccccccccccccc}
|
||||||
@@ -534,11 +535,21 @@ appending the corresponding syndrome vector as a column.
|
|||||||
\end{array}
|
\end{array}
|
||||||
}
|
}
|
||||||
}_\text{Original matrix}
|
}_\text{Original matrix}
|
||||||
\end{gather*}
|
\end{gather}
|
||||||
Notice that the first three columns correspond to the original
|
Notice that the first three columns correspond to the original
|
||||||
measurement syndrome matrix, as these columns correspond to the error
|
measurement syndrome matrix, as these columns correspond to the error
|
||||||
locations on the data qubits.
|
locations on the data qubits.
|
||||||
|
|
||||||
|
In this example, all measurements we considered were syndrome measurements.
|
||||||
|
Assuming no errors, the results of those measurements were
|
||||||
|
deterministic, irrespective of the actual logical state
|
||||||
|
$\ket{\psi}_\text{L}$, as they only depend on whether
|
||||||
|
$\ket{\psi}_\text{L} \in \mathcal{C}$, not on the concrete state.
|
||||||
|
It is, in general, possible to also consider non-deterministic measurements.
|
||||||
|
As an example, it is usual to consider a round of noiseless
|
||||||
|
measurements of the actual data qubit states after the last syndrome
|
||||||
|
extraction round.
|
||||||
|
|
||||||
\begin{figure}[t]
|
\begin{figure}[t]
|
||||||
\centering
|
\centering
|
||||||
|
|
||||||
@@ -745,22 +756,21 @@ locations on the data qubits.
|
|||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%
|
||||||
\subsection{Detector Error Matrix}
|
\subsection{Detector Matrix}
|
||||||
\label{subsec:Detector Error Matrix}
|
\label{subsec:Detector Matrix}
|
||||||
|
|
||||||
% Core idea
|
% Core idea
|
||||||
|
|
||||||
% TODO: Make this a proper definition?
|
Instead of using stabilizer measurement results directly, we
|
||||||
Instead of using the measurements as parity indicators directly, we
|
generalize the notion of what constitutes a parity check slightly.
|
||||||
may wish to combine them in some way.
|
We formally define a \emph{detector} as a deterministic parity constraint on
|
||||||
We call such combinations \emph{detectors}.
|
a set of measurement outcomes \cite[Def.~2.1]{derks_designing_2025}.
|
||||||
Formally, a detector is a parity constraint on a set of measurement
|
In the most straight forward case, we may simply use the stabilizer
|
||||||
outcomes \cite[Def.~2.1]{derks_designing_2025}.
|
measurements as detectors.
|
||||||
Changing the perspective in this way does not alter the theoretical
|
We immediately recognize that we will have as many linearly
|
||||||
error correcting capabilities of the circuit, but it may change the
|
independent detectors as there are separate deterministic measurements.
|
||||||
decoding performance when using a practical decoder.
|
We generally aim to utilize the maximum number of linearly
|
||||||
\red{[Possibly a few more words on this (maybe a mathematical
|
independent detectors \cite[Sec.~2.2]{derks_designing_2025}.
|
||||||
proof/intuition?)]}
|
|
||||||
|
|
||||||
% The detector matrix
|
% The detector matrix
|
||||||
|
|
||||||
@@ -768,21 +778,36 @@ proof/intuition?)]}
|
|||||||
We describe the relationship between measurements and detectors using
|
We describe the relationship between measurements and detectors using
|
||||||
the \emph{detector matrix} $\bm{D} \in \mathbb{F}_2^{d\times m}$
|
the \emph{detector matrix} $\bm{D} \in \mathbb{F}_2^{d\times m}$
|
||||||
\cite[Def.~2.2]{derks_designing_2025}.
|
\cite[Def.~2.2]{derks_designing_2025}.
|
||||||
Similar to the way a \ac{pcm} connects bits with parity checks, the
|
Similar to the way a \ac{pcm} associates bits with parity checks, the
|
||||||
detector matrix links measurements and detectors.
|
detector matrix links measurements and detectors.
|
||||||
Each column corresponds to a measurement, while the rows correspond
|
Each column corresponds to a measurement, while each rows corresponds
|
||||||
to the detectors.
|
to a detector.
|
||||||
We should note at this point that the combination of measurements
|
We should note at this point that the combination of measurements
|
||||||
into detectors has no bearing on the actual construction of the
|
into detectors has no bearing on the actual construction of the
|
||||||
syndrome extraction circuitry.
|
syndrome extraction circuitry.
|
||||||
It is something that happens ``virtually'' after the fact and only
|
It is something that happens ``virtually'' after the fact and only
|
||||||
affects the decoder.
|
affects the decoder.
|
||||||
|
|
||||||
|
Note that we can use the detector matrix $\bm{D}$ to describe the set
|
||||||
|
of possible measurement outcomes under the absence of noise.
|
||||||
|
The same way we use a \ac{pcm} to describe the code space as
|
||||||
|
\begin{align*}
|
||||||
|
\mathcal{C}
|
||||||
|
= \{ \bm{x} \in \mathbb{F}_2^{n} : \bm{H}\bm{x}^\text{T} = \bm{0} \}
|
||||||
|
,%
|
||||||
|
\end{align*}
|
||||||
|
the set of possible measurement outcomes is simply $\text{kern}\{\bm{D}\}$
|
||||||
|
\cite[Sec.~2.2]{derks_designing_2025}.
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%
|
||||||
|
\subsection{Detector Error Matrix}
|
||||||
|
\label{subsec:Detector Error Matrix}
|
||||||
|
|
||||||
% The detector error matrix
|
% The detector error matrix
|
||||||
|
|
||||||
We now know how the errors at different locations in the circuit
|
We now know how the errors at different locations in the circuit
|
||||||
affect the measurements ($\bm{\Omega}$), and we know how the
|
affect the measurements (through $\bm{\Omega}$), and we know how the
|
||||||
measurements relate to the detectors ($\bm{D}$).
|
measurements relate to the detectors (through $\bm{D}$).
|
||||||
For decoding, we are interested in the effect of the errors on the
|
For decoding, we are interested in the effect of the errors on the
|
||||||
detectors directly.
|
detectors directly.
|
||||||
We thus construct the \emph{detector error matrix} $\bm{H} \in
|
We thus construct the \emph{detector error matrix} $\bm{H} \in
|
||||||
@@ -791,25 +816,58 @@ We thus construct the \emph{detector error matrix} $\bm{H} \in
|
|||||||
\bm{H} := \bm{D}\bm{\Omega}
|
\bm{H} := \bm{D}\bm{\Omega}
|
||||||
.%
|
.%
|
||||||
\end{align*}
|
\end{align*}
|
||||||
Note that, in particular when $d=m$, this is equivalent to performing row
|
|
||||||
additions on the matrix $\bm{\Omega}$.
|
% There are multiple ways of choosing the detectors
|
||||||
|
|
||||||
|
There is a degree of freedom in how we choose the detectors, which is
|
||||||
|
reflected in the fact that we can construct multiple different
|
||||||
|
detector matrices $\bm{D}$ from the same circuit.
|
||||||
|
For two detector matrices $\bm{D}_1$ and $\bm{D}_2$, as long as
|
||||||
|
\begin{gather}
|
||||||
|
\label{eq:kern_condition}
|
||||||
|
\text{kern}\{\bm{D}_1\} = \text{kern}\{\bm{D}_2\}
|
||||||
|
\end{gather}
|
||||||
|
they describe the same set of possible measurement outcomes (under
|
||||||
|
the absence of noise) and thus the same circuit.
|
||||||
|
In fact, as long as \autoref{eq:kern_condition} holds, the detector
|
||||||
|
error matrices we construct from them can distinguish between the
|
||||||
|
same pairs of error sets \cite[Lemma~6]{derks_designing_2025}.
|
||||||
|
To see this, we note that we can distinguish between two circuit
|
||||||
|
error vectors $\bm{e}_1$ and $\bm{e}_2$ as long as they do not
|
||||||
|
violate the same set of detectors, i.e.,
|
||||||
|
\begin{align*}
|
||||||
|
\hspace{-15mm}
|
||||||
|
% tex-fmt: off
|
||||||
|
&& \bm{H} \bm{e}_1^\text{T} & \neq \bm{H} \bm{e}_2^\text{T} \\
|
||||||
|
\iff \hspace{-33mm} && \bm{H} \left( \bm{e}_1 - \bm{e}_2 \right)^\text{T} & \neq 0 \\
|
||||||
|
\iff \hspace{-33mm} && \bm{D} \bm{\Omega} \left( \bm{e}_1 - \bm{e}_2 \right)^\text{T} & \neq 0 \\
|
||||||
|
\iff \hspace{-33mm} && \bm{\Omega} \left( \bm{e}_1 - \bm{e}_2 \right)^\text{T} & \notin \text{kern} \{\bm{D}\}
|
||||||
|
% tex-fmt: on
|
||||||
|
.%
|
||||||
|
\end{align*}
|
||||||
|
We conclude that altering our perspective by choosing a different
|
||||||
|
detector matrix
|
||||||
|
does not modify the error correcting capabilities of the code.
|
||||||
|
It may, however, change the decoding performance when using a practical decoder.
|
||||||
|
|
||||||
% How to choose the detectors
|
% How to choose the detectors
|
||||||
|
|
||||||
% TODO: Fix notation (n used for both number of measurements and
|
% TODO: Fix notation (n used for both number of measurements and
|
||||||
% measurements themselves)
|
% measurements themselves)
|
||||||
% TODO: Properly define the ranges i and r belong to
|
% TODO: Properly define the ranges i and r belong to
|
||||||
We still have a degree of freedom in how we choose the detectors.
|
What constitutes a good set of detectors is difficult to assess
|
||||||
\red{[No way to automate this, NP-complete problem to find detectors
|
without performing explicit decoding simulations, since it ultimately
|
||||||
which yield highest sparity]}
|
depends on the decoder employed.
|
||||||
|
For iterative decoders, high sparsity is generally beneficial, but
|
||||||
|
finding detectors that maximize sparsity is an NP-complete problem
|
||||||
|
\cite[Sec.~2.6]{derks_designing_2025}.
|
||||||
There is, however, one way of defining the detectors that will prove useful
|
There is, however, one way of defining the detectors that will prove useful
|
||||||
at a later stage.
|
at a later stage.
|
||||||
To the measurement results from each syndrome extraction round, we
|
To the measurement results from each syndrome extraction round we
|
||||||
can add the results from the previous round, as illustrated in
|
can add the results from the previous round, as illustrated in
|
||||||
\autoref{fig:detectors_from_measurements_general}.
|
\autoref{fig:detectors_from_measurements_general}.
|
||||||
Concretely, we denote the outcome of the
|
Concretely, we denote the outcome of the
|
||||||
$i$-th syndrome measurement in round $r$ by $m_i^{(r)} \in \mathbb{F}_2$
|
$i$-th measurement in round $r$ by $m_i^{(r)} \in \mathbb{F}_2$ and define
|
||||||
and define
|
|
||||||
\begin{gather*}
|
\begin{gather*}
|
||||||
\bm{m}^{(r)} :=
|
\bm{m}^{(r)} :=
|
||||||
\begin{pmatrix}
|
\begin{pmatrix}
|
||||||
@@ -832,50 +890,8 @@ $d_i^{(r)} \in \mathbb{F}_2$ and define
|
|||||||
:= \bm{m}^{(r)} + \bm{m}^{(r-1)}
|
:= \bm{m}^{(r)} + \bm{m}^{(r-1)}
|
||||||
,%
|
,%
|
||||||
\end{gather}
|
\end{gather}
|
||||||
where $\bm{m}^{(0)} = \bm{0}$.
|
with $\bm{m}^{(0)} = \bm{0}$.
|
||||||
|
|
||||||
We again turn our attention to the three-qubit repetition code.
|
|
||||||
In \autoref{fig:rep_code_multiple_rounds_phenomenological} we can see
|
|
||||||
that $E_6$ has occurred and has subsequently tripped the last four measurements.
|
|
||||||
We now take those measurements and combine them according to
|
|
||||||
\autoref{eq:measurement_combination}.
|
|
||||||
We can see this process graphically in
|
|
||||||
\autoref{fig:detectors_from_measurements_rep_code}.
|
|
||||||
To understand why this way of defining the detectors is useful, we
|
|
||||||
note that the error $E_6$ in
|
|
||||||
\autoref{fig:rep_code_multiple_rounds_phenomenological} has not only
|
|
||||||
tripped the measurements in the syndrome extraction round immediately
|
|
||||||
afterwards, but all subsequent ones as well.
|
|
||||||
To only see errors in the rounds immediately following them, we
|
|
||||||
consider our newly defined detectors instead of the measurements,
|
|
||||||
that effectively compute the difference between the measurements.
|
|
||||||
|
|
||||||
Each error can only trip syndrome bits that follow it.
|
|
||||||
We can see this in the triangular structure of $\bm{\Omega}$ in
|
|
||||||
\autoref{fig:rep_code_multiple_rounds_phenomenological}.
|
|
||||||
Combining the measurements into detectors according to
|
|
||||||
\autoref{eq:measurement_combination}, we are performing row additions
|
|
||||||
in such a way as to clear the bottom left of the matrix.
|
|
||||||
This yields a block-diagonal structure for the detector error matrix
|
|
||||||
$\bm{H}$, as in the example in
|
|
||||||
\autoref{fig:detectors_from_measurements_rep_code}.
|
|
||||||
\begin{align*}
|
|
||||||
\bm{H} =
|
|
||||||
\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 \\
|
|
||||||
0 & 0 & 0 & 1 & 0 & 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\
|
|
||||||
0 & 0 & 0 & 0 & 1 & 0 & 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\
|
|
||||||
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 1 & 1 & 0 & 1 & 0 \\
|
|
||||||
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 1 & 1 & 0 & 1
|
|
||||||
\end{array}
|
|
||||||
\right)
|
|
||||||
\end{align*}
|
|
||||||
Note that we exploit the fact that each syndrome measurement round is
|
|
||||||
identical to obtain this structure.
|
|
||||||
|
|
||||||
% TODO: Change notation (\bm{D})
|
|
||||||
\begin{figure}[t]
|
\begin{figure}[t]
|
||||||
\centering
|
\centering
|
||||||
|
|
||||||
@@ -901,6 +917,46 @@ identical to obtain this structure.
|
|||||||
\label{fig:detectors_from_measurements_general}
|
\label{fig:detectors_from_measurements_general}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
|
We again turn our attention to the three-qubit repetition code.
|
||||||
|
In \autoref{fig:rep_code_multiple_rounds_phenomenological} we can see
|
||||||
|
that $E_6$ has occurred and has subsequently tripped the last four measurements.
|
||||||
|
We now take those measurements and combine them according to
|
||||||
|
\autoref{eq:measurement_combination}.
|
||||||
|
We can see this process graphically in
|
||||||
|
\autoref{fig:detectors_from_measurements_rep_code}.
|
||||||
|
To understand why this way of defining the detectors is useful, we
|
||||||
|
note that the error $E_6$ in
|
||||||
|
\autoref{fig:rep_code_multiple_rounds_phenomenological} has not only
|
||||||
|
tripped the measurements in the syndrome extraction round immediately
|
||||||
|
afterwards, but all subsequent ones as well.
|
||||||
|
To only see errors in the rounds immediately following them, we
|
||||||
|
consider our newly defined detectors instead of the measurements,
|
||||||
|
that effectively compute the difference between the measurements.
|
||||||
|
|
||||||
|
Each error can only trip syndrome bits that follow it.
|
||||||
|
This is reflected in the triangular structure of $\bm{\Omega}$ in
|
||||||
|
\autoref{eq:syndrome_matrix_ex}.
|
||||||
|
Combining the measurements into detectors according to
|
||||||
|
\autoref{eq:measurement_combination}, we are effectively performing
|
||||||
|
row additions in such a way as to clear the bottom left of the matrix.
|
||||||
|
The detector error matrix
|
||||||
|
\begin{align*}
|
||||||
|
\bm{H} =
|
||||||
|
\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 \\
|
||||||
|
0 & 0 & 0 & 1 & 0 & 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\
|
||||||
|
0 & 0 & 0 & 0 & 1 & 0 & 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\
|
||||||
|
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 1 & 1 & 0 & 1 & 0 \\
|
||||||
|
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 1 & 1 & 0 & 1
|
||||||
|
\end{array}
|
||||||
|
\right)
|
||||||
|
\end{align*}
|
||||||
|
we obtain this way has a block-diagonal structure.
|
||||||
|
Note that we exploit the fact that each syndrome measurement round is
|
||||||
|
identical to obtain this structure.
|
||||||
|
|
||||||
\begin{figure}[t]
|
\begin{figure}[t]
|
||||||
\centering
|
\centering
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user