From 8716740a57b1b63a2346ed7af89d8012c9a9c8b8 Mon Sep 17 00:00:00 2001 From: thosgood Date: Thu, 30 May 2024 12:13:53 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20build=20from=20=20@=208e36f0a7?= =?UTF-8?q?14f84f9bbb47028c757ecc219f3ec2fb=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 10.7-simons-algorithm.html | 2 +- ...emarks-and-exercises-error-correction.html | 20 +++--- 14.6-logical-operators-differently.html | 8 +-- 14.7-error-correcting-conditions.html | 7 ++- 3.6-some-quantum-dynamics.html | 2 +- ...springs-dilation-and-krauss-ambiguity.html | 5 +- acknowledgements.html | 2 +- further-reading.html | 1 + how-to-cite-this-book.html | 4 +- index.html | 2 +- qubit_guide.pdf | Bin 8230243 -> 8230899 bytes qubit_guide.tex | 57 +++++++++++------- qubit_guide_b5.pdf | Bin 8279992 -> 8283754 bytes .../figure-html/unnamed-chunk-71-1.png | Bin 4077 -> 3991 bytes search_index.json | 2 +- 15 files changed, 68 insertions(+), 44 deletions(-) diff --git a/10.7-simons-algorithm.html b/10.7-simons-algorithm.html index 992d530b..2a68ccb0 100644 --- a/10.7-simons-algorithm.html +++ b/10.7-simons-algorithm.html @@ -522,7 +522,7 @@

10.7 Simon’s algorithm(a\oplus s)\cdot y = (a\cdot y)\oplus(s\cdot y), and that 1+(-1)^{s\cdot y} can have only two values: either 2 (when s\cdot y = 0) or 0 (when s\cdot y = 1). -Now we finally measure the first register: the outcome is selected at random from all possible values of y such that a\cdot y = 0, each occurring with probability 1/(2^{n-1}).

+Now we finally measure the first register: the outcome is selected at random from all possible values of y such that s\cdot y = 0, each occurring with probability 1/(2^{n-1}).

In fact, we did not have to measure the second register at all: it was a mathematical shortcut, simply taken for pedagogical purposes. Instead of collapsing the state to just one term in a superposition, we can express Equation (\ddagger) as diff --git a/14.11-remarks-and-exercises-error-correction.html b/14.11-remarks-and-exercises-error-correction.html index 304a870f..5bb11e50 100644 --- a/14.11-remarks-and-exercises-error-correction.html +++ b/14.11-remarks-and-exercises-error-correction.html @@ -588,8 +588,7 @@

14.11.6 Using Tanner graphs

    -
  1. Prove that these two are equivalent.
  2. -
  3. Draw the circuit for measuring the parity of Z errors.
  4. +
  5. Draw the circuit323 for measuring the parity of Z-errors.
  6. Draw the Tanner graph for the Shor [[9,1,3]] code.
@@ -607,11 +606,13 @@

14.11.7 Five-qubit repetition cod
  1. What are the stabilisers of this code?
  2. What is the normaliser of this code?
  3. -
  4. Which of the following sets of errors satisfy the error correcting conditions for this code? -a. X_1, Z_5 -b. X_1, X_2, X_3, X_4 -c. Z_1, Z_2, Z_3, Z_4 -d. Z_1Z_2, Z_2Z_4, Z_1Z_4
  5. +
  6. Which of the following sets of errors satisfy the error correcting conditions for this code? (Recall that the identity \mathbf{1} is always implicitly assumed to be inside the set of errors). +
      +
    1. \{X_1, Z_5\}
    2. +
    3. \{X_1, X_2, X_3, X_4\}
    4. +
    5. \{Z_1, Z_2, Z_3, Z_4\}
    6. +
    7. \{Z_1Z_2, Z_2Z_4, Z_1Z_4\}
    8. +
@@ -687,7 +688,7 @@

14.11.13 Steane error correction:

Note that, while we are motivated by the possibility of there being faults during the error correction, for now we will still assume that the error-correction process proceeds perfectly, and we are only trying to identify and fix errors on the incoming (logical) state |\psi\rangle_L.

As we shall later see, CSS codes all have transversal \texttt{c-NOT} gates: applying a \texttt{c-NOT} to each physical qubit gives exactly the effect of a \texttt{c-NOT} on the logical qubit. In other words, we can implement the logical operator \texttt{c-NOT}_L by taking a tensor product of usual controlled-\texttt{NOT} gates. -What this means for us right now is that, at the logical level, we can consider circuits such as323

+What this means for us right now is that, at the logical level, we can consider circuits such as324

  1. Verify that the above circuits do indeed have the claimed outputs.
  2. @@ -724,7 +725,8 @@

    14.11.13 Steane error correction:
    1. Note that this code is not a CSS code! To prove this, we could use theorems about transversal gates. The smallest CSS code with d=3 is described in Exercise 14.11.10.↩︎

    2. Here we are tacitly assuming that the code is non-degenerate (see Exercise 14.11.9).↩︎

    3. -
    4. We are assuming the availability of the logical states |0\rangle_L and |+\rangle_L, but state preparation is another challenge that we will eventually have to deal with!↩︎

    5. +
    6. Hint: you know what the circuit for X-parity checks looks like, so do the standard thing and swap every X for Z (and vice versa), transform anything in the Z-basis to the X-basis (and vice versa), and then check if the resulting circuit can be simplified by cancelling out any gates; don’t forget that a \texttt{c-NOT} is secretly a \texttt{c-}X!↩︎

    7. +
    8. We are assuming the availability of the logical states |0\rangle_L and |+\rangle_L, but state preparation is another challenge that we will eventually have to deal with!↩︎

diff --git a/14.6-logical-operators-differently.html b/14.6-logical-operators-differently.html index a172400d..c368e0b7 100644 --- a/14.6-logical-operators-differently.html +++ b/14.6-logical-operators-differently.html @@ -465,12 +465,12 @@

14.6 Logical operators (a differe \coloneqq \begin{cases} 0 - &P \text{ and } \sigma \text{ commute} + &\text{if } P \text{ and } \sigma \text{ commute} \\1 - &P \text{ and } \sigma \text{ anticommute} + &\text{if } P \text{ and } \sigma \text{ anticommute} \end{cases} -for any Pauli operator P and any other operator \sigma. +for any Pauli operators P,\sigma. A particularly nice thing about this choice of definition (as opposed to taking c(P,\sigma)\in\{\pm1\}, say) is that we can write P\sigma @@ -555,7 +555,7 @@

14.6 Logical operators (a differe

We emphasise out one final important point before returning to the example of the three-qubit repetition code.

-

While we can measure the error syndrome (all the stabilisers commute), we cannot measure the logical syndrome (not all the logical operators commute). +

While we can measure the error syndrome (since all the stabilisers commute), we cannot measure the logical syndrome (since not all the logical operators commute). Indeed, we must not even try — measuring just one such value is equivalent to performing a measurement of the logical qubit, destroying the superposition of the very state with which we’re trying to compute!

So, back to the example of the three-qubit code from Section 13.1.304 diff --git a/14.7-error-correcting-conditions.html b/14.7-error-correcting-conditions.html index bc751bae..7a5acee9 100644 --- a/14.7-error-correcting-conditions.html +++ b/14.7-error-correcting-conditions.html @@ -560,13 +560,16 @@

14.7 Error-correcting conditions<

Of course, we can state these conditions without making reference to the dot-error diagrams, instead using the same mathematical objects that we’ve been using all along. Proving the following version of the statement is the content of Exercise 14.11.12.

-

Let \mathcal{E}\subseteq\mathcal{P}_n be a set of physical errors. +

Let \mathcal{E}\subseteq\mathcal{P}_n be a set of physical errors such that \mathbf{1}\in\mathcal{E}. Then the stabiliser code defined by \mathcal{S} can perfectly correct for all errors in \mathcal{E} if and only if E_1^\dagger E_2 - \in N(\mathcal{S})\setminus\mathcal{S} + \not\in N(\mathcal{S})\setminus\mathcal{S} for all E_1,E_2\in\mathcal{E}.

+

Sometimes we might not specify that \mathbf{1}\in\mathcal{E}, but this is always meant to be assumed. +In other words, the error correction scenario specified by \mathcal{E} is the following: any one single operator in \mathcal{E} could affect our state, or no error at all could happen. +In particular, we are not considering that multiple errors could happen; if we want to allow for this, then we should do something like replace \mathcal{E} with the group that it generates.

You might notice that we’ve been sometimes been saying “perfectly correctable” instead of just “correctable”. This is because there might be scenarios where we are happy with being able to correct errors not perfectly, but instead merely with some high probability.

diff --git a/3.6-some-quantum-dynamics.html b/3.6-some-quantum-dynamics.html index 85fd488b..e9ac3e24 100644 --- a/3.6-some-quantum-dynamics.html +++ b/3.6-some-quantum-dynamics.html @@ -500,7 +500,7 @@

3.6 Some quantum dynamics2\pi\hbar is exactly81 equal to 6.62607015\times10^{-34} joules per hertz.

As a historical note, Planck’s constant \hbar has its roots right in the very birth of quantum physics, since it shows up in the equation for the energy of a photon. More generally, in 1923 de Broglie postulated that the ratio between the momentum and quantum wavelength of any particle would be 2\pi\hbar. -Even before this, it turned up in 1905 when Einstein stated his support for Planck’s idea that light is not just a wave, but simultaneously consists of tiny packets of energy, called quanta (whence the name quantum physics!), which we now call electrons.82 +Even before this, it turned up in 1905 when Einstein stated his support for Planck’s idea that light is not just a wave, but simultaneously consists of tiny packets of energy, called quanta (whence the name quantum physics!), which we now call photons.82 We will see the Planck constant turn up again when we talk about uncertainty principles in Section 4.6.

Back to quantum dynamics. For time-independent Hamiltonians \hat{H}(t)=\hat{H}, the formal solution of the Schrödinger equation is given by diff --git a/9.5-stinesprings-dilation-and-krauss-ambiguity.html b/9.5-stinesprings-dilation-and-krauss-ambiguity.html index 0ea05b7d..412070ca 100644 --- a/9.5-stinesprings-dilation-and-krauss-ambiguity.html +++ b/9.5-stinesprings-dilation-and-krauss-ambiguity.html @@ -543,7 +543,7 @@

9.5 Stinespring’s dilation and Here we avoid dragging in the ancilla, which can be a good thing, since ancillas typically represent environments that can be very large and complex. Note that this operator–sum decomposition is not unique, since the Kraus operators E_i depend on the choice of basis in the ancilla.

-

These two representations are equivalent, and we can easily switch between them:

+

These two representations — Stinespring and Kraus — are equivalent, and we can easily switch between them: