Skip to content

Commit

Permalink
Deploying to build from @ 8e36f0a 🚀
Browse files Browse the repository at this point in the history
  • Loading branch information
thosgood committed May 30, 2024
1 parent 924da0e commit 8716740
Show file tree
Hide file tree
Showing 15 changed files with 68 additions and 44 deletions.
2 changes: 1 addition & 1 deletion 10.7-simons-algorithm.html
Original file line number Diff line number Diff line change
Expand Up @@ -522,7 +522,7 @@ <h2><span class="header-section-number">10.7</span> Simon’s algorithm<a href="
\end{aligned}
</eq>
where we have used the fact that <eq env="math">(a\oplus s)\cdot y = (a\cdot y)\oplus(s\cdot y)</eq>, and that <eq env="math">1+(-1)^{s\cdot y}</eq> can have only two values: either <eq env="math">2</eq> (when <eq env="math">s\cdot y = 0</eq>) or <eq env="math">0</eq> (when <eq env="math">s\cdot y = 1</eq>).
Now we finally measure the first register: the outcome is selected at random from all possible values of <eq env="math">y</eq> such that <eq env="math">a\cdot y = 0</eq>, each occurring with probability <eq env="math">1/(2^{n-1})</eq>.</p>
Now we finally measure the first register: the outcome is selected at random from all possible values of <eq env="math">y</eq> such that <eq env="math">s\cdot y = 0</eq>, each occurring with probability <eq env="math">1/(2^{n-1})</eq>.</p>
<p>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 (<eq env="math">\ddagger</eq>) as
<eq env="displaymath">
Expand Down
20 changes: 11 additions & 9 deletions 14.11-remarks-and-exercises-error-correction.html
Original file line number Diff line number Diff line change
Expand Up @@ -588,8 +588,7 @@ <h3><span class="header-section-number">14.11.6</span> Using Tanner graphs<a hre
Consider the simpler example below.</p>
<p><img src="qubit_guide_files/figure-html/unnamed-chunk-132-1.png" width="480" style="display: block; margin: auto;" /></p>
<ol start="3" style="list-style-type: decimal">
<li>Prove that these two are equivalent.</li>
<li>Draw the circuit for measuring the parity of <eq env="math">Z</eq> errors.</li>
<li>Draw the circuit<a href="#fn323" class="footnote-ref" id="fnref323"><sup>323</sup></a> for measuring the parity of <eq env="math">Z</eq>-errors.</li>
<li>Draw the Tanner graph for the Shor <eq env="math">[[9,1,3]]</eq> code.</li>
</ol>
</div>
Expand All @@ -607,11 +606,13 @@ <h3><span class="header-section-number">14.11.7</span> Five-qubit repetition cod
<ol style="list-style-type: decimal">
<li>What are the stabilisers of this code?</li>
<li>What is the normaliser of this code?</li>
<li>Which of the following sets of errors satisfy the error correcting conditions for this code?
a. <eq env="math">X_1</eq>, <eq env="math">Z_5</eq>
b. <eq env="math">X_1</eq>, <eq env="math">X_2</eq>, <eq env="math">X_3</eq>, <eq env="math">X_4</eq>
c. <eq env="math">Z_1</eq>, <eq env="math">Z_2</eq>, <eq env="math">Z_3</eq>, <eq env="math">Z_4</eq>
d. <eq env="math">Z_1Z_2</eq>, <eq env="math">Z_2Z_4</eq>, <eq env="math">Z_1Z_4</eq></li>
<li>Which of the following sets of errors satisfy the error correcting conditions for this code? (Recall that the identity <eq env="math">\mathbf{1}</eq> is always implicitly assumed to be inside the set of errors).
<ol style="list-style-type: lower-alpha">
<li><eq env="math">\{X_1, Z_5\}</eq></li>
<li><eq env="math">\{X_1, X_2, X_3, X_4\}</eq></li>
<li><eq env="math">\{Z_1, Z_2, Z_3, Z_4\}</eq></li>
<li><eq env="math">\{Z_1Z_2, Z_2Z_4, Z_1Z_4\}</eq></li>
</ol></li>
</ol>
</div>
<div id="an-error-in-the-steane-713-code" class="section level3 hasAnchor" number="14.11.8">
Expand Down Expand Up @@ -687,7 +688,7 @@ <h3><span class="header-section-number">14.11.13</span> Steane error correction:
<p>Note that, while we are <em>motivated</em> 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 <eq env="math">|\psi\rangle_L</eq>.</p>
<p>As we shall later see, CSS codes all have <strong>transversal</strong> <eq env="math">\texttt{c-NOT}</eq> gates: applying a <eq env="math">\texttt{c-NOT}</eq> to each physical qubit gives exactly the effect of a <eq env="math">\texttt{c-NOT}</eq> on the logical qubit.
In other words, we can implement the logical operator <eq env="math">\texttt{c-NOT}_L</eq> by taking a tensor product of usual controlled-<eq env="math">\texttt{NOT}</eq> gates.
What this means for us right now is that, at the logical level, we can consider circuits such as<a href="#fn323" class="footnote-ref" id="fnref323"><sup>323</sup></a></p>
What this means for us right now is that, at the logical level, we can consider circuits such as<a href="#fn324" class="footnote-ref" id="fnref324"><sup>324</sup></a></p>
<p><img src="qubit_guide_files/figure-html/unnamed-chunk-133-1.png" width="384" style="display: block; margin: auto;" /></p>
<ol style="list-style-type: decimal">
<li>Verify that the above circuits do indeed have the claimed outputs.</li>
Expand Down Expand Up @@ -724,7 +725,8 @@ <h3><span class="header-section-number">14.11.13</span> Steane error correction:
<ol start="321">
<li id="fn321"><p>Note that this code is <em>not</em> a CSS code! To prove this, we could use theorems about <strong>transversal gates</strong>. The smallest CSS code with <eq env="math">d=3</eq> is described in Exercise <a href="14.11-remarks-and-exercises-error-correction.html#smallest-d-3-css-code">14.11.10</a>.<a href="14.11-remarks-and-exercises-error-correction.html#fnref321" class="footnote-back">↩︎</a></p></li>
<li id="fn322"><p>Here we are tacitly assuming that the code is <strong>non-degenerate</strong> (see Exercise <a href="14.11-remarks-and-exercises-error-correction.html#non-degenerate-codes">14.11.9</a>).<a href="14.11-remarks-and-exercises-error-correction.html#fnref322" class="footnote-back">↩︎</a></p></li>
<li id="fn323"><p>We are assuming the availability of the logical states <eq env="math">|0\rangle_L</eq> and <eq env="math">|+\rangle_L</eq>, but <strong>state preparation</strong> is another challenge that we will eventually have to deal with!<a href="14.11-remarks-and-exercises-error-correction.html#fnref323" class="footnote-back">↩︎</a></p></li>
<li id="fn323"><p><em>Hint: you know what the circuit for <eq env="math">X</eq>-parity checks looks like, so do the standard thing and swap every <eq env="math">X</eq> for <eq env="math">Z</eq> (and vice versa), transform anything in the <eq env="math">Z</eq>-basis to the <eq env="math">X</eq>-basis (and vice versa), and then check if the resulting circuit can be simplified by cancelling out any gates; don’t forget that a <eq env="math">\texttt{c-NOT}</eq> is secretly a <eq env="math">\texttt{c-}X</eq>!</em><a href="14.11-remarks-and-exercises-error-correction.html#fnref323" class="footnote-back">↩︎</a></p></li>
<li id="fn324"><p>We are assuming the availability of the logical states <eq env="math">|0\rangle_L</eq> and <eq env="math">|+\rangle_L</eq>, but <strong>state preparation</strong> is another challenge that we will eventually have to deal with!<a href="14.11-remarks-and-exercises-error-correction.html#fnref324" class="footnote-back">↩︎</a></p></li>
</ol>
</div>
<!-- KaTeX for maths rendering -->
Expand Down
8 changes: 4 additions & 4 deletions 14.6-logical-operators-differently.html
Original file line number Diff line number Diff line change
Expand Up @@ -465,12 +465,12 @@ <h2><span class="header-section-number">14.6</span> Logical operators (a differe
\coloneqq
\begin{cases}
0
&amp;P \text{ and } \sigma \text{ commute}
&amp;\text{if } P \text{ and } \sigma \text{ commute}
\\1
&amp;P \text{ and } \sigma \text{ anticommute}
&amp;\text{if } P \text{ and } \sigma \text{ anticommute}
\end{cases}
</eq>
for any Pauli operator <eq env="math">P</eq> and any other operator <eq env="math">\sigma</eq>.
for any Pauli operators <eq env="math">P,\sigma</eq>.
A particularly nice thing about this choice of definition (as opposed to taking <eq env="math">c(P,\sigma)\in\{\pm1\}</eq>, say) is that we can write
<eq env="displaymath">
P\sigma
Expand Down Expand Up @@ -555,7 +555,7 @@ <h2><span class="header-section-number">14.6</span> Logical operators (a differe
</div>
<p>We emphasise out one final important point before returning to the example of the three-qubit repetition code.</p>
<div class="idea">
<p>While we <em>can</em> measure the <em>error</em> syndrome (all the stabilisers commute), we <em>cannot</em> measure the <em>logical</em> syndrome (not all the logical operators commute).
<p>While we <em>can</em> measure the <em>error</em> syndrome (since all the stabilisers commute), we <em>cannot</em> measure the <em>logical</em> 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!</p>
</div>
<p>So, back to the example of the three-qubit code from Section <a href="13.1-three-qubit-code.html#three-qubit-code">13.1</a>.<a href="#fn304" class="footnote-ref" id="fnref304"><sup>304</sup></a>
Expand Down
7 changes: 5 additions & 2 deletions 14.7-error-correcting-conditions.html
Original file line number Diff line number Diff line change
Expand Up @@ -560,13 +560,16 @@ <h2><span class="header-section-number">14.7</span> Error-correcting conditions<
<p>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 <a href="14.11-remarks-and-exercises-error-correction.html#error-correcting-conditions-algebraically">14.11.12</a>.</p>
<div class="idea">
<p>Let <eq env="math">\mathcal{E}\subseteq\mathcal{P}_n</eq> be a set of physical errors.
<p>Let <eq env="math">\mathcal{E}\subseteq\mathcal{P}_n</eq> be a set of physical errors <em>such that <eq env="math">\mathbf{1}\in\mathcal{E}</eq></em>.
Then the stabiliser code defined by <eq env="math">\mathcal{S}</eq> can perfectly correct for all errors in <eq env="math">\mathcal{E}</eq> if and only if
<eq env="displaymath">
E_1^\dagger E_2
\in N(\mathcal{S})\setminus\mathcal{S}
\not\in N(\mathcal{S})\setminus\mathcal{S}
</eq>
for all <eq env="math">E_1,E_2\in\mathcal{E}</eq>.</p>
<p>Sometimes we might not specify that <eq env="math">\mathbf{1}\in\mathcal{E}</eq>, but this is always meant to be assumed.
In other words, the error correction scenario specified by <eq env="math">\mathcal{E}</eq> is the following: <em>any one single operator in <eq env="math">\mathcal{E}</eq> could affect our state, or no error at all could happen</em>.
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 <eq env="math">\mathcal{E}</eq> with the group that it generates.</p>
</div>
<p>You might notice that we’ve been sometimes been saying “<em>perfectly</em> 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.</p>
Expand Down
2 changes: 1 addition & 1 deletion 3.6-some-quantum-dynamics.html
Original file line number Diff line number Diff line change
Expand Up @@ -500,7 +500,7 @@ <h2><span class="header-section-number">3.6</span> Some quantum dynamics<a href=
But in SI units, <eq env="math">2\pi\hbar</eq> is <em>exactly</em><a href="#fn81" class="footnote-ref" id="fnref81"><sup>81</sup></a> equal to <eq env="math">6.62607015\times10^{-34}</eq> joules per hertz.</p>
<p>As a historical note, Planck’s constant <eq env="math">\hbar</eq> 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 <a href="https://en.wikipedia.org/wiki/Louis_de_Broglie">de Broglie</a> postulated that the ratio between the momentum and quantum wavelength of <em>any</em> particle would be <eq env="math">2\pi\hbar</eq>.
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 <strong>quanta</strong> (whence the name quantum physics!), which we now call electrons.<a href="#fn82" class="footnote-ref" id="fnref82"><sup>82</sup></a>
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 <strong>quanta</strong> (whence the name quantum physics!), which we now call photons.<a href="#fn82" class="footnote-ref" id="fnref82"><sup>82</sup></a>
We will see the Planck constant turn up again when we talk about <strong>uncertainty principles</strong> in Section <a href="4.6-compatible-observables-and-uncertainty.html#compatible-observables-and-uncertainty">4.6</a>.</p>
<p>Back to quantum dynamics.
For <strong>time-independent</strong> Hamiltonians <eq env="math">\hat{H}(t)=\hat{H}</eq>, the formal solution of the Schrödinger equation is given by
Expand Down
5 changes: 4 additions & 1 deletion 9.5-stinesprings-dilation-and-krauss-ambiguity.html
Original file line number Diff line number Diff line change
Expand Up @@ -543,7 +543,7 @@ <h2><span class="header-section-number">9.5</span> 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 <em>not</em> unique, since the Kraus operators <eq env="math">E_i</eq> depend on the choice of basis in the ancilla.</p>
</div>
<p>These two representations are equivalent, and we can easily switch between them:</p>
<p>These two representations — Stinespring and Kraus — are equivalent, and we can easily switch between them:</p>
<ul>
<li>We have already seen how to go from a unitary evolution <eq env="math">U</eq> on a larger system to an isometry <eq env="math">V</eq>, and then to a map on density operators represented by a set of Kraus operators <eq env="math">E_i</eq> (as in Figure <a href="9.5-stinesprings-dilation-and-krauss-ambiguity.html#fig:unitary-isometry">9.1</a>).</li>
<li>Conversely, once we have an operator-sum representation of the channel with a set of Kraus operators <eq env="math">E_i</eq>, we can introduce an ancilla of dimension equal to the number of Kraus operators, and use the orthonormal basis <eq env="math">|i\rangle</eq> to form the isometry <eq env="math">V=\sum_i|i\rangle\otimes E_i</eq>.
Expand All @@ -553,6 +553,9 @@ <h2><span class="header-section-number">9.5</span> Stinespring’s dilation and
<div class="idea">
<p>All linear transformations of density operators that can be written in Stinespring (or, equivalently, Kraus) form represent <em>physically realisable operations</em> — we call them <strong>quantum channels</strong>, or <strong>superoperators</strong> (since they send operators to operators).</p>
</div>
<p>The Stinespring form is conceptually very nice — “everything is unitary, and if it isn’t, you’re just not looking at the big picture” — but the Kraus form tends to be very useful computationally, since it doesn’t require bringing in ancillary data.
One useful analogy for understanding the completeness relation <eq env="math">\sum_{i=1}^n E_i^\dagger E_i=\mathbf{1}</eq> for Kraus operators is how a density operator <eq env="math">\rho</eq>, written in its spectral decomposition as <eq env="math">\sum_{i=1}^n\lambda_i|i\rangle\langle i|</eq>, reduces to a pure state in the case where <eq env="math">n=1</eq>; in the same way, the completeness relation for Kraus operators reduces to asking that <eq env="math">E_1</eq> be unitary in the case where <eq env="math">n=1</eq>.
In other words, <em>Kraus operators generalise unitaries in exactly the same way that density operators generalise state vectors</em>.</p>
<p>We note again that the Kraus decomposition is <em>not unique</em>: the operators <eq env="math">E_i</eq> depend on the choice of the ancilla basis.
Indeed, let <eq env="math">|e_i\rangle</eq> and <eq env="math">|f_j\rangle</eq> be two orthonormal bases in the Hilbert space associated with the ancilla.
Then <eq env="math">V</eq> can be expressed as
Expand Down
2 changes: 1 addition & 1 deletion acknowledgements.html
Original file line number Diff line number Diff line change
Expand Up @@ -457,7 +457,7 @@ <h1>
<section class="normal" id="section-">
<div id="acknowledgements" class="section level2 unnumbered hasAnchor">
<h2>Acknowledgements<a href="acknowledgements.html#acknowledgements" class="anchor-section" aria-label="Anchor link to header"></a></h2>
<p>We thank the following for their helpful comments and corrections, as well as for catching typos: Zhenyu Cai, Jedrzej Burkat, Maryam Khaqan, Rolando Reiner, Jan Baltussen, Linus Kelsey, Edgardo Deza, Elizabeth Ealing, L.L. Salcedo, Giuseppe Bisicchia, Tom Scruby.
<p>We thank the following for their helpful comments and corrections, as well as for catching typos: Zhenyu Cai, Jedrzej Burkat, Maryam Khaqan, Rolando Reiner, Jan Baltussen, Linus Kelsey, Edgardo Deza, Elizabeth Ealing, L.L. Salcedo, Giuseppe Bisicchia, Tom Scruby, Marcello Terra Cunha, Orla Supple, Ali Al-Ali, Garen-Ohan Gregorian.
We also appreciate the work of Yihui Xie in developing the <a href="https://bookdown.org/yihui/bookdown/">Bookdown package</a> with which this e-book was built.</p>
<p>The creation and hosting of the online book was made possible by the <a href="https://cqt.quantumlah.org/">Centre for Quantum Technologies</a>, the <a href="https://www.maths.ox.ac.uk/">University of Oxford Mathematical Institute</a>, and the <a href="https://www.oist.jp/">Okinawa Institute of Science and Technology</a>.</p>
<p><img src="images/sponsors.png" width="90%" style="display: block; margin: auto;" /></p>
Expand Down
1 change: 1 addition & 0 deletions further-reading.html
Original file line number Diff line number Diff line change
Expand Up @@ -803,6 +803,7 @@ <h1><strong>Appendix:</strong> Further topics and selected reading<a href="furth






<!-- KaTeX for maths rendering -->
Expand Down
4 changes: 2 additions & 2 deletions how-to-cite-this-book.html
Original file line number Diff line number Diff line change
Expand Up @@ -462,14 +462,14 @@ <h2>How to cite this book<a href="how-to-cite-this-book.html#how-to-cite-this-bo
author = {Ekert, A and Hosgood, T and Kay, A and Macchiavello, C}
title = {{Introduction to Quantum Information Science}}
url = {https://qubit.guide}
date = {2024-05-07}
date = {2024-05-30}
}</code></pre>
<p>BibTeX:</p>
<pre><code>@misc{qubitguide
author = {Ekert, A and Hosgood, T and Kay, A and Macchiavello, C}
title = {{Introduction to Quantum Information Science}}
howpublished = {\url{https://qubit.guide}}
date = {2024-05-07}
date = {2024-05-30}
}</code></pre>
</div>
<!-- KaTeX for maths rendering -->
Expand Down
2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -458,7 +458,7 @@ <h1>
<div id="header">
<h1 class="title">Introduction to Quantum Information Science</h1>
<p class="author"><em><a href="https://www.arturekert.org/">Artur Ekert</a>, <a href="https://thosgood.com">Timothy Hosgood</a>, <a href="http://www.ma.rhul.ac.uk/akay/">Alastair Kay</a>, <a href="https://fisica.unipv.it/personale/Persona.php?ID=55">Chiara Macchiavello</a></em></p>
<p class="date"><em>Last updated: 07 May 2024</em></p>
<p class="date"><em>Last updated: 30 May 2024</em></p>
</div>
<div id="introduction" class="section level1 unnumbered hasAnchor">
<h1>Introduction<a href="index.html#introduction" class="anchor-section" aria-label="Anchor link to header"></a></h1>
Expand Down
Binary file modified qubit_guide.pdf
Binary file not shown.
Loading

0 comments on commit 8716740

Please sign in to comment.