diff options
Diffstat (limited to 'source/know/concept/repetition-code')
-rw-r--r-- | source/know/concept/repetition-code/bit-flip-detect.avif | bin | 0 -> 4353 bytes | |||
-rw-r--r-- | source/know/concept/repetition-code/bit-flip-encode.avif | bin | 0 -> 2298 bytes | |||
-rw-r--r-- | source/know/concept/repetition-code/index.md | 103 | ||||
-rw-r--r-- | source/know/concept/repetition-code/phase-flip-detect.avif | bin | 0 -> 5468 bytes | |||
-rw-r--r-- | source/know/concept/repetition-code/phase-flip-encode.avif | bin | 0 -> 2788 bytes | |||
-rw-r--r-- | source/know/concept/repetition-code/shor-code-encode.avif | bin | 0 -> 4738 bytes |
6 files changed, 63 insertions, 40 deletions
diff --git a/source/know/concept/repetition-code/bit-flip-detect.avif b/source/know/concept/repetition-code/bit-flip-detect.avif Binary files differnew file mode 100644 index 0000000..83d509a --- /dev/null +++ b/source/know/concept/repetition-code/bit-flip-detect.avif diff --git a/source/know/concept/repetition-code/bit-flip-encode.avif b/source/know/concept/repetition-code/bit-flip-encode.avif Binary files differnew file mode 100644 index 0000000..37bc495 --- /dev/null +++ b/source/know/concept/repetition-code/bit-flip-encode.avif diff --git a/source/know/concept/repetition-code/index.md b/source/know/concept/repetition-code/index.md index 99ac630..678211e 100644 --- a/source/know/concept/repetition-code/index.md +++ b/source/know/concept/repetition-code/index.md @@ -27,6 +27,7 @@ albeit with some complications, as discussed below. + ## Bit flip code Suppose that we want to detect errors in @@ -76,9 +77,7 @@ $$\begin{aligned} Such a transformation is easy to achieve with the following sequence of [quantum gates](/know/concept/quantum-gate/): -<a href="bit-flip-encode.png"> -<img src="bit-flip-encode.png" style="width:32%"> -</a> +{% include image.html file="bit-flip-encode.png" width="32%" alt="Bit flip code encoder" %} So, a little while after encoding the state $$\Ket{\psi}$$ like that, a bit flip occurs on the 2nd qubit: @@ -166,31 +165,61 @@ But by using both, we know exactly which qubit was flipped thanks to the eigenvalues: <table style="width:30%;margin:auto;text-align:center;"> - <tr> - <th>Error</th> - <th>$$ZZI$$</th> - <th>$$IZZ$$</th> - </tr> - <tr> - <td>$$I$$</td> - <td>$$+1$$</td> - <td>$$+1$$</td> - </tr> - <tr> - <td>$$X_1$$</td> - <td>$$-1$$</td> - <td>$$+1$$</td> - </tr> - <tr> - <td>$$X_2$$</td> - <td>$$-1$$</td> - <td>$$-1$$</td> - </tr> - <tr> - <td>$$X_1$$</td> - <td>$$+1$$</td> - <td>$$-1$$</td> - </tr> +<tr> + <th> + Error + </th> + <th markdown="1"> + $$ZZI$$ + </th> + <th markdown="1"> + $$IZZ$$ + </th> +</tr> +<tr> + <td markdown="1"> + $$I$$ + </td> + <td markdown="1"> + $$+1$$ + </td> + <td markdown="1"> + $$+1$$ + </td> +</tr> +<tr> + <td markdown="1"> + $$X_1$$ + </td> + <td markdown="1"> + $$-1$$ + </td> + <td markdown="1"> + $$+1$$ + </td> +</tr> +<tr> + <td markdown="1"> + $$X_2$$ + </td> + <td markdown="1"> + $$-1$$ + </td> + <td markdown="1"> + $$-1$$ + </td> +</tr> +<tr> + <td markdown="1"> + $$X_1$$ + </td> + <td markdown="1"> + $$+1$$ + </td> + <td markdown="1"> + $$-1$$ + </td> +</tr> </table> Where e.g. $$X_3$$ denotes that the 3rd qubit was flipped. @@ -202,9 +231,7 @@ without affecting $$\ket{\overline{\psi}}$$ itself, by applying $$\mathrm{CNOT}$$s to some ancillary qubits and then measuring those: -<a href="bit-flip-detect.png"> -<img src="bit-flip-detect.png" style="width:62%"> -</a> +{% include image.html file="bit-flip-detect.png" width="62%" alt="Bit flip code decoder" %} The two measurements, respectively representing $$ZZI$$ and $$IZZ$$, yield $$\Ket{1}$$ if a bit flip definitely occurred, @@ -213,6 +240,7 @@ There is no entanglement, so the input is untouched. + ## Phase flip code The above system protects us against all single-qubit bit flips. @@ -254,23 +282,20 @@ $$\begin{aligned} = \alpha \Ket{+\!+\!+} + \beta \Ket{-\!-\!-} \end{aligned}$$ -<a href="phase-flip-encode.png"> -<img src="phase-flip-encode.png" style="width:40%"> -</a> +{% include image.html file="phase-flip-encode.png" width="40%" alt="Phase flip code encoder" %} A phase flip along the $$Z$$-axis corresponds to a bit flip along the $$X$$-axis $$\Ket{+} \to \Ket{-}$$. In this case, the stabilizers are $$XXI$$ and $$IXX$$, and the error detection circuit is as follows: -<a href="phase-flip-detect.png"> -<img src="phase-flip-detect.png" style="width:70%"> -</a> +{% include image.html file="phase-flip-detect.png" width="70%" alt="Phase flip code decoder" %} This system protects us against all single-qubit phase flips, but not against bit flips. + ## Shor code What kind of repetition code would we need @@ -307,9 +332,7 @@ This encoding is achieved by the following quantum circuit, which simply consists of the phase flip encoder, followed by 3 copies of the bit flip encoder: -<a href="shor-code-encode.png"> -<img src="shor-code-encode.png" style="width:55%"> -</a> +{% include image.html file="shor-code-encode.png" width="55%" alt="Shor code encoder" %} We thus use 9 physical qubits to store 1 logical qubit. Fortunately, more efficient schemes exist. diff --git a/source/know/concept/repetition-code/phase-flip-detect.avif b/source/know/concept/repetition-code/phase-flip-detect.avif Binary files differnew file mode 100644 index 0000000..b69044b --- /dev/null +++ b/source/know/concept/repetition-code/phase-flip-detect.avif diff --git a/source/know/concept/repetition-code/phase-flip-encode.avif b/source/know/concept/repetition-code/phase-flip-encode.avif Binary files differnew file mode 100644 index 0000000..bdefddd --- /dev/null +++ b/source/know/concept/repetition-code/phase-flip-encode.avif diff --git a/source/know/concept/repetition-code/shor-code-encode.avif b/source/know/concept/repetition-code/shor-code-encode.avif Binary files differnew file mode 100644 index 0000000..37be14a --- /dev/null +++ b/source/know/concept/repetition-code/shor-code-encode.avif |