The Temple of Quantum Computing
The Temple of Quantum Computing
by Riley T. Perry
Version 1.1 - April 29, 2006
Contents
Acknowledgements vii
The Website and Contact Details viii
1 Introduction 1
1.1 What is Quantum Computing? . . . . . . . . . . . . . . . . . . . . 1
1.2 Why Another Quantum Computing Tutorial? . . . . . . . . . . . . 2
1.2.1 The Bible of Quantum Computing . . . . . . . . . . . . . . 2
2 Computer Science 3
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3 Turing Machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3.1 Binary Numbers and Formal Languages . . . . . . . . . . 6
2.3.2 Turing Machines in Action . . . . . . . . . . . . . . . . . . 10
2.3.3 The Universal Turing Machine . . . . . . . . . . . . . . . . 11
2.3.4 The Halting Problem . . . . . . . . . . . . . . . . . . . . . . 12
2.4 Circuits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4.1 Common Gates . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4.2 Combinations of Gates . . . . . . . . . . . . . . . . . . . . . 17
2.4.3 Relevant Properties . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.4 Universality . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.5 Computational Resources and Efciency . . . . . . . . . . . . . . . 18
2.5.1 Quantifying Computational Resources . . . . . . . . . . . 20
2.5.2 Standard Complexity Classes . . . . . . . . . . . . . . . . . 22
2.5.3 The Strong Church-Turing Thesis . . . . . . . . . . . . . . . 23
2.5.4 Quantum Turing Machines . . . . . . . . . . . . . . . . . . 25
2.6 Energy and Computation . . . . . . . . . . . . . . . . . . . . . . . 26
i
ii CONTENTS
2.6.1 Reversibility . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.6.2 Irreversibility . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.6.3 Landauers Principle . . . . . . . . . . . . . . . . . . . . . . 26
2.6.4 Maxwells Demon . . . . . . . . . . . . . . . . . . . . . . . 27
2.6.5 Reversible Computation . . . . . . . . . . . . . . . . . . . . 28
2.6.6 Reversible Gates . . . . . . . . . . . . . . . . . . . . . . . . 29
2.6.7 Reversible Circuits . . . . . . . . . . . . . . . . . . . . . . . 31
2.7 Articial Intelligence . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.7.1 The Chinese Room . . . . . . . . . . . . . . . . . . . . . . . 32
2.7.2 Quantum Computers and Intelligence . . . . . . . . . . . . 33
3 Mathematics for Quantum Computing 35
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2 Polynomials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3 Logical Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.4 Trigonometry Review . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.4.1 Right Angled Triangles . . . . . . . . . . . . . . . . . . . . 37
3.4.2 Converting Between Degrees and Radians . . . . . . . . . 38
3.4.3 Inverses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.4.4 Angles in Other Quadrants . . . . . . . . . . . . . . . . . . 38
3.4.5 Visualisations and Identities . . . . . . . . . . . . . . . . . . 39
3.5 Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.6 Complex Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.6.1 Polar Coordinates and Complex Conjugates . . . . . . . . 42
3.6.2 Rationalising and Dividing . . . . . . . . . . . . . . . . . . 44
3.6.3 Exponential Form . . . . . . . . . . . . . . . . . . . . . . . . 45
3.7 Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.7.1 Matrix Operations . . . . . . . . . . . . . . . . . . . . . . . 47
3.8 Vectors and Vector Spaces . . . . . . . . . . . . . . . . . . . . . . . 51
3.8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.8.2 Column Notation . . . . . . . . . . . . . . . . . . . . . . . . 54
3.8.3 The Zero Vector . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.8.4 Properties of Vectors in C
n
. . . . . . . . . . . . . . . . . . . 55
3.8.5 The Dual Vector . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.8.6 Linear Combinations . . . . . . . . . . . . . . . . . . . . . . 56
3.8.7 Linear Independence . . . . . . . . . . . . . . . . . . . . . . 57
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
CONTENTS iii
3.8.8 Spanning Set . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.8.9 Basis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.8.10 Probability Amplitudes . . . . . . . . . . . . . . . . . . . . 58
3.8.11 The Inner Product . . . . . . . . . . . . . . . . . . . . . . . 59
3.8.12 Orthogonality . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.8.13 The Unit Vector . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.8.14 Bases for C
n
. . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.8.15 The Gram Schmidt Method . . . . . . . . . . . . . . . . . . 64
3.8.16 Linear Operators . . . . . . . . . . . . . . . . . . . . . . . . 64
3.8.17 Outer Products and Projectors . . . . . . . . . . . . . . . . 65
3.8.18 The Adjoint . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.8.19 Eigenvalues and Eigenvectors . . . . . . . . . . . . . . . . 70
3.8.20 Trace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.8.21 Normal Operators . . . . . . . . . . . . . . . . . . . . . . . 73
3.8.22 Unitary Operators . . . . . . . . . . . . . . . . . . . . . . . 73
3.8.23 Hermitian and Positive Operators . . . . . . . . . . . . . . 76
3.8.24 Diagonalisable Matrix . . . . . . . . . . . . . . . . . . . . . 76
3.8.25 The Commutator and Anti-Commutator . . . . . . . . . . 77
3.8.26 Polar Decomposition . . . . . . . . . . . . . . . . . . . . . . 78
3.8.27 Spectral Decomposition . . . . . . . . . . . . . . . . . . . . 79
3.8.28 Tensor Products . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.9 Fourier Transforms . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.9.1 The Fourier Series . . . . . . . . . . . . . . . . . . . . . . . 82
3.9.2 The Discrete Fourier Transform . . . . . . . . . . . . . . . . 85
4 Quantum Mechanics 89
4.1 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.1.1 Classical Physics . . . . . . . . . . . . . . . . . . . . . . . . 90
4.1.2 Important Concepts . . . . . . . . . . . . . . . . . . . . . . 91
4.1.3 Statistical Mechanics . . . . . . . . . . . . . . . . . . . . . . 93
4.1.4 Important Experiments . . . . . . . . . . . . . . . . . . . . 94
4.1.5 The Photoelectric Effect . . . . . . . . . . . . . . . . . . . . 96
4.1.6 Bright Line Spectra . . . . . . . . . . . . . . . . . . . . . . . 97
4.1.7 Proto Quantum Mechanics . . . . . . . . . . . . . . . . . . 98
4.1.8 The New Theory of Quantum Mechanics . . . . . . . . . . 103
4.2 Important Principles for Quantum Computing . . . . . . . . . . . 106
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
iv CONTENTS
4.2.1 Linear Algebra . . . . . . . . . . . . . . . . . . . . . . . . . 107
4.2.2 Superposition . . . . . . . . . . . . . . . . . . . . . . . . . . 107
4.2.3 Dirac Notation . . . . . . . . . . . . . . . . . . . . . . . . . 108
4.2.4 Representing Information . . . . . . . . . . . . . . . . . . . 110
4.2.5 Uncertainty . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
4.2.6 Entanglement . . . . . . . . . . . . . . . . . . . . . . . . . . 111
4.2.7 The Four Postulates of Quantum Mechanics . . . . . . . . 112
5 Quantum Computing 113
5.1 Elements of Quantum Computing . . . . . . . . . . . . . . . . . . 113
5.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.1.2 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.1.3 Bits and Qubits . . . . . . . . . . . . . . . . . . . . . . . . . 114
5.1.4 Entangled States . . . . . . . . . . . . . . . . . . . . . . . . 127
5.1.5 Quantum Circuits . . . . . . . . . . . . . . . . . . . . . . . . 129
5.2 Important Properties of Quantum Circuits . . . . . . . . . . . . . . 142
5.2.1 Common Circuits . . . . . . . . . . . . . . . . . . . . . . . . 142
5.3 The Reality of Building Circuits . . . . . . . . . . . . . . . . . . . . 148
5.3.1 Building a Programmable Quantum Computer . . . . . . . 148
5.4 The Four Postulates of Quantum Mechanics . . . . . . . . . . . . . 149
5.4.1 Postulate One . . . . . . . . . . . . . . . . . . . . . . . . . . 149
5.4.2 Postulate Two . . . . . . . . . . . . . . . . . . . . . . . . . . 149
5.4.3 Postulate Three . . . . . . . . . . . . . . . . . . . . . . . . . 150
5.4.4 Postulate Four . . . . . . . . . . . . . . . . . . . . . . . . . . 153
6 Information Theory 155
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
6.2 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
6.3 Shannons Communication Model . . . . . . . . . . . . . . . . . . 156
6.3.1 Channel Capacity . . . . . . . . . . . . . . . . . . . . . . . . 157
6.4 Classical Information Sources . . . . . . . . . . . . . . . . . . . . . 158
6.4.1 Independent Information Sources . . . . . . . . . . . . . . 158
6.5 Classical Redundancy and Compression . . . . . . . . . . . . . . . 160
6.5.1 Shannons Noiseless Coding Theorem . . . . . . . . . . . . 161
6.5.2 Quantum Information Sources . . . . . . . . . . . . . . . . 163
6.5.3 Pure and Mixed States . . . . . . . . . . . . . . . . . . . . . 163
6.5.4 Schumachers Quantum Noiseless Coding Theorem . . . . 164
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
CONTENTS v
6.6 Noise and Error Correction . . . . . . . . . . . . . . . . . . . . . . 171
6.6.1 Quantum Noise . . . . . . . . . . . . . . . . . . . . . . . . . 172
6.6.2 Quantum Error Correction . . . . . . . . . . . . . . . . . . 173
6.7 Bell States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
6.7.1 Same Measurement Direction . . . . . . . . . . . . . . . . . 179
6.7.2 Different Measurement Directions . . . . . . . . . . . . . . 180
6.7.3 Bells Inequality . . . . . . . . . . . . . . . . . . . . . . . . . 181
6.8 Cryptology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
6.8.1 Classical Cryptography . . . . . . . . . . . . . . . . . . . . 186
6.8.2 Quantum Cryptography . . . . . . . . . . . . . . . . . . . . 187
6.8.3 Are we Essentially Information? . . . . . . . . . . . . . . . 191
6.9 Alternative Models of Computation . . . . . . . . . . . . . . . . . 191
7 Quantum Algorithms 193
7.0.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
7.1 Deutschs Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 194
7.1.1 The Problem Dened . . . . . . . . . . . . . . . . . . . . . . 194
7.1.2 The Classical Solution . . . . . . . . . . . . . . . . . . . . . 194
7.1.3 The Quantum Solution . . . . . . . . . . . . . . . . . . . . . 195
7.1.4 Physical Implementations . . . . . . . . . . . . . . . . . . . 197
7.2 The Deutsch-Josza Algorithm . . . . . . . . . . . . . . . . . . . . . 198
7.2.1 The Problem Dened . . . . . . . . . . . . . . . . . . . . . . 198
7.2.2 The Quantum Solution . . . . . . . . . . . . . . . . . . . . . 199
7.3 Shors Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
7.3.1 The Quantum Fourier Transform . . . . . . . . . . . . . . . 200
7.3.2 Fast Factorisation . . . . . . . . . . . . . . . . . . . . . . . . 205
7.3.3 Order Finding . . . . . . . . . . . . . . . . . . . . . . . . . . 206
7.4 Grovers Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
7.4.1 The Travelling Salesman Problem . . . . . . . . . . . . . . 212
7.4.2 Quantum Searching . . . . . . . . . . . . . . . . . . . . . . 212
8 Using Quantum Mechanical Devices 217
8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
8.2 Physical Realisation . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
8.2.1 Implementation Technologies . . . . . . . . . . . . . . . . . 219
8.3 Quantum Computer Languages . . . . . . . . . . . . . . . . . . . . 220
8.4 Encryption Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
vi CONTENTS
A Complexity Classes 223
A.1 Classical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
A.2 Quantum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Bibliography 227
Index 235
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Acknowledgements
I would like to thank the following people:
Brian Lederer, my supervisor, who always provided detailed answers to my
questions. Brian is directly responsible for some parts of this text. He wrote the
section on Bell states, some parts of the chapter on quantum mechanics, and
a substantial amount of the other chapters. Without his help this work would
never have been completed.
Waranyoo Pulsawat, my dear girlfriend. Waranyoo has been a constant source
of support, companionship, and inspiration.
Most of the credit for the corrections and improved content in version 1.1 goes
to Andreas Gunnarsson. Andreas attention to detail is astonishing. Simply put,
this version would not have been possible without him. So a big thanks to An-
dreas, to whom this version is dedicated.
A special thanks to Xerxes R anby. Xerxes had some valuable comments about
version 1.0 and found a number of errors. Ive also had great fun discussing a
variety of different eclectic topics with him via email.
Carlos Gon calves who has kindly offered to translate version 1.1 into Portuguese.
All the members of the QC4Dummies Yahoo group (http://groups.yahoo.
com/group/QC4dummies/) and administrators David Morris and David Rick-
man.
Sean Kaye and Micheal Nielson for mentioning version 1.0 in their blogs.
The people at Slashdot (http://slashdot.org/) and QubitNews (http://
quantum.fis.ucm.es/) for posting version 1.0 for review.
James Hari, and Slashdotters AC, Birdie 1013, and s/nemesis.
Also, thanks to all of the readers. Let the proofreading continue!
The Website and Contact Details
The Temple of Quantum Computing (TOQC) Website is available at:
http://www.toqc.com/ .
You can check the site for any updates, TOQC news, my current contact de-
tails, and a bunch of useful links.
Finally, a shameless plug for the company I work for.
Distributed Development specialises in .Net development, B2B and A2A in-
tegration, and Visual Studio Team System. Visit our site at:
http://www.disdev.com/ .
Chapter 1
Introduction
1.1 What is Quantum Computing?
In quantum computers we exploit quantum effects to compute in ways that are
faster or more efcient than, or even impossible, on conventional computers.
Quantumcomputers use a specic physical implementation to gain a computa-
tional advantage over conventional computers. Properties called superposition
and entanglement may, in some cases, allow an exponential amount of paral-
lelism. Also, special purpose machines like quantum cryptographic devices
use entanglement and other peculiarities like quantum uncertainty.
Quantum computing combines quantum mechanics, information theory, and
aspects of computer science [Nielsen, M. A. & Chuang, I. L. 2000]. The eld
is a relatively new one that promises secure data transfer, dramatic computing
speed increases, and may take component miniaturisation to its fundamental
limit.
This text describes some of the introductory aspects of quantum computing.
Well examine some basic quantum mechanics, elementary quantum comput-
ing topics like qubits, quantum algorithms, physical realisations of those algo-
rithms, basic concepts from computer science (like complexity theory, Turing
machines, and linear algebra), information theory, and more.
1
2 Why Another Quantum Computing Tutorial?
1.2 Why Another Quantum Computing Tutorial?
Most of the books or papers on quantum computing require (or assume) prior
knowledge of certain areas like linear algebra or physics. The majority of the
literature that is currently available is hard to understand for the average com-
puter enthusiast, or interested layman. This text attempts to teach basic quan-
tum computing from the ground up in an easily readable way. It contains a lot
of the background in math, physics, and computer science that you will need,
although it is assumed that you know a little about computer programming.
At certain places in this document, topics that could make interesting research
topics have been identied. These topics are presented in the following format:
Question The topic is presented in bold-italics.
1.2.1 The Bible of Quantum Computing
Every Temple needs a Bible right? Well there is one book out there that is by far
the most complete book available for quantum computing, Quantum Computa-
tion and QuantumInformation by Michael A. Nielsen and Isaac L. Chuang, which
well abbreviate to QCQI. The main references for this work are QCQI and a
great set of lecture notes, also written by Nielsen. Nielsens lecture notes are
currently available at http://www.qinfo.org/people/nielsen/qicss.
html. An honourable mention goes out to Vadim V. Bulitko who has man-
aged to condense a large part of QCQI into 14 pages! His paper, entitled On
Quantum Computing and AI (Notes for a Graduate Class) is available at www.cs.
ualberta.ca/
bulitko/qc/schedule/qcss-notes.pdf.
QCQI may be a little hard to get into at rst, particularly for those without
a strong background in math. So the Temple of Quantum Computing is, in
part, a collection of worked examples from various web sites, sets of lecture
notes, journal entries, papers, and books which may aid in understanding of
some of the concepts in QCQI.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Chapter 2
Computer Science
2.1 Introduction
The special properties of quantum computers force us to rethink some of the
most fundamental aspects of computer science. In this chapter well see how
quantum effects can give us a new kind of Turing machine, new kinds of cir-
cuits, and new kinds of complexity classes. This is important as it was thought
that these things were not affected by what the computer was built from, but it
turns out that they are.
A distinction has been made between computer science and information the-
ory. Although information theory can be seen as a part of computer science it
is treated separately in this text with its own dedicated chapter. This is because
The quantum aspects of information theory require some of the concepts intro-
duced in the chapters that follow this one.
Theres also a little math and notation used in this chapter which is presented
in the rst few sections of chapter 3 and some basic C and javascript code for
which you may need an external reference.
2.2 History
The origins of computer science can at least be traced back to the invention of
algorithms like Euclids Algorithm (c. 300 BC) for nding the greatest com-
mon divisor of two numbers. There are also much older sources like early
3
4 History
Figure 2.1: Charles Babbage and Ada Byron.
Babylonian cuneiform tablets (c. 2000 - 1700 BC) that contain clear evidence of
algorithmic processes [Gilleland M. ? 2000]. But up until the 19th century its
difcult to separate computer science fromother sciences like mathematics and
engineering. So we might say that computer science began in the 19th century.
In the early to mid 19th century Charles Babbage, 1791 - 1871 (gure 2.1) de-
signed and partially built several programmable computing machines (see g-
ure 2.4 for the difference engine built in 1822) that had many of the features of
modern computers. One of these machines called the analytical engine had re-
movable programs on punch cards based on those used in the Jacquard loom,
which was invented by Joseph Marie Jacquard (1752 - 1834) in 1804 [Smithso-
nian NMAH1999]. Babbages friend, Ada Augusta King, Countess of Lovelace,
1815 - 1852 (gure 2.1) and the daughter of Lord Byron is considered by some
as the rst programmer for her writings on the Analytical engine. Sadly, Bab-
bages work was largely forgotten until the 1930s and the advent of modern
computer science. Modern computer science can be said to have started in
1936 when logician Alan Turing, 1912 - 1954 (gure 2.2) wrote a paper which
contained the notion of a universal computer.
The rst electronic computers were developed in the 1940s and led Jon Von
Neumann, 1903 - 1957 (gure 2.3) to develop a generic architecture on which
modern computers are loosely based. Von Neumann architecture species an
Arithmetic Logic Unit (ALU), control unit, memory, input/output (IO), a bus,
and a computing process. The architecture originated in 1945 in the rst draft
of a report on EDVAC [Cabrera, B. J. ? 2000].
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
History 5
Figure 2.2: Alan Turing and Alonzo Church.
Figure 2.3: Jon Von Neumann.
Computers increased in power and versatility rapidly over the next sixty years,
partly due to the development of the transistor in 1947, integrated circuits
in 1959, and increasingly intuitive user interfaces. Gordon Moore proposed
Moores law in 1965, the current version of which states that processor com-
plexity will double every eighteen months with respect to cost (in reality its
more like two years) [wikipedia.org 2006]. This law still holds but is starting
to falter, and components are getting smaller. Soon they will be so small, being
made up of a few atoms [Benjamin, S. & Ekert, A. ? 2000] that quantum effects
will become unavoidable, possibly ending Moores law.
There are ways in which we can use quantum effects to our advantage in a
classical sense, but by fully utilising those effects we can achieve much more.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
6 Turing Machines
This approach is the basis for quantum computing.
2.3 Turing Machines
In 1928 David Hilbert, 1862 - 1943 (gure 2.5) asked if there was a universal
algorithmic process to decide whether any mathematical proposition was true.
His intuition suggested yes, then, in 1930 he went as far as claiming that
there were no unsolvable problems in mathematics [Natural Theology 2004].
This was promptly refuted by Kurt G odel, 1908 - 1976 (gure 2.5) in 1931 by
way of his incompleteness theorem which can be roughly summed up as follows:
You might be able to prove every conceivable statement about num-
bers within a system by going outside the system in order to come
up with new rules and axioms, but by doing so youll only create a
larger systemwith its own unprovable statements. [Jones, J. Wilson,
W. 1995, p. ?]
Then, in 1936 Alan Turing and Alonzo Church, 1903 - 1995 (gure 2.2) indepen-
dently came up with models of computation, aimed at resolving whether or
not mathematics contained problems that were uncomputable. These were
problems for which there were no algorithmic solutions (an algorithm is a pro-
cedure for solving a mathematical problem that is guaranteed to end after a
number of steps). Turings model, now called a called a Turing Machine (TM) is
depicted in gure 2.6. It turned out that the models of Turing and Church were
equivalent in power. The thesis that any algorithm capable of being devised
can be run on a Turing machine, as Turings model was subsequently called,
was given the names of both these pioneers, the Church-Turing thesis [Nielsen,
M. A. 2002].
2.3.1 Binary Numbers and Formal Languages
Before dening a Turing machine we need to say something about binary num-
bers, since this is usually (although not conned to) the format in which data is
presented to a Turing machine (see the tape is gure 2.6).
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Turing Machines 7
Figure 2.4: Babbages difference engine.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
8 Turing Machines
Figure 2.5: David Hilbert and Kurt G odel.
Binary Representation
Computers represent numbers in binary form, as a series of zeros and ones,
because this is easy to implement in hardware (compared with other forms,
e.g. decimal). Any information can be converted to and from zeros and ones
and we call this representation a binary representation.
Example Here are some binary numbers and their decimal equivalents:
The binary number, 1110 in decimal is 14.
The decimal 212 when converted to binary becomes 11010100.
The binary numbers (on the left hand side) that represent the decimals
0-4 are as follows:
0 = 0
1 = 1
10 = 2
11 = 3
100 = 4
A binary number has the form b
n1
. . . b
2
b
1
b
0
where n is the number of binary
digits (or bits, with each digit being a 0 or a 1) and b
0
is the least signicant digit.
We can convert the binary string to a decimal number D using the following
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Turing Machines 9
formula:
D = 2
n1
(b
n1
) +. . . + 2
2
(b
1
) + 2
1
(b
1
) + 2
0
(b
0
). (2.1)
Here is another example:
Example Converting the binary number 11010100 to decimal:
D = 2
7
(1) + 2
6
(1) + 2
5
(0) + 2
4
(1) + 2
3
(0) + 2
2
(1) + 2
1
(0) + 2
0
(0)
= 128 + 64 + 16 + 4
= 212
We call the binary numbers a base 2 number system because it is based on
just two symbols 0 and 1. By contrast, in decimal which is base 10, we have
0, 1, 2, 3, . . . , 9.
All data in modern computers is stored in binary format; even machine instruc-
tions are in binary format. This allows both data and instructions to be stored
in computer memory and it allows all of the fundamental logical operations of
the machine to be represented as binary operations.
Formal Languages
Turing machines and other computer science models of computation use formal
languages to represent their inputs and outputs. We say a language L has an al-
phabet
.
Example If
= 0, 1 then the set of all even binary numbers
0, 10, 100, 110, ... is a langauge over
.
It turns out that the power of a computational model (or automaton) i.e. the
class of algorithm that the model can implement, can be determined by consid-
ering a related question:
What type of language can the automaton recognise?
A formal language in this setting is just a set of binary strings. In simple lan-
guages the strings all follow an obvious pattern, e.g. with the language:
01, 001, 0001, . . .
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
10 Turing Machines
Figure 2.6: A Turing machine.
the pattern is that we have one or more zeroes followed by a 1. If an automa-
ton, when presented with any string from the language can read each symbol
and then halt after the last symbol we say it recognises the language (provid-
ing it doesnt do this for strings not in the language). Then the power of the
automaton is gauged by the complexity of the patterns for the languages it can
recognise.
2.3.2 Turing Machines in Action
A Turing machine (which well sometimes abbreviate to TM) has the following
components [Copeland, J. 2000]:
1. A tape - made up of cells containing 0, 1, or blank. Note that this gives us a
alphabet of
= 0, 1, blank.
2. A read/write head - reads, or overwrites the current symbol on each step and
moves one square to the left or right.
3. A controller - controls the elements of the machine to do the following:
1. read the current symbol
2. write a symbol by overwriting whats already there
4. move the tape left or right one square
5. change state
6. halt.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Turing Machines 11
4. The controllers behaviour - the way the TM switches states depending on the
symbol its reading, represented by a nite state automata (FSA).
The operation of a TM is best described by a simple example:
Example Inversion inverts each input bit, for example:
001 110
The behaviour of the machine can be represented by a two state FSA. The
FSA is represented below in table form (where the states are labelled 1 and
2: 1 for the start state, and 2 for the halt state).
State Value New State New Value Direction
1 0 1 1 Move Right
1 1 1 0 Move Right
1 blank 2 - HALT blank Move Right
2 - HALT N/A N/A N/A N/A
2.3.3 The Universal Turing Machine
A Universal Turning Machine (UTM) is a TM (with an in built mechanism de-
scribed by a FSA) that is capable of reading, from a tape, a program describing
the behaviour of another TM. The UTM simulates the ordinary TM performing
the behaviour generated when the ordinary TM acts upon its data. When the
UTM halts its tape contains the result that would have been produced by the
ordinary TM (the one that describes the workings of the UTM).
The great thing about the UTM is that it shows that all algorithms (Turing ma-
chines) can be reduced to a single algorithm. As stated above, Church, G odel,
and a number of other great thinkers did nd alternative ways to represent al-
gorithms, but it was only Turing who found a way of reducing all algorithms
to a single one. This reduction in algorithms is a bit like what we have in infor-
mation theory where all messages can be reduced to zeroes and ones.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
12 Turing Machines
2.3.4 The Halting Problem
This is a famous problem in computer science. Having discovered the simple,
but powerful model of computation (essentially the stored program computer)
Turing then looked at its limitations by devising a problem that it could not
solve.
The UTM can run any algorithm. What, asked Turing, if we have another UTM
that, rather than running a given algorithm, looks to see whether that algorithm
acting on its data, will actually halt (in a nite number of steps rather than
looping forever or crashing). Turing called this hypothetical new TM called H
(for halting machine). Like a UTM, Hcan receive a description of the algorithm
in question (its program) and the algorithms data. Then H works on this in-
formation and produces a result. When given a number, say 1 or 0 it decides
whether or not the given algorithm would then halt. Is such a machine possi-
ble (so asked Turing)? The answer he found was no (look below). The very
concept of H involves a contradiction! He demonstrated this by taking, as the
algorithm description (program) and data that H should work on, a variant of
H itself!! The clue to this ingenious way of thinking came from the liars para-
dox - the question of whether or not the sentence:
This sentence is false.
can be assigned a truth value. Just as a universal truth machine fails in as-
signing this funny sentence a truth value (try it), so to does H fail to assign a
halting number 1 or 0 to the variant (the design of the latter involving the same
ingredients, self-reference and negation - that made the sentence problematic).
This proof by contradiction only applies to Turing machines, and machines
that are computationally equivalent. It still remains unproven that the halting
problem cannot be solved in all computational models.
The next section contains a detailed explanation of the halting problem by
means of an example. This can be skipped it youve had enough of Turing
machines for now.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Turing Machines 13
The Halting Problem - Proof by Contradiction
The halting problem in Javascript [Marshall, J. 2001].
The proof is by contradiction, say we could have a program that could de-
termine whether or not another program will halt.
function Halt(program, data) {
if ( ...Code to check if program can halt... ) {
return true;
} else {
return false;
}
}
Given two programs, one that halts and one that does not:
function Halter(input) {
alert(finished);
}
function Looper(input) {
while (1==1) {;}
}
In our example Halt() would return the following:
Halt("function Halter(1){alert(finished);}", 1)
\\ returns true
Halt("function Looper(1)while (1==1) {;}}", 1)
\\ returns false
So it would be possible given these special cases, but is it possible for all al-
gorithms to be covered in the ...Code to check if program can halt...
section? No - here is the proof, given a new program:
function Contradiction(program) {
if (Halt(program, program) == true) {
while (1 == 1) {;}
} else {
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
14 Circuits
alert(finished);
}
}
If Contradiction() is given an arbitrary program as an input then:
If Halt() returns true then Contradiction() goes into an innite loop.
If Halt() returns false then Contradiction() halts.
If Contradiction() is given itself as input then:
Contradiction() loops innitely if Contradiction() halts (given itself
as input).
Contradiction() halts if Contradiction() goes into an innite loop
(given itself as input).
Contradiction() here does not loop or halt, we cant decide algorithmically
what the behaviour of Contradiction() will be.
2.4 Circuits
Although modern computers are no more powerful than TMs (in terms of the
languages they can recognise) they are a lot more efcient (for more on ef-
ciency see section 2.5). However, what a modern or conventional computer
gives in efciency it loses in transparency (compared with a TM). It is for this
reason that a TM is still of value in theoretical discussions, e.g. in comparing
the hardness of various classes of problems.
We wont go fully into the architecture of a conventional computer. However
some of the concepts needed for quantum computing are related, e.g. circuits,
registers, and gates. For this reason well examine conventional (classical) cir-
cuits.
Classical circuits are made up of the following:
1. Gates - which perform logical operations on inputs. Given input(s) with
values of 0 or 1 they produce an output of 0 or 1 (see below). These oper-
ations can be represented by truth tables which specify all of the different
combinations of the outputs with respect to the inputs.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Circuits 15
2. Wires - carry signals between gates and registers.
3. Registers - made up of cells containing 0 or 1, i.e. bits.
2.4.1 Common Gates
The commonly used gates are listed below with their respective truth tables.
NOT inverts the input.
NOT
a x
0 1
1 0
OR returns a 1 if either of the inputs is 1.
OR
a b x
0 0 0
1 0 1
0 1 1
1 1 1
AND only returns a 1 if both of the inputs are 1.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
16 Circuits
AND
a b x
0 0 0
1 0 0
0 1 0
1 1 1
NOR is an OR and a NOT gate combined.
NOR
a b x
0 0 1
1 0 0
0 1 0
1 1 0
NAND is an AND and a NOT gate combined.
NAND
a b x
0 0 1
1 0 1
0 1 1
1 1 0
XOR returns a 1 if only one of its inputs is 1.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Circuits 17
XOR
a b x
0 0 0
1 0 1
0 1 1
1 1 0
2.4.2 Combinations of Gates
Shown below, a circuit also has a truth table.
The circuit shown above has the following truth table:
a b c f
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
18 Computational Resources and Efciency
Figure 2.7: FANOUT.
This circuit has an expression associated with it, which is as follows:
f = OR(AND(a, b), AND(NOT(b), c)).
2.4.3 Relevant Properties
These circuits are capable of FANOUT, FANIN, and CROSSOVER (unlike quan-
tum circuits) where FANOUT means that many wires (i.e. many inputs) can be
tied to one output (gure 2.7), FANIN means that many outputs can be tied
together with an OR, and CROSSOVER means that the value of two bits are in-
terchanged.
2.4.4 Universality
Combinations of NAND gates can be used to emulate any other gate (see gure
2.8). For this reason the NAND gate is considered a universal gate. So, this means
that any circuit, no matter how complicated can be expressed as a combination
of NAND gates. The quantum analogue of this is called the CNOT gate.
2.5 Computational Resources and Efciency
Computational time complexity is a measure of how fast and with how many
resources a computational problem can be solved. In terms of algorithms, we
can compare algorithms that perform the same task and measure whether one
is more efcient than the other. Conversely, if the same algorithm is imple-
mented on different architectures then the time complexities should not differ
by more than a constant, this is called the principle of invariance.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Computational Resources and Efciency 19
Figure 2.8: The universal NAND gate.
A simple example of differing time complexities is with sorting algorithms,
i.e. algorithms used to sort a list of numbers. The following example uses the
bubble sort and quick sort algorithms. Some code for bubble sort is given be-
low, but the code for quick sort is not given explicitly. Well also use the code
for the bubble sort algorithm in an example on page 22.
Bubble sort:
for(i = 1;i < = n - 1;i ++)
for(j = n;j > = i + 1;j --)
{
if (list[j]<list[j - 1])
{
Swap(list[j],list[j - 1]);
}
}
}
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
20 Computational Resources and Efciency
Example Quick sort vs. bubble sort.
Bubble Sort:
Each item in a list is compared with the item next to it, they are swapped
if required. This process is repeated until all of the numbers are checked
without any swaps.
Quick Sort:
The quick sort has the following four steps:
1. Finish if there are no more elements to be sorted (i.e. 1 or less elements).
2. Select a pivot point.
3. The list is split into two lists - with numbers smaller than the pivot value
in one list and numbers larger than the pivot value in the other list.
4. Repeat steps 1 to 3 for each list generated in step 3.
On average the bubble sort is much slower than the quick sort, regardless of
the architecture it is running on.
2.5.1 Quantifying Computational Resources
Lets say weve gone through an algorithmsystematically and worked out, line
by line (see the end of this section for an example) how fast it is going to run
given a particular variable n which describes the size of the input. E.g. the
number of elements in a list to be sorted. Suppose we can quantify the compu-
tational work involved as function of n, consider the following expression:
3n + 2 log n + 12.
The important part of this function is 3n as it grows more quickly than the other
terms, i.e. n grows faster than log n and the constant. We say that the algorithm
that generated this result has,
O(n)
time complexity (i.e. we ignore the 3). The important parts of the function are
shown here:
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Computational Resources and Efciency 21
0
10
20
30
40
50
0 10 20 30 40 50
3n + 2 log n + 12
3n
2 log n
12
So weve split the function 3n + 2 log n + 12 into its parts : 3n, 2 log n, and 12.
More formally Big O notation allows us to set an upper bound on the behaviour
of the algorithm. So, at worst this algorithm will take approximately n cycles
to complete (plus a vanishingly small unimportant gure). Note that this is the
worst case, i.e. it gives us no notion of the average complexity of an algorithm.
The class of O(n) contains all functions that are quicker than O(n). for example,
3n 3n
2
so 3n is bounded by the class O(3n
2
) ( positive n).
For a lower bound we use big notation (Big Omega).
Example 2
n
is in (n
2
) as n
2
2
n
( sufciently large n).
Finally, big is used to show that a function is asymptotically equivalent in both
lower and upper bounds. formally:
f(n) = (g(n)) O(g(n)) = (g(n)). (2.2)
Example 4n
2
40n + 2 = (n
2
) ,= (n
3
) ,= (n).
As promised, here is a more in-depth example of the average complexity of
an algorithm.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
22 Computational Resources and Efciency
Example Time Complexity: Quick sort vs. bubble sort [Nielsen, M. A. &
Chuang, I. L. 2000].
Here our n is the number of elements in a list, the number of swap
operations is:
(n 1) + (n 2) +... + 1 =
n(n 1)
2
The most important factor here is n
2
. The average and worst case time
complexities are O(n
2
), so we say it is generally O(n
2
).
If we do the same to the quick sort algorithm, the average time com-
plexity is just O(nlog n). So now we have a precise mathematical notion for
the speed of an algorithm.
2.5.2 Standard Complexity Classes
Computational complexity is the study of how hard a problem is to compute.
Or put another way, what is the least amount of resources required by the best
known algorithm for solving the problem. There are many types of resources
(e.g. time and space); but we are interested in time complexity for now. The
main distinction between hard and easy problems is the rate at which they
grow. If the problem can be solved in polynomial time, that is it is bounded
by a polynomial in n, then it is easy. Hard problems grow faster than any
polynomial in n, for example:
n
2
is polynomial, and easy, whereas,
2
n
is exponential and hard. What we mean by hard is that as we make n large the
time taken to solve the problemgoes up as 2
n
, i.e. exponentially. So we say that
O(2
n
) is hard or intractable.
The complexity classes of most interest to us are P (Polynomial) and NP (Non-
Deterministic Polynomial).
P means that the problem can be solved in polynomial time, NP means that
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Computational Resources and Efciency 23
it probably cant, and NP complete means it almost denitely cant. More for-
mally:
The class P consists of all those decision problems that can be solved
on a deterministic sequential machine in an amount of time that
is polynomial in the size of the input; the class NP consists of all
those decision problems whose positive solutions can be veried in
polynomial time given the right information, or equivalently, whose
solution can be found in polynomial time on a non-deterministic
machine [wikipedia.org 2004].
Where:
Adecision problemis a function that takes an arbitrary value or values as input
and returns a yes or a no. Most problems can be represented as decision
problems.
Witnesses are solutions to decision problems that can be checked in polyno-
mial time. For example, checking if 7747 has a factor less than 70 is a
decision problem. 61 is a factor (61 127 = 7747) which is easily checked.
So we have a witness to a yes instance of the problem. Now, if we ask if
7747 has a factor less than 60 there is no easily checkable witnesses for the
no instance [Nielsen, M. A. 2002].
Non deterministic Turing machines (NTMs) differ from normal deterministic
Turing machines in that at each step of the computation the Turing ma-
chine can spawn copies, or new Turing machines that work in parallel
with the original. Its a common mistake to call a quantum computer an
NTM, as we shall see later we can only use quantum parallelism indi-
rectly.
It is not proven that P ,= NP it is just very unlikely as this would mean that
all problems in NP can be solved in polynomial time.
See appendix A.1 for a list of common complexity classes.
2.5.3 The Strong Church-Turing Thesis
Originally, the strong Church-Turing thesis went something like this:
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
24 Computational Resources and Efciency
Any algorithmic process can be simulated with no loss of efciency
using a Turing machine [Banerjee, S. ? 2004].
We are saying a TM is as powerful as any other model of computation in terms
of the class of problems it can solve; any efciency gain due to using a particu-
lar model, is at most polynomial.
This was challenged in 1977 by Robert Solovay and Volker Strassen, who intro-
duced truly randomised algorithms, which do give a computational advantage
based on the machines architecture [Nielsen, M. A. & Chuang, I. L. 2000]. So,
this led to a revision of the strong Church-Turing thesis, which now relates to a
probabilistic Turing machine (PTM).
A probabilistic Turing machine can be described as:
A deterministic Turing machine having an additional write instruc-
tion where the value of the write is uniformly distributed in the Tur-
ing machines alphabet (generally, an equal likelihood of writing a
1 or a 0 on to the tape) [TheFreeDictionary.com 2004].
This means that algorithms given the same inputs can have different run times,
and results if necessary. An example, of an algorithm that can benet from a
PTMis quicksort. Although on average quicksort runs in O(nlog n) it still has a
worst case running time of O(n
2
) if say the list is already sorted. Randomising
the list before hand ensures the algorithm runs more often in O(nlog n). The
PTMhas its own set of complexity classes, some of which are listed in appendix
A.1.
Can we efciently simulate any non-probabilistic algorithm on a probabilistic
Turing machine without exponential slowdown? The answer is yes accord-
ing to the new strong Church-Turing thesis:
Any model of computation can be simulated on a probabilistic Tur-
ing machine with at most a polynomial increase in the number of
elementary operations [Bettelli, S. 2000, p.2].
A new challenge came from another quarter when in the early eighties Richard
Feynman, 1918 - 1988 (gure 2.9) suggested that it would be possible to sim-
ulate quantum systems using quantum mechanics - this alluded to a kind of
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Computational Resources and Efciency 25
Figure 2.9: Richard Feynman.
proto-quantum computer. He then went on to ask if it was possible to simulate
quantum systems on conventional (i.e. classical) Turing machines. It is hard
(time-wise) to simulate quantum systems effectively, in fact it gets exponen-
tially harder the more components you have [Nielsen, M. A. 2002]. Intuitively,
the TM simulation cant keep up with the evolution of the physical system it-
self: it falls further and further behind, exponentially so. Then, reasoned Feyn-
man, if the simulator was built of quantum components perhaps it wouldnt
fall behind. So such a quantum computer would seem to be more efcient
than a TM. The strong Church-Turing thesis would seem to have been violated
(as the two models are not polynomially equivalent).
The idea really took shape in 1985 when, based on Feynmans ideas, David
Deutsch proposed another revision to the strong Church Turing thesis. He pro-
posed a newarchitecture based on quantummechanics, on the assumption that
all physics is derived from quantum mechanics (this is the Deutsch - Church -
Turing principle [Nielsen, M. A. 2002]). He then demonstrated a simple quan-
tumalgorithmwhich seemed to prove the newrevision. More algorithms were
developed that seemed to work better on a quantum Turing machine (see below)
rather than a classical one (notably Shors factorisation and Grovers search
algorithms - see chapter 7).
2.5.4 Quantum Turing Machines
A quantum Turing machine (QTM) is a normal Turing machine with quantum
parallelism. The head and tape of a QTM exist in quantum states, and each
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
26 Energy and Computation
cell of the tape holds a quantum bit (qubit) which can contain whats called a
superposition of the values 0 and 1. Dont worry too much about that now as
itll be explained in detail later; whats important is that a QTM can perform
calculations on a number of values simultaneously by using quantum effects.
Unlike classical parallelism which requires a separate processor for each value
operated on in parallel, in quantum parallelism a single processor operates on
all the values simultaneously.
There are a number of complexity classes for QTMs, see appendix A.2 for a
list of some of them and the relationships between them.
Question The architecture itself can change the time complexity of algorithms.
Could there be other revisions? If physics itself is not purely based on quantum
mechanics and combinations of discrete particles have emergent properties for
example, there could be further revisions.
2.6 Energy and Computation
2.6.1 Reversibility
When an isolated quantum system evolves it always does so reversibly. This
implies that if a quantum computer has components, similar to gates, that per-
form logical operations then these components, if behaving according to quan-
tum mechanics, will have to implement all the logical operations reversibly.
2.6.2 Irreversibility
Most classical circuits are not reversible. This means that they lose information
in the process of generating outputs from inputs, i.e. they are not invertible. An
example of this is the NAND gate (gure 2.10). It is not possible in general, to
invert the output. E.g. knowing the output is 1 does not allowone to determine
the input: it could be 00, 10, or 01.
2.6.3 Landauers Principle
In 1961, IBM physicist Rolf Landauer, 1927 - 1999 showed that, when infor-
mation is lost in an irreversible circuit that information is dissipated as heat
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Energy and Computation 27
Figure 2.10: An irreversible NAND gate.
[Nielsen, M. A. 2002]. This result was obtained for circuits based on classical
physics.
Theoretically, if we were to build a classical computer with reversible compo-
nents then work could be done with no heat loss, and no use of energy! Prac-
tically though we still need to waste some energy for correcting any physical
errors that occur during the computation. A good example of the link between
reversibility and information is Maxwells demon, which is described next.
2.6.4 Maxwells Demon
Maxwells demon is a thought experiment comprised of (see gure 2.11) a box
lled with gas separated into two halves by a wall. The wall has a little door
that can be opened and closed by a demon. The second law of thermodynam-
ics (see chapter 4) says that the amount of entropy in a closed system never
decreases. Entropy is the amount of disorder in a system or in this case the
amount of energy. The demon can, in theory, open and close the door in a cer-
tain way to actually decrease the amount of entropy in the system.
Here are a list of steps to understanding the problem:
1. We have a box lled with particles with different velocities (shown by the
arrows).
2. A demon opens and closes a door in the centre of the box that allows parti-
cles to travel through it.
3. The demon only opens the door when fast particles come from the right and
slow ones from the left.
4. The fast particles end up on the left hand side, the slow particles on the
right. The demon makes a temperature difference without doing any
work (which violates the second law of thermodynamics).
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
28 Energy and Computation
Figure 2.11: Maxwells Demon.
5. Rolf Landauer and R.W. Keyes resolved the paradox when they examined
the thermodynamic costs of information processing. The demons mind
gets hotter as his memory stores the results, the operations are reversible
until his memory is cleared.
6. Almost anything can be done in a reversible manner (with no entropy cost).
2.6.5 Reversible Computation
In 1973 Charles Bennett expanded on Landauers work and asked whether it
was possible, in general, to do computational tasks without dissipating heat.
The loss of heat is not important to quantum circuits, but because quantum
mechanics is reversible we must build quantumcomputers with reversible gates.
We can simulate any classical gate with reversible gates. For example, a re-
versible NAND gate can be made from a reversible gate called a Toffoli gate.
Reversible gates use control lines which in reversible circuits can be fed from
ancilla bits (which are work bits). Bits in reversible circuits may then go on to
become garbage bits that are only there to ensure reversibility. Control lines en-
sure we have enough bits to recover the inputs from the outputs. The reason
they are called control lines is that they control (as in an if statement) whether
or not a logic operation is applied to the non-control bit(s). E.g. in CNOT below,
the NOT operation is applied to bit b if the control bit is on (=1).
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Energy and Computation 29
2.6.6 Reversible Gates
Listed below are some of the common reversible gates and their truth tables.
Note: the reversible gate diagrams, and quantum circuit diagrams were built
with a L
A
T
E
X macro package called Q-Circuit which is available at http://
info.phys.unm.edu/Qcircuit/.
Controlled NOT
Like a NOT gate (on b) but with a control line, a. b
b
_
b
CNOT
a b a
0 0 0 0
0 1 0 1
1 0 1 1
1 1 1 0
Properties of the CNOT gate, CNOT(a, b):
CNOT(x, 0) : b
= a
= a = FANOUT. (2.3)
Toffoli Gate
If the two control lines are set it ips the third bit (i.e. applies NOT). The Toffoli
gate is also called a controlled-controlled NOT.
a
a
b
b
c
_
c
0 0 0 0 0 0
0 0 1 0 0 1
0 1 0 0 1 0
0 1 1 0 1 1
1 0 0 1 0 0
1 0 1 1 0 1
1 1 0 1 1 1
1 1 1 1 1 0
Properties of the Toffoli Gate, T
F
(a, b, c):
T
F
(a, b, c) = (a, b, c XOR(a AND b)). (2.4)
T
F
(1, 1, x) : c
= NOT x. (2.5)
T
F
(x, y, 1) : c
= x NAND y. (2.6)
T
F
(x, y, 0) : c
= x AND y. (2.7)
T
F
(x, 1, 0) : c
= a = a
= FANOUT. (2.8)
A combination of Toffoli gates can simulate a Fredkin gate.
Fredkin Gate
If the control line is set it ips the second and third bits.
a
a
b
b
c
c
0 0 0 0 0 0
0 0 1 0 0 1
0 1 0 0 1 0
0 1 1 0 1 1
1 0 0 1 0 0
1 0 1 1 1 0
1 1 0 1 0 1
1 1 1 1 1 1
Properties of the Fredkin Gate, F
R
(a, b, c):
F
R
(x, 0, y) : b
= x AND y. (2.9)
F
R
(1, x, y) : b
= c and c
= a
= c = FANOUT, with b
= NOT x. (2.11)
A combination of Fredkin gates can simulate a Toffoli gate.
2.6.7 Reversible Circuits
Reversible circuits have been implemented in a classical sense, an example of
a reversible circuit built with conventional technology is shown in gure 2.12.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
32 Articial Intelligence
Quantum computers use reversible circuits to implement quantum algorithms.
Chapters 6 and 7 contain many examples of these algorithms and their associ-
ated circuits.
2.7 Articial Intelligence
Can an algorithmthink? thats really what we are asking when we ask if a com-
puter can think, because a modern computers architecture is arbitrary. This is
the kind of intelligence that is tested with the Turing test which simply asks if
responses from a hidden source can be determined to be human, or articial.
Turing said that if one cant distinguish between the two then the source can
be considered to be intelligent. This is called strong AI, but a more realistic ap-
proach in which the modelling of mental processes is used in the study of real
mental processes is called weak AI.
2.7.1 The Chinese Room
John Searle has a good example of howthe Turing test does not achieve its goal.
Consider a language you dont understand. In my case, I do not un-
derstand Chinese. To me Chinese writing looks like so many mean-
ingless squiggles. Now suppose I am placed in a room containing
baskets full of Chinese symbols. Suppose also that I am given a rule
book in English for matching Chinese symbols with other Chinese
Symbols. The rules identify the symbols entirely by their shapes and
do not require that I understand any of them. Imagine that people
outside the roomwho understand Chinese hand in small bunches of
symbols and that in response to the rule book and hand back more
small bunches of symbols [Searle, J. R. 1990, p. 20].
This system could pass the Turing test - in programming terms one could al-
most consider a case statement to be intelligent. Clearly, the Turing test has
problems. Intelligence is intimately tied up with the stuff that goes to make
up a brain.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Articial Intelligence 33
2.7.2 Quantum Computers and Intelligence
The idea that consciousness and quantum mechanics are related is a core part
of the original theory of quantum mechanics [Hameroff, S. ? 2003]. There are
two main explanations of what consciousness is. The Socratic, in which con-
scious thoughts are products of the cerebrum and the Democritan in which con-
sciousness is a fundamental feature of reality accessed by brain. Currently the
modern Socratic view prevails, that is that consciousness is an emergent prop-
erty and proponents of the emergent theory point to many emergent phenom-
ena (Jupiters red spot, whirlpools, etc.). Contrasting this, modern Democri-
tans believe consciousness to be irreducible, and fundamental. For example,
Whiteheads (1920) theory of panexperientielism suggests that quantum state re-
ductions (measurements) in a universal proto-conscious eld [Arizona.edu 1999]
cause individual conscious events. There are many other theories of conscious-
ness that relate to quantum effects like electron tunnelling, quantum indeter-
minacy, quantum superposition/interference, and more.
Question Given the newquantumarchitecture can quantumcomputers think?
because of their fundamental nature do they give newhope to strong AI? Or are
they just another example of an algorithmic architecture which isnt made of
the right stuff?
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Chapter 3
Mathematics for Quantum
Computing
3.1 Introduction
In conventional computers we have logical operators (gates) such as NOT that
acts on bits. The quantum analogue of this is a matrix operator operating on a
qubit state vector. The math we need to handle this includes:
Vectors to represent the quantum state.
Matrices to represent gates acting on the values.
Complex numbers, because the components of the quantumstate vector are,
in general complex.
Trig functions for the polar representation of complex numbers and the
fourier series.
Projectors to handle quantum measurements.
Probability theory for computing the probability of measurement outcomes.
As well as there being material here that you may not be familiar with (com-
plex vector spaces for example), chances are that youll know at least some of
the math. The sections you knowmight be useful for revision, or as a reference.
This is especially true for the sections on polynomials, trigonometry, and logs
which are very succinct.
35
36 Polynomials
So whats not in here? Theres obviously some elementary math that is not
covered. This includes topics like fractions, percentages, basic algebra, powers,
radicals, summations, limits, factorisation, and simple geometry. If youre not
comfortable with these topics then you may need to study them before contin-
uing on with this chapter.
3.2 Polynomials
A polynomial is an expression in the form:
c
0
+c
1
x +c
2
x
2
+... +c
n
x
n
(3.1)
where c
0
, c
1
, c
2
, ..., c
n
are constant coefcients with c
n
,= 0.
We say that the above is a polynomial in x of degree n.
Example Different types of polynomials.
3v
2
+ 4v + 7 is a polynomial in v of degree 2, i.e. a quadratic.
4t
3
5 is a polynomial in t of degree 3, i.e. a cubic.
6x
2
+ 2x
1
is not a polynomial as it contains a negative power for x.
3.3 Logical Symbols
A number of logical symbols are used in this text to compress formulae; they
are explained below:
means for all.
Example n > 5, f(n) = 4 means that for all values of n greater than 5 f(n)
will return 4.
means there exists.
Example n such that f(n) = 4 means there is a value of n that will make
f(n) return 4. Say if f(n) = (n1)
2
+4, then the n value in question is n = 1.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Trigonometry Review 37
iff means if and only if.
Example f(n) = 4 iff n = 8 means f(n) will return 4 if n = 8 but for no
other values of n.
3.4 Trigonometry Review
3.4.1 Right Angled Triangles
Given the triangle,
&
&
&
&
&
&
&
&
&
&
&
&
b
a
c
A
B
C
we can say the following:
a
2
+b
2
= c
2
, Pythagorean theorem (3.2)
and for the opposite side, adjacent side, and hypotenuse:
sin =
opp
hyp
, cos =
adj
hyp
, tan =
opp
adj
, (3.3)
sin
A
=
a
c
, sin
B
=
b
c
, (3.4)
tan
A
=
a
b
, tan
B
=
b
a
, (3.5)
cos
A
= sin
B
=
b
c
, cos
B
= sin
A
=
a
c
. (3.6)
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
38 Trigonometry Review
3.4.2 Converting Between Degrees and Radians
Angles in trigonometry can be represented in radians and degrees. For con-
verting degrees to radians:
rads =
n
180
. (3.7)
For converting radians to degrees we have:
n
=
180 rads
. (3.8)
Some common angle conversions are:
360
= 0
= 2 rads.
1
=
180
rads.
45
=
4
rads.
90
=
2
rads.
180
= rads.
270
=
3
2
rads.
1 rad = 57
.
3.4.3 Inverses
Here are some inverses for obtaining from sin , cos , and tan :
sin
1
= arcsin = from sin . (3.9)
cos
1
= arccos = from cos . (3.10)
tan
1
= arctan = from tan . (3.11)
3.4.4 Angles in Other Quadrants
The angles for right angled triangles are in quadrant 1 (i.e. from 0
to 90
). If
we want to measure larger angles like 247
). The following
diagram has the rules for doing so:
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Trigonometry Review 39
0
90
90
180
180
270
270
360
(0
)
No change
Make cos and tan negative
Change to 180
) = sin(45
)
and cos(315
) = cos(45
).
3.4.5 Visualisations and Identities
The functions y = sin(x) and y = cos(x) are shown graphically below, where x
is in radians.
1.5
1
0.5
0
0.5
1
1.5
-10 -5 0 5 10
sin(x)
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
40 Logs
1.5
1
0.5
0
0.5
1
1.5
-10 -5 0 5 10
cos(x)
Finally, here are some important identities:
sin
2
+ cos
2
= 1. (3.12)
sin() = sin . (3.13)
cos() = cos . (3.14)
tan() = tan . (3.15)
3.5 Logs
The logarithm of a number (say x) to base b is the power of b that gives back the
number, i.e. b
log
b
x
= x. E.g. The log of x = 100 to base b = 10 is the power (2) of
10 that gives back 100, i.e. 10
2
= 100. So log
10
100 = 2.
Put another way, the answer to a logarithm is the power y put to a base b given
an answer x, with:
y = log
b
x (3.16)
and,
x = b
y
(3.17)
where x >= 0, b >= 0, and b ,= 1.
Example log
2
16 = 4 is equivalent to 2
4
= 16.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Complex Numbers 41
E
T
c
' Z
Z
Z
Z
Z
a
b
z
r
3
3
Figure 3.1: Representing z = a+ib in the complex plane with coordinates a = 3
and b = 3.
3.6 Complex Numbers
A complex number, z is a number in the form:
z = a +ib (3.18)
where a, b R (the real numbers) where i stands for
1. The complex num-
ber z is said to be in C (the complex numbers). z is called complex because it is
made of two parts, a and b. Sometimes we write z = (a, b) to express this.
Except for the rules regarding i, the operations of addition, subtraction, and
multiplication of complex numbers follow the normal rules of arithmetic. Di-
vision requires using a complex conjugate, which is introduced in the next sec-
tion. With these operations dened via the examples in the box below.
The systemof complex numbers is closed in that, except for division by 0, sums,
products, and ratios of complex numbers give back a complex number: i.e. we
stay within the system. Here are examples of i itself:
i
3
= i, i
2
= 1, i
1
= i, i =
1, i
2
= 1, i
3
= i, i
4
= 1, i
5
= i, i
6
= 1.
So the pattern (i, 1, i, 1) repeats indenitely.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
42 Complex Numbers
Example Basic complex numbers.
Addition:
(5 + 2i) + (4 + 7i) = 1 + 9i
Multiplication:
(5 + 2i)(4 + 3i) = 5(4) + 5(3)i + 2(4)i + (2)(3)i
2
= 20 + 15i 8i 6
= 26 + 7i.
Finding Roots:
(5i)
2
= 5i
2
= 5
2
i
2
= 25(1)
= 25.
25 has roots 5i and 5i.
3.6.1 Polar Coordinates and Complex Conjugates
Complex numbers can be represented in polar form, (r, ):
(r, ) = ([z[, ) = [z[(cos +i sin ) (3.19)
where , r R and [z[ is the norm (also called the modulus) of z:
[z[ =
a
2
+b
2
(3.20)
or,
[z[ =
z (3.21)
where z
= a ib. (3.22)
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Complex Numbers 43
E
T
c
' Z
Z
Z
Z
Z
`
`
`
`
`
`
`
`
`
``
Z
Z
Z
Z
Z
z
z
z
z
Figure 3.2: z, z
, z
, and z.
Polar Coordinates
For polar coordinates (gure 3.1) we can say that is the angle between a line
drawn between a point (a, b) of length r on the complex plane and the x axis
with the coordinates being taken for the complex number as x = a and y = b.
The horizontal axis is called the real axis and the vertical axis is called the imag-
inary axis. Its also helpful to look at the relationships between z, z
, z
and -z
graphically. These are shown in gure 3.2.
So for converting from polar to cartesian coordinates:
(r, ) = a +bi (3.23)
where a = r cos and b = r sin . Conversely, converting cartesian to polar form
is a little more complicated:
a +bi = (r, ) (3.24)
where r = [z[ =
a
2
+b
2
and is the solution to tan =
b
a
which lies in the
following quadrant:
1. If a > 0 and b > 0
2. If a < 0 and b > 0
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
44 Complex Numbers
3. If a < 0 and b < 0
4. If a > 0 and b < 0.
Example Convert (3, 40
) to a +bi.
a = r cos = 3 cos 40
= 3(0.77)
= 2.3
b = r sin = 3 cos 40
= 3(0.64)
= 1.9
z = 2.3 + 1.9i .
Example Convert 1 + 2i to (r, ). This gives us a = 1 and b = 2.
r =
_
(1)
2
+ 2
2
=
5
= 2.2
tan =
b
a
=
2
1
= 2 .
Since a < 0 and b > 0 we use quadrant 2 which gives us = 116.6
and the
solution is:
1 + 2i = (2.2, 116.6
) .
3.6.2 Rationalising and Dividing
1
a+bi
is rationalised by multiplying the numerator and denominator by a bi.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Complex Numbers 45
Example Rationalisation.
1
5 + 2i
=
1
5 + 2i
(5 2i)
(5 2i)
=
5
29
2
29
i .
Division of complex numbers is done by rationalising in terms of the denomi-
nator.
Example Division of complex numbers.
3 + 2i
2i
=
3 + 2i
2i
(2i)
(2i)
=
6i 4i
2
4i
2
=
6i + 4
4
= 1
3
2
i .
3.6.3 Exponential Form
Complex numbers can also be represented in exponential form:
z = re
i
. (3.25)
The derivation of which is:
z = [z[(cos +i sin )
= r(cos +i sin )
= re
i
.
This is because:
e
i
= cos +i sin , (3.26)
e
i
= cos i sin . (3.27)
which can be rewritten as:
cos =
e
i
+e
i
2
, (3.28)
sin =
e
i
e
i
2i
. (3.29)
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
46 Complex Numbers
To prove (3.26) we use a power series exponent (which is an innite polyno-
mial):
e
x
= 1 +x +
x
2
2!
+
x
3
3!
+. . . , (3.30)
e
i
= 1 +i
i
2
2!
i
3
3!
+
4
4!
. . . (3.31)
= 1
2
2!
+
4
4!
+i(
i
3
3!
+. . .) (3.32)
= cos +i sin . (3.33)
Example Convert 3 +3i to exponential form. This requires two main steps,
which are:
1. Find the modulus.
r = [z[ =
3
2
+ 3
2
=
18.
2. To nd , we can use the a and b components of z as opposite and adjacent
sides of a right angled triangle in quadrant one which means need to
apply arctan. So given tan
1 3
3
=
4
then z in exponential form looks
like:
18e
i/4
.
Example Convert e
i3/4
to the form: a +bi (also called rectangular form).
e
i3/4
= e
i(3/4)
= cos
3
4
+i sin
3
4
= cos 135
+i sin 135
=
1
2
+
i
2
=
1 +i
2
.
Properties:
z
= re
i
. (3.34)
e
i2
= 1. (3.35)
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Matrices 47
3.7 Matrices
Matrices will be needed in quantum computing to represent gates, operators,
and vectors. So even if you know this material itll be useful to revise as they
are used so often.
A matrix is an array of numbers, the numbers in the matrix are called entries,
for example:
_
_
17 24 1 8
23 5 7 14
4 6 13 20
_
_
.
3.7.1 Matrix Operations
Just as we could dene arithmetic operators - addition and multiplication for
complex numbers, we can do the same for matrices.
Given the following 3 matrices:
M
A
=
_
2 1
3 4
_
,
M
B
=
_
2 1
3 5
_
,
M
C
=
_
2 1 0
3 4 0
_
.
Addition
Addition can only be done when the matrices are of the same dimensions (the
same number of columns and rows), e.g:
M
A
+M
B
=
_
4 2
6 9
_
.
Scalar Multiplication
The product of multiplying a scalar (i.e. a number) by a matrix is a new matrix
that is found by multiplying each entry in the given matrix. Given a scalar
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
48 Matrices
= 2 :
M
A
=
_
4 2
6 8
_
.
Matrix Multiplication
The product of multiplying matrices M and N with dimensions M = mr and
N = rn is a matrix Owith dimension O = mn. The resulting matrix is found
by O
ij
=
r
k=1
M
i
rN
r
j where i and j denote row and column respectively. The
matrices M and N must also satisfy the condition that the number of columns
in M is the same as the number of rows in N.
M
B
M
C
=
_
(2 2) + (1 3) (2 1) + (1 4) (2 0) + (1 0)
(3 2) + (5 3) (3 1) + (5 4) (3 0) + (5 0)
_
=
_
7 6 0
21 23 0
_
.
Basic Matrix Arithmetic
Suppose M, N, and O are matrices and and are scalars:
M +N = N +M. Commutative law for addition (3.36)
M + (N +O) = (M +N) +O. Associative law for addition (3.37)
M(NO) = (MN)O. Associative law for multiplication (3.38)
M(N +O) = MN +MO. Distributive law (3.39)
(N +O)M = NM +OM. Distributive law (3.40)
M(N O) = MN MO. (3.41)
(N O)M = NM OM. (3.42)
(N +O) = N +O. (3.43)
(N O) = N O. (3.44)
( +)O = O +O. (3.45)
( )O = O O. (3.46)
()O = (O). (3.47)
(NO) = (N)O = N(O). (3.48)
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Matrices 49
You may have noticed that there is no commutative law for multiplication. It is
not always the case that MN = NM. This is important in quantum mechanics,
which follows the same non-commutative multiplication law.
Zero Matrix
The special case of a matrix lled with zeroes.
0 =
_
0 0
0 0
_
. (3.49)
Identity Matrix
A matrix multiplied by the identity matrix (corresponding to unity in the ordi-
nary numbers) will not change.
I =
_
1 0
0 1
_
, (3.50)
M
A
I =
_
2 1
3 4
_
.
Inverse Matrix
A number a has an inverse a
1
where aa
1
= a
1
a = 1. Equivalently a matrix
A has an inverse:
A
1
where AA
1
= A
1
A = I. (3.51)
Even with a simple 22 matrix it is not a trivial matter to determine its inverses
(if it has any at all). An example of an inverse is below, for a full explanation of
how to calculate an inverse youll need to consult an external reference.
M
1
A
=
_
4
5
1
5
3
5
2
5
_
.
Note A
1
only exists iff A has full rank (see Determinants and Rank below).
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
50 Matrices
Transpose Matrix
A
T
is the transpose of matrix A if:
A
T
ji
= A
ij
. (3.52)
Heres an example:
M
T
C
=
_
_
2 3
1 4
0 0
_
_
.
For a square matrix like M
A
you get the transpose by reecting about the diag-
onal (i.e. ipping the values).
Determinants and Rank
Rank is the number of rows (or columns) which are not linear combinations (see
section 3.8.6) of other rows.
In the case of a square matrix A (i.e., m = n), then A is invertible iff A has
rank n (we say that A has full rank). A matrix has full rank when the rank is the
number of rows or columns, whichever is smaller. A non-zero determinant (see
below) determines that the matrix has full rank. So a non-zero determinant im-
plies the matrix has an inverse and vice-versa, if the determinant is 0 the matrix
is singular (i.e. doesnt have an inverse).
The determinant of a simple 2 2 matrix is dened as:
det
_
a b
c d
_
= ad bc. (3.53)
So now for an example of rank, given the matrix below,
M
D
=
_
2 4
3 6
_
.
We can say it has rank 1 because row 2 is a multiple (by
3
2
) of row 1. Its deter-
minant, 2 6 3 4 is 0.
Determinants of larger matrices can be found by decomposing theminto smaller
2 2 matrices, for example:
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Vectors and Vector Spaces 51
det
_
a b c
d e f
g h i
_
= a det
_
e f
h i
_
b det
_
d f
g i
_
+c det
_
d e
g h
_
.
(3.54)
Determinants, like inverses are not trivial to calculate. Again, for a full expla-
nation youll need to consult an external reference.
3.8 Vectors and Vector Spaces
3.8.1 Introduction
Vectors are line segments that have both magnitude and direction. Vectors
for quantum computing are in complex vector space C
n
called n dimensional
Hilbert space. But its helpful to look at simpler vectors in real space (i.e. ordi-
nary 2D space) rst.
Vectors in R
A vector in R (the real numbers) can be represented by a point on the cartesian
plane (x, y) if the tail of the vector starts at the origin (see gure 3.3). The x
and y coordinates that relate to the x and y axes are called the components of the
vector.
The tail does not have to start at the origin and the vector can move anywhere
in the cartesian plane as long as it keeps the same direction and length. When
vectors do not start at the origin they are made up of two points, the initial point
and the terminal point. For simplicitys sake our vectors in R all have an initial
point at the origin and our coordinates just refer to the terminal point.
The collection of all the vectors corresponding to all the different points in the
plane make up the space (R
2
). We can make a vector 3D by using another axis
(the z axis) and extending into 3 space (R
3
) (see gure 3.7). This can be further
extended to more dimensions using n space (R
n
).
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
52 Vectors and Vector Spaces
E
T
c
' Z
Z
Z
Z
Z
`
`
-
-
-
-
-
-
(3, 3)
(1, 1)
(3, 1)
Figure 3.3: Vectors in R
2
(i.e. ordinary 2D space like a table top).
E
T
Z
Z
Z
Z
/
/
/
/
`
`
`
`
`
`
`
`
x
y
z
u
x
u
y
u
z
u = (u
x
, u
y
, u
z
)
Figure 3.4: A 3D vector with components u
x
, u
y
, u
z
.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Vectors and Vector Spaces 53
E
T
c
'
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
Z
`
`
``
a
b
c
d
e
Figure 3.5: Vector examples.
Example A point in 5 dimensional space is represented by the ordered 5
tuple (4, 7, 8, 17, 20).
We can think of some vectors as having local coordinate systems that are offset
fromthe origin. In computer graphics the distinction is that coordinate systems
are measured in world coordinates and vectors are terminal points that are lo-
cal to that coordinate system (see gure 3.6).
Example Example vectors in R in gure 3.5.
a = b = c,
d ,= e ,= a.
Two Interesting Properties of Vectors in R
3
Vectors in R
3
are represented here by a bolded letter. Let u = (u
x
, u
y
, u
z
) and
v = (v
x
, v
y
, v
z
) (two vectors). An important operation is the dot product (used
below to get the angle between two vectors):
u v = u
x
v
x
+u
y
v
y
+u
z
v
z
. (3.55)
The dot () here means the inner, or dot product. This operation takes two vec-
tors and returns a number (not a vector).
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
54 Vectors and Vector Spaces
Knowing the components we can calculate the magnitude (the length of the vec-
tor) using Pythagoras theorem as follows:
|u| =
_
u
x
u
x
+u
y
u
y
+u
z
u
z
. (3.56)
Example if u = (1, 1, 1) then |u| =
3.
Example if u = (1, 1, 1) and v = (2, 1, 3) then:
cos =
2 + 1 + 3
14
=
_
6
7
.
Vectors in C
V = C
n
is a complex vector space with dimension n, this is the set containing all
column vectors with n complex numbers laid out vertically (the above exam-
ples were rowvectors with components laid out horizontally). We also dene a
vector subspace as a non empty set of vectors which satisfy the same conditions
as the parents vector space.
3.8.2 Column Notation
In C
2
for example, the quantum mechanical notation for a ket can be used to
represent a vector.
[u) =
_
u
1
u
2
_
(3.57)
where u
1
= a
1
+b
1
i and u
2
= a
2
+b
2
i.
[u)
can also be represented in row form:
[u) = (u
1
, u
2
) (3.58)
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Vectors and Vector Spaces 55
Example Column Notation.
[0) =
_
1
0
_
and, [1) =
_
0
1
_
.
Example Heres a more complex example:
[u) = (1 +i)[0) + (2 3i)[1)
=
_
1 +i
2 3i
_
.
3.8.3 The Zero Vector
The 0 vector is the vector where all entries are 0.
3.8.4 Properties of Vectors in C
n
Given scalars (, ) C and vectors ([u), [v), [w)) C
n
.
Scalar Multiplication and Addition
Listed here are some basic properties of complex scalar multiplication and ad-
dition.
[u) =
_
_
u
1
.
.
.
u
n
_
_
. (3.59)
([u)) = [u). (3.60)
([u) +[v)) = [u) +[v). Associative law for scalar multiplication (3.61)
( +)[u) = [u) +[u). Distributive law for scalar addition (3.62)
([u) +[v)) = [u) +[v). (3.63)
Vector Addition
A sum of vectors can be represented by:
[u) +[v) =
_
_
u
1
+v
1
.
.
.
u
n
+v
n
_
_
. (3.64)
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
56 Vectors and Vector Spaces
This sum has the following properties:
[u) +[v) = [v) +[u). Commutative (3.65)
([u) +[v)) +[w) = [u) + ([v) +[w)). Associative (3.66)
[u) + 0 = [u). (3.67)
For every [u) C
n
there is a corresponding unique vector [u) such that:
[u) + ([u)) = 0. (3.68)
3.8.5 The Dual Vector
The dual vector u[ corresponding to a ket vector [u) is obtained by transpos-
ing the corresponding column vector and conjugating its components. This is
called, in quantum mechanics, a bra and we have:
u[ = [u)
= [u
1
, u
2
, . . . , u
n
]. (3.69)
The dagger symbol, is called the adjoint and is introduced in section 3.8.18.
Example The dual of [0).
0[ = [0)
= [1
, 0
].
Example Given the vector [u) where:
[u) =
_
1 i
1 +i
_
.
The dual of [u) is:
u[ = [(1 i)
, (1 +i)
]
= [(1 +i), (1 i)]
3.8.6 Linear Combinations
A vector [u) is a linear combination of vectors [v
1
), [v
2
), . . . , [v
n
) if [u) can be ex-
pressed by:
[u) =
1
[v
1
) +
2
[v
2
) +. . . +
n
[v
n
) (3.70)
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Vectors and Vector Spaces 57
where scalars
1
,
2
, . . . ,
n
are complex numbers.
We can represent a linear combination as:
[u) =
n
i=1
i
[v
i
). (3.71)
3.8.7 Linear Independence
A set of non-zero vectors [
1
), ..., [
n
) is linearly independent if:
n
i=1
a
i
[
i
) = 0 iff a
1
= ... = a
n
= 0. (3.72)
Example Linear dependence. The row vectors (bras) [1, 1], [1, 2], and [2, 2]
are linearly dependent because:
[1, 1] + [1, 2] [2, 1] = [0, 0]
i.e there is a linear combination with a
1
= 1, a
2
= 1, a
3
= 1 (other than the
zero condition above) that evaluates to 0; So they are not linearly indepen-
dent.
3.8.8 Spanning Set
A spanning set is a set of vectors [
1
), ..., [
n
) for V in terms of which every vec-
tor in V can be written as a linear combination.
Example Vectors u = [1, 0, 0], v = [0, 1, 0], and w = [0, 0, 1] span R
3
because
all vectors [x, y, z] in R
3
can be written as a linear combination of u, v, and w
like the following:
[x, y, z] = xu +yv +zw.
3.8.9 Basis
Abasis is any set of vectors that are a spanning set and are linearly independent.
Most of the time with quantum computing well use a standard basis, called
the computational basis. This is also called an orthonormal basis (see section
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
58 Vectors and Vector Spaces
3.8.14). In C
2
we can use [0) and [1) for the basis. In C
4
we can use [00),[01),[10),
and [11) for a basis (the tensor product is needed to understand this - see section
3.8.28).
3.8.10 Probability Amplitudes
We can write a vector as a combination of basis vectors. In quantum me-
chanics we use a state vector [). The state vector in C
2
is often written as
[) = [0) +[1).
The scalars (e.g. and in [0) + [1)) associated with our basis vectors are
called probability amplitudes. Because in quantummechanics they give the prob-
abilities of projecting the state into a basis state, [0) or a [1), when the appropri-
ate measurement is performed (see chapter 4).
To t with the probability interpretation the square of the absolute values of
the probability amplitudes must sum to 1:
[[
2
+[[
2
= 1. (3.73)
Example Determine the probabilities of measuring a [0) or a [1) for
_
1
3
[0) +
_
2
3
[1).
First, check if the probabilities sum to 1.
_
1
3
[0) +
_
2
3
[1) =
_
1
3
2
+
_
2
3
2
=
1
3
+
2
3
= 1.
They do sum to 1 so convert to percentages.
1
3
(100) = 33.
3 and
2
3
(100) = 66.
6 .
So this give us a 33.
6% chance of
measuring a [1).
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Vectors and Vector Spaces 59
E
T
c
' .
.
.
.
.
.
.
Z
Z
Z
Z
Z
1
.
.
.
n
_
_
and,
[v) =
_
1
.
.
.
n
_
_
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
60 Vectors and Vector Spaces
we can calculate the inner product:
[
1
, ...,
n
]
_
1
.
.
.
n
_
_
= u[ [v) (3.76)
= u[v). (3.77)
An inner product can also be represented in the following format:
([u), [v)) = u[v). (3.78)
So for C
2
the following are equivalent:
__
u
1
u
2
_
,
_
v
1
v
2
__
= ([u), [v)) = u[ [v) = u[v) = [u
1
, u
2
]
_
v
1
v
2
_
= u
1
v
1
+u
2
v
2
.
Example Using the inner product notation from above we can extract a
probability amplitude if we use one of the basis vectors as the original vec-
tors dual:
0[([0) +[1)) = [1
, 0
]
_
_
=
or using dot product notation,
0[([0) +[1)) =
_
1
0
_
_
= .
This is called bra-ket notation. Hilbert space is the vector space for complex
inner products.
Properties:
u[v) = v[u)
. (3.79)
u[v) =
, 0
]
_
0
1
_
= 0.
Example The vectors:
[u) =
_
1
1
_
and [v) =
_
1
1
_
are orthogonal because:
u[v) = ((1, 1), (1, 1))
= 1 1 + 1 (1)
= 0.
Example The vectors:
[u) =
_
1 +i
2 2i
_
and [v) =
_
i
1
2
_
are orthogonal because:
[1 i, 2 + 2i]
_
i
1
2
_
= 0.
3.8.13 The Unit Vector
A vectors norm is:
|[u)| =
_
u[u) . (3.86)
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
62 Vectors and Vector Spaces
A unit vector is a vector where its norm is equal to 1.
|[u)| = 1. (3.87)
If we want to make an arbitrary vector a unit vector, which here is represented
by the(hat) symbol. We must normalise it by dividing by the norm:
[ u) =
[u)
|[u)|
. (3.88)
Example Normalise [u) =
_
1
1
_
(= [0) +[1)).
First we nd the norm:
|[u)| =
_
[1
, 1
]
_
1
1
_
=
2 .
Now we normalise |[u)| to get:
[ u) =
_
1
1
_
2
=
1
2
_
1
1
_
=
_
1
2
1
2
_
=
1
2
[0) +
1
2
[1).
3.8.14 Bases for C
n
C
n
has a standard basis (see 3.7.9) which is:
_
_
1
0
. . .
0
_
_
,
_
_
0
1
. . .
0
_
_
, . . . ,
_
_
0
0
. . .
1
_
_
. (3.89)
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Vectors and Vector Spaces 63
E
T
E
T
x
y
z
Figure 3.7: A local coordinate system.
This is written as [0), [1), . . . , [n 1). Any other vector in the same space can
be expanded in terms of [0), [1), ..., [n 1). The basis is called orthonormal be-
cause the vectors are of unit length and mutually orthogonal. There are other
orthonormal bases in C
n
and, in quantum computing, it is sometimes conve-
nient to switch between bases.
Example Orthonormal bases [0), [1) and
1
2
([0) +[1)),
1
2
([0) [1)) are often
used for quantum computing.
Its useful at this point to consider what an orthonormal basis is in R
3
. The
ortho part of orthonormal stands for orthogonal, which means the vectors
are perpendicular to each other, for example the 3D axes (x, y, z) are orthog-
onal. The normal part refers to normalised (unit) vectors. We can use an
orthonormal basis in R
3
to separate world coordinates from a local coordinate
system in 3D computer graphics. In this system we dene the position of the
local coordinate system in world coordinates and then we can dene the po-
sitions of individual objects in terms of the local coordinate system. In this
way we can transform the local coordinates system, together with everything
in it while leaving the world coordinates system intact. In gure 3.7 the local
coordinate system forms an orthonormal basis.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
64 Vectors and Vector Spaces
3.8.15 The Gram Schmidt Method
Suppose [u
1
), . . . , [u
n
) is a basis (any basis will do) for vector space V that has
an inner product. Suppose this basis is not orthonormal.
The Gram Schmidt method can be used to produce an orthonormal basis set
[v
1
), . . . , [v
n
) for V by,
[v
1
) =
[u
1
)
|[u
1
)|
(3.90)
and given [v
k+1
) for 1 k < n 1:
[v
k+1
) =
[u
k+1
)
k
i=1
v
i
[u
k+1
)[v
i
)
|[u
k+1
)
k
i=1
v
i
[u
k+1
)[v
i
)|
. (3.91)
Example Given the following vectors in C
3
: [u
1
) = (i, i, i), [u
2
) = (0, i, i),
and [u
3
) = (0, 0, i) nd an orthonormal basis [v
1
), [v
2
), [v
3
).
[v
1
) =
[u
1
)
|[u
1
)|
=
(i, i, i)
3
=
_
i
3
,
i
3
,
i
3
_
[v
2
) =
[u
2
) v
1
[u
2
)[v
1
)
|[u
2
) v
1
[u
2
)[v
1
)|
=
_
2i
6
,
i
6
,
i
6
_
[v
3
) =
[u
3
) v
1
[u
3
)[v
1
) v
2
[u
3
)[v
2
)
|[u
3
) v
1
[u
3
)[v
1
) v
2
[u
3
)[v
2
)|
=
_
0,
i
2
,
i
2
_
.
3.8.16 Linear Operators
A linear operator A : V W where V and W are complex vector spaces is
dened as:
A([u) +[v)) = (A([u)) +(A[v))). (3.92)
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Vectors and Vector Spaces 65
With dimensions n for V and m for W the linear operator can be represented
by an mn matrix.
Example Given a linear operator A, apply it to
_
1
3
[0) +
_
2
3
[1):
A =
_
0 1
1 0
_
.
A
_
_
1
3
[0) +
_
2
3
[1)
_
=
_
0 1
1 0
__
_
1
3
[0) +
_
2
3
[1)
_
=
_
0 1
1 0
_
_
_
_
1
3
_
2
3
_
_
=
_
_
_
2
3
_
1
3
_
_
=
_
2
3
[0) +
_
1
3
[1).
Properties:
u[A[v) is the inner product of u[ and A[v). (3.93)
3.8.17 Outer Products and Projectors
We dene an outer product, [u)v[ as a linear operator A which does the follow-
ing:
([u)v[)([w)) = [u)v[w) = v[w)[u). (3.94)
This can be read as,
1. The result of the linear operator [u)v[ acting on [w)
or,
2. The result of multiplying [u) by v[w).
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
66 Vectors and Vector Spaces
In terms of matrices, [u)v[ can be represented by:
_
_
u
1
u
2
.
.
.
_
_
_
v
1
v
2
. . .
_
=
_
_
u
1
v
1
u
1
v
2
. . . u
1
v
n
u
2
v
1
u
2
v
2
. . . u
2
v
n
.
.
.
.
.
.
u
n
v
1
u
n
v
2
. . . u
n
v
n
_
_
. (3.95)
Example Take [) = [0) +[1) for [w) then:
[1)1[) = [1)1[([0) +[1))
= [1)
= [1),
[0)1[) = [0)1[([0) +[1))
= [0)
= [0),
[1)0[) = [1)0[([0) +[1))
= [1)
= [1),
[0)0[) = [0)0[([0) +[1))
= [0)
= [0).
In the chapters ahead we will use projectors to deal with quantum measure-
ments. Say we have a vector space V = [00), [01), [10), [11). A projector P on
to the subspace V
s
= [00), [01) behaves as follows:
P(
00
[00) +
01
[01) +
10
[10) +
11
[11)) =
00
[00) +
01
[01).
P projects any vector in V onto V
s
(components not in V
s
are discarded). We
can represent projectors with outer product notation. Given a subspace which
is spanned by orthonormal vectors, [u
1
), [u
2
) . . . , [u
n
). A projection on to this
subspace can be represented by a summation of outer products:
P =
n
i=1
[u
i
)u
i
[ (3.96)
= [u
1
)u
1
[ +[u
2
)u
2
[ +. . . +[u
n
)u
n
[. (3.97)
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Vectors and Vector Spaces 67
So, we can replace the projector notation P with the explicit outer product no-
tation:
([00)00[ +[01)01[)(
00
[00) +
01
[01) +
10
[10) +
11
[11)) =
00
[00) +
01
[01).
We can also represent a matrix (an operator for example) using outer product
notation, as shown in the next example.
Example Representing operators X and Z. These two matrices are dened
below, but it turns out they are quite handy for quantum computing. Well
be using them frequently in the chapters ahead:
[0)1[ =
_
1
0
_
_
0
_
=
_
0 1
0 0
_
,
[1)1[ =
_
0
1
_
_
0
_
=
_
0 0
0 1
_
,
[0)0[ =
_
1
0
_
_
1
_
=
_
1 0
0 0
_
,
[1)0[ =
_
0
1
_
_
1
_
=
_
0 0
1 0
_
.
X =
_
0 1
1 0
_
= [0)1[ +[1)0[,
Z =
_
1 0
0 1
_
= [0)0[ [1)1[.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
68 Vectors and Vector Spaces
Properties:
i
[i)i[ = I for any orthonormal basis [i). The completeness relation
(3.98)
Given a subspace V
s
= [1) , . . . , [k)
then V = [1) , . . . , [k) [k + 1) , . . . , [d) . (3.99)
Each component [u) u[ of P is hermitian
and P itself is hermitian (see 3.8.23). (3.100)
P
= P. (3.101)
P
2
= P. (3.102)
Q = I P is called the orthogonal complement
and is a projector onto [k + 1) , . . . , [d) in 3.98. (3.103)
Notice how we have slightly changed the notation here for
. By saying
i
[i)i[ we actually mean for each element n in the set [i) then add [n)n[
to the total.
Later well look at quantum measurements, and well use Mm to represent
a measurement. If we use a projector (i.e. Mm = P ) for measurement then the
probability of measuring m is:
pr(m) = [ M
m
M
m
[) .
By 3.100 and 3.101 we can say that this is equivalent to:
pr(m) = [ M
m
[) .
3.8.18 The Adjoint
The adjoint A
= (A
)
T
. (3.104)
Example An adjoint.
_
1 +i 1 i
1 1
_
=
_
1 i 1
1 +i 1
_
.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Vectors and Vector Spaces 69
Properties:
A[u) = u[A
. (3.105)
u[Av) = A
u[v). (3.106)
(AB)
= B
. (3.107)
(A
= A. (3.108)
([u))
= u[. (3.109)
(A[u))
= u[A
. (3.110)
(A +B)
. (3.111)
Example Example of u[Av) = A
u[v). Given,
[u) =
_
1
i
_
, [v) =
_
1
1
_
and A =
_
1 +i 1 i
1 1
_
.
A[v) =
_
1 +i 1 i
1 1
__
1
1
_
=
_
2
0
_
,
u[Av) = 2,
A
[u) =
_
1 i 1
1 +i 1
__
1
i
_
=
_
1 2i
1 + 2i
_
,
A
u[v) =
_
1 + 2i 1 2i
_
_
1
1
_
= 2.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
70 Vectors and Vector Spaces
3.8.19 Eigenvalues and Eigenvectors
The complex number is an eigenvalue of a linear operator A if there exists
vector [u) such that:
A[u) = [u) (3.112)
where [u) is called an eigenvector of A.
Eigenvalues of A can be found by using the following equation, called the char-
acteristic equation of A:
c() = det(A I) = 0. (3.113)
This comes from noting that:
A[u) = [u) (A I)[u) = 0 A I is singular det(A I) = 0.
Solving the characteristic equation gives us the characteristic polynomial of A.
We can then solve the characteristic polynomial to nd all the eigenvalues for
A. If A is an n n matrix, there will be n eigenvalues (but some may be the
same as others).
Properties:
As i
th
eigenvalue
i
has eigenvector [u
i
) iff A[u
i
) =
i
[u
i
). (3.114)
An eigenspace for
i
is the set of eigenvectors that satises
A[u
j
) =
i
[u
j
), here j is the index for eigenvectors of
i
. (3.115)
An eigenspace is degenerate when it has dimension > 1
i.e. more than one eigenvector. (3.116)
Note: The eigenvectors that match different eigenvalues are linearly indepen-
dent, which means we can have an orthonormal set of eigenvectors for an op-
erator A.
An example is on the next page.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Vectors and Vector Spaces 71
Example Eigenvalues and eigenvectors of X.
X =
_
0 1
1 0
_
.
det(X I) =
_
1
1
_
=
2
1.
This is the characteristic polynomial. The two solutions to
2
1 = 0 are
= 1 and = +1. If we use the eigenvalue of = 1 to determine the
corresponding eigenvector [
1
) of X we get:
X[
1
) = 1[
1
)
_
0 1
1 0
__
_
=
_
_
_
_
=
_
_
.
We get = , so after normalisation our eigenvector is:
[
1
) =
1
2
[0)
1
2
[1).
Notice that weve used the eigenvalue = 1 to label the eigenvector [
1
).
3.8.20 Trace
The trace of A is the sum of its eigenvalues, or:
tr(A) =
n
i=1
a
ii
(3.117)
i.e. the sum of its diagonal entries.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
72 Vectors and Vector Spaces
Example Trace of X and I
X =
_
0 1
1 0
_
.
I =
_
1 0
0 1
_
.
tr(X) = 0 + 0 = 0 or the sum of the eigenvalues 1 + (1) = 0. For I we have
tr(I) = 2.
Properties:
tr(A +B) = tr(A) + tr(B). (3.118)
tr((A +B)) = tr(A) +tr(B). (3.119)
tr(AB) = tr(BA). (3.120)
tr([u)v[) = u[v). (3.121)
tr(A) = tr(A). (3.122)
tr(UAU
AU =
_
1
.
.
.
n
_
_
.
which also has a trace which is the sum the eigenvalues of A as tr(U
AU) =
tr(A) (see section 3.8.24 below).
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Vectors and Vector Spaces 73
Figure 3.8: Relationships between operators.
3.8.21 Normal Operators
A normal operator satises the following condition:
AA
= A
A. (3.131)
The class of normal operators has a number of subsets. In the following sections
well look at some of the important normal operators. These include unitary,
hermitian, and positive operators. The relationships between these operators is
shown in gure 3.8.
3.8.22 Unitary Operators
Matrix U is unitary (unitary operators are usually represented by U) if:
U
1
= U
(3.132)
or,
UU
= U
U = I. (3.133)
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
74 Vectors and Vector Spaces
Eigenvectors of unitary matrices have a modulus of 1:
|U[u)| = |[u)| [u). (3.134)
Unitary operators have the property that they preserve norm, and are invert-
ible. There are some particularly important operators called the Pauli operators.
Weve seen some of them already, they are referred to by the letters I, X, Y,
and Z. In some texts X, Y, and Z are referred to by another notation, where
1
=
X
= X,
2
=
Y
= Y, and
3
=
Z
= Z. The Pauli operators are dened
as:
I =
_
1 0
0 1
_
, (3.135)
X =
_
0 1
1 0
_
, (3.136)
Y =
_
0 i
i 0
_
, (3.137)
Z =
_
1 0
0 1
_
. (3.138)
Example I, X, Y, and Z are unitary because:
II
= I
2
=
_
1 0
0 1
__
1 0
0 1
_
=
_
1 0
0 1
_
.
XX
= X
2
=
_
0 1
1 0
__
0 1
1 0
_
=
_
1 0
0 1
_
.
Y Y
= Y
2
=
_
0 i
i 0
__
0 i
i 0
_
=
_
1 0
0 1
_
.
ZZ
= Z
2
=
_
1 0
0 1
__
1 0
0 1
_
=
_
1 0
0 1
_
.
Note: I = I
, X = X
, Y = Y
, and Z = Z
.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Vectors and Vector Spaces 75
Properties (of unitary operators):
U =
j
[j)j[. (3.139)
(U[u), U[v)) = u[U
i
[v
i
)u
i
[. (3.146)
Unitary matrices have eigenvalues of modulus 1. (3.147)
If([u), A[u)) > 0 [u) in V (all positive eigenvalues). (3.148)
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
76 Vectors and Vector Spaces
3.8.23 Hermitian and Positive Operators
A hermitian matrix A has the property:
A = A
. (3.149)
The eigenvalues of a hermitian matrix are real numbers and hermitian matrices
are also normal (although not all normal matrices need real eigenvalues).
Example The matrix X is Hermitian because:
X =
_
0 1
1 0
_
=, X
=
_
0 1
1 0
_
.
Properties:
A = B +iC can represent any operator if B and C are hermitian
with C = 0 if A itself is hermitian. (3.150)
If A is hermitian then for [u), u[A[u) R. (3.151)
If A is hermitian then A is a positive operator iff for [u), u[Au) R
and u[Au) 0. (3.152)
If A is positive it has no negative eigenvalues. (3.153)
3.8.24 Diagonalisable Matrix
An operator A is diagonalisable if:
A =
i
[u
i
)u
i
[. (3.154)
The vectors [u
i
) form an orthonormal set of eigenvectors for A, with eigenval-
ues of
i
. This is the same as saying that A can be transformed to:
_
1
.
.
.
n
_
_
. (3.155)
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Vectors and Vector Spaces 77
Example Representing operator X:
X =
_
0 1
1 0
_
.
The two normalised eigenvectors for X are:
1
2
[0)
1
2
[1) and
1
2
[0) +
1
2
[1).
The two vectors are orthogonal (with eigenvalues 1 and +1),
_
1
2
0[
1
2
1[
_ _
1
2
[0) +
1
2
[1)
_
=
1
2
[0[0) 0[1) +1[0) 1[1)]
=
1
2
[1 0 + 0 1]
= 0.
So X is diagonalisable and is given by:
X =
1
2
[[0) +[1)][0[ +1[]
1
2
[[0) [1)][0[ 1[].
Which expanded is:
1
2
([0[0) +0[1) +1[0) +1[1)])
1
2
([0[0) 0[1) 1[0) +1[1)]).
3.8.25 The Commutator and Anti-Commutator
Here is a set of properties for the Commutator and Anti-Commutator which relate
to commutative relationships between two operators A and B.
Commutator:
[A, B] = AB BA, A and B commute (AB = BA) if [A, B] = 0. (3.156)
Anti-commutator:
A, B = AB +BA, we say A and B anti-commute if A, B = 0. (3.157)
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
78 Vectors and Vector Spaces
Example We test X and Z against the commutator.
[X, Z] =
_
0 1
1 0
__
1 0
0 1
_
_
1 0
0 1
__
0 1
1 0
_
=
_
0 2
2 0
_
,= 0.
So X and Z do not commute.
The simultaneous diagonalisation theorem says that if H
A
and H
B
are hermitian,
[H
A
, H
B
] = 0 if a set of orthonormal eigenvectors for both H
A
, H
B
so:
H
A
=
i
[i)i[ and H
B
=
i
[i)i[. (3.158)
i.e. they are both diagonal in a common basis.
Properties:
AB =
[A, B] +A, B
2
. (3.159)
[A, B]
= [A
, B
]. (3.160)
[A, B] = [B, A]. (3.161)
[H
A
, H
B
] is hermitian if H
A
, H
B
are hermitian. (3.162)
3.8.26 Polar Decomposition
Polar decomposition says that any linear operator A can be represented as A =
U
AA
A = AA
i
[u
i
)u
i
[. (3.163)
Example Spectral decomposition of X and Z.
Z =
_
1 0
0 1
_
= [0)0[ [1)1[.
X =
_
0 1
1 0
_
= [+)+[ [)[.
X has eigenvectors [+) =
1
2
[0) +[1), and [) =
1
2
[0) [1) and eigenvalues
of +1, and 1 Then, if we expand, we get back X:
[+)+[ [)[ =
1
2
_
1
1
_
[11]
1
2
_
1
1
_
[1 1]
=
1
2
_
1 1
1 1
_
1
2
_
1 1
1 1
_
=
_
0 1
1 0
_
.
Properties:
A = UDU
a
[a)a[. (3.165)
3.8.28 Tensor Products
In a tensor product we have a combination of two smaller vector spaces to form
a larger one. The elements of the smaller vector spaces are combined whilst
preserving scalar multiplication and linearity, formally:
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
80 Vectors and Vector Spaces
If [u) and [v) are bases for V and W respectively then [u) [v) form a
basis for V W. We can write this in the following way:
[u) [v) = [u)[v) = [u, v) = [uv). (3.166)
Example A simple tensor product.
[1) [0) = [1)[0) = [1, 0) = [10).
The Kronecker product is dened as:
A B =
_
a b
c d
_
_
x y
v w
_
(3.167)
=
_
a B b B
c B d B
_
(3.168)
=
_
_
ax ay bx by
av aw bv bw
cx cy dx dy
cv cw dv dw
_
_
. (3.169)
where A and B are linear operators.
Example A Kronecker product on Pauli matrices X. and Y
X =
_
0 1
1 0
_
and Y =
_
0 i
i 0
_
.
X Y =
_
0 Y 1 Y
1 Y 0 Y
_
=
_
0 1
1 0
__
0 i
i 0
_
=
_
_
0 0 0 i
0 0 1 0
0 i 0 0
i 0 0 0
_
_
.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Fourier Transforms 81
Properties:
Tensor products are related to the inner product:
([uv), [u
)) = ([u), [u
))([v), [v
)) (3.170)
= u[u
)v[v
). (3.171)
[u)
k
= ([u) . . . [u))
k
k times. (3.172)
(A B)
= A
. (3.173)
(A B)
T
= A
T
B
T
. (3.174)
(A B)
= A
. (3.175)
[ab)
= ab[. (3.176)
([u, v)) = [u, v) = [u, v). (3.177)
[u
1
+u
2
, v) = [u
1
, v) +[u
2
, v). (3.178)
[u, v
1
+v
2
) = [u, v
1
) +[u, v
2
). (3.179)
[uv) ,= [vu). (3.180)
For linear operators A and B, A B([uv)) = A[u) A[v). (3.181)
For normal operators N
A
and N
B
, N
A
N
B
will be normal. (3.182)
For hermitian operators H
A
and H
B
, H
A
H
B
will be hermitian. (3.183)
For unitary operators U
A
and U
B
, U
A
U
B
will be unitary. (3.184)
For positive operators P
A
and P
B
, P
A
P
B
will be positive. (3.185)
3.9 Fourier Transforms
The Fourier transform, which is named after Jean Baptiste Joseph Fourier, 1768
- 1830 (gure 3.9), maps data from the time domain to the frequency domain. The
discrete Fourier transform (DFT) is a version of the Fourier transform which, un-
like the basic Fourier transform, does not involve calculus and can be directly
implemented on computers but is limited to periodic functions. The Fourier
transform itself is not limited to periodic functions.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
82 Fourier Transforms
Figure 3.9: Jean Baptiste Joseph Fourier.
3.9.1 The Fourier Series
Representing a periodic function as a linear combination of sines and cosines is
called a Fourier series expansion of the function. We can represent any periodic,
continuous function as a linear combination of sines and cosines. In fact, like [0)
and [1) forms an orthonormal basis for quantum computing, sin and cos form
an orthonormal basis for the time domain based representation of a waveform.
One way to describe an orthonormal basis is:
That which you measure against.
The fourier series has the form:
f(t) =
a
0
2
+
n=1
a
n
sin(nt) +
n=1
b
n
cos(nt). (3.186)
So if we have a waveform we want to model we only need to nd the coef-
cients a
0
, a
1
, . . . , a
n
and b
0
, b
1
, . . . , b
n
and the number of sines and cosines. We
wont go into the derivation of these coefcients (or how to nd the number of
sines and cosines) here. The denition will be enough, as this is only meant to
be a brief introduction to the Fourier series. For example, suppose weve found
a
1
= 0.5, a
4
= 2 and b
2
= 4 and all the rest are 0; then the Fourier series is:
f(t) = 0.5 sin(t) + 2 sin(4t) + 4 cos(2t)
which is represented by the following graph:
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Fourier Transforms 83
8
6
4
2
0
2
4
6
8
0 1 2 3 4 5
0.5 sin(t) + 2 sin(4t) + 4 cos(2t)
The function f(t) is made up of the following waveforms, 0.5 sin(t), 2 sin(4t),
and 4 cos(2t). Again, its helpful to look at them graphically:
6
4
2
0
2
4
6
0 1 2 3 4 5
0.5 sin(t)
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
84 Fourier Transforms
6
4
2
0
2
4
6
0 1 2 3 4 5
2 sin(4t)
6
4
2
0
2
4
6
0 1 2 3 4 5
4 cos(2t)
If we analyse the frequencies and amplitudes of the components of f(t) we get
the following results [Shatkay, H. 1995]:
Waveform Sine Amplitude Cosine Amplitude Frequency
0.5 sin(t)
1
2
0 2
2 sin(4t) 2 0
1
2
4 cos(2t) 0 4 1
We can also rewrite the sinusoids above as a sum of numbers in complex, ex-
ponential form.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Fourier Transforms 85
3.9.2 The Discrete Fourier Transform
The DFT maps from a discrete, periodic sequence t
k
to a set of coefcients rep-
resenting the frequencies of the discrete sequence. The DFT takes as input and
outputs an array of complex numbers. The number of elements in the array is
governed by the sampling rate and the length of the waveform. Formally, The
N complex numbers t
0
, ..., t
N1
are transformed into the N complex numbers
f
0
, ..., f
N
1 according to the formula:
f
j
=
N1
k=0
t
k
e
2i
N
jk
j = 0, . . . , N 1. (3.187)
The DFT is a linear operator with an invertible matrix representation, so we can
take the conversion back to its original form using:
t
k
=
1
N
N1
j=0
f
j
e
2i
N
kj
k = 0, . . . , N 1. (3.188)
We have chosen to represent our periodic functions as a sequence of sines and
cosines. To use the above formulas they need to be converted to complex, expo-
nential form. Because the sequence we are after is discrete we need to sample
various points along the sequence. The sample rate N determines the accuracy
of our transformation. With the lower bound on the sampling rate being found
by applying Nyquists theorem (which is beyond the scope of this paper).
Lets look at doing a DFT on f(t) = 0.5 sin(t) + 2 sin(4t) + 4 cos(2t) and
adjust the sampling rate until we get an acceptable waveform in the frequency
domain:
The graph below is just f(t) = 0.5 sin(t) +2 sin(4t) +4 cos(2t) with sampling
points at the whole numbers (1, 2, . . . , N) as you can see if we only sample at
this point we get no notion of a wave at all.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
86 Fourier Transforms
6
4
2
0
2
4
6
0 2 4 6 8 10 12
0.5 sin(t) + 2 sin(4t) + 4 cos(2t)
Instead of adjusting the sample rate to be fractional, we just have to adjust the
function slightly, which just makes the x-axis longer but retains our wave. The
function now looks like this:
f(t) = 0.5 sin
_
t
2
_
+ 2 sin
_
4
t
2
_
+ 4 cos
_
2
t
2
_
.
So we are effectively sampling at twice the rate.
6
4
2
0
2
4
6
0 2 4 6 8 10 12
0.5 sin(
t
2
) + 2 sin(4
t
2
) + 4 cos(2
t
2
)
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Fourier Transforms 87
Below we show a sampling rate of 50 times the original rate and our waveform
looks good, the function now looks like this:
f(t) = 0.5 sin
_
t
50
_
+ 2 sin
_
4
t
50
_
+ 4 cos
_
2
t
50
_
.
8
6
4
2
0
2
4
6
8
0 50 100 150 200 250
0.5 sin(
t
50
) + 2 sin(4
t
50
) + 4 cos(2
t
50
)
Finally, here is f(t) = 0.5 sin(
t
50
)+2 sin(4
t
50
)+4 cos(2
t
50
) after it has been put
through the DFT, it is now in the frequency domain:
0
10
20
30
40
50
0 20 40 60 80 100 120
DFT(0.5 sin(
t
50
) + 2 sin(4
t
50
) + 4 cos(2
t
50
))
Later, in chapter 7, well see how the quantum analogue of the DFT (called the
quantum fourier transform) can be used for quantum computing.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Chapter 4
Quantum Mechanics
Quantummechanics is generally about the novel behaviour of very small things.
At this scale matter becomes quantised, this means that it can be subdivided no
more. Quantum mechanics has never been wrong, it explains why the stars
shine, how matter is structured, the periodic table, and countless other phe-
nomena. One day scientists hope to use quantum mechanics to explain every-
thing, but at present the theory remains incomplete as it has not been success-
fully combined with classical theories of gravity.
Some strange effects happen at the quantum scale. The following effects are
important for quantum computing:
Superposition and interference
Uncertainty
Entanglement
This chapter is broken into two parts. In the rst part well look briey at the
history of quantum mechanics. Then, in the second part we will examine some
important concepts (like the ones above) of quantum mechanics and how they
relate to quantum computing.
The main references used for this chapter are, Introducing Quantum Theory by
J.P. McEvoy and Oscar Zarate, and Quantum Physics, Illusion or Reality by Alas-
tair Rae. Both of these are very accessible introductory books.
89
90 History
Figure 4.1: James Clerk Maxwell and Isaac Newton.
Figure 4.2: Nicolaus Copernicus and Galileo Galilei.
4.1 History
4.1.1 Classical Physics
Classical physics roughly means pre-20
th
century physics, or pre-quantumphysics.
Two of the most important classical theories are electromagnetism, by James
Clerk Maxwell, 1831 - 1879 (gure 4.1) and Isaac Newtons mechanics. Isaac
Newton, 1642 - 1727 (gure 4.1) is arguably the most important scientist of all
time due to the large body of work he produced that is still relevant today. Prior
to this, Nicolaus Copernicus, 1473 - 1543 and Galileo Galilei, 1564 - 1642 (g-
ure 4.2) created the modern scientic method (we might also include Leonardo
Davinci, 1452 - 1519) by testing theories with observation and experimentation.
Classical physics has a number of fundamental assumptions, they are:
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
History 91
The universe is a giant machine.
Cause and effect, i.e. all non-uniform motion and action is caused by some-
thing (uniform motion doesnt need a cause, this is Galileos principle of
inertia).
Determinism, if a state of motion is known now then because the universe is
predictable, we can say exactly what it has been and what it will be at any
time.
Light is a wave that is completely described by Maxwells wave equations.
These are four equations that describe all electric and magnetic phenom-
ena.
Particles and waves exist, but they are distinct.
We can measure any system to an arbitrary accuracy and correct for any er-
rors caused by the measuring tool.
Its all proven, or is it? No, the above assumptions do not hold for quantum
mechanics.
4.1.2 Important Concepts
In the lead up to quantum mechanics there are some important concepts from
classical physics that we should look at. These are the concepts of atoms, ther-
modynamics, and statistical analysis.
Atoms
Atoms are dened as indivisible parts of matter rst postulated by Democritus,
460 - 370 BC(gure 4.3). The idea was dismissed as a waste of time by Aristotle,
(384 - 322 BC) but two thousand years later the idea started gaining acceptance.
The rst major breakthrough was in 1806 when John Dalton, 1766 - 1844 (gure
4.3) predicted properties of elements and compounds using the atomic concept.
Thermodynamics
Thermodynamics is the theory of heat energy. Heat is understood to be disor-
dered energy; e.g. the heat energy in a gas is the kinetic energies of all the
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
92 History
Figure 4.3: Democritus and John Dalton.
Figure 4.4: Hermann von Helmholtz and Rudolf Clausius.
molecules. The temperature is a measure of how fast the molecules are trav-
elling (if a gas or liquid; if solid, how fast they are vibrating about their xed
positions in the solid).
Thermodynamics is made up of two laws:
The rst law of thermodynamics
In a closed system, whenever a certain amount of energy dis-
appears in one place an equivalent amount must appear else-
where in the system is some form.
This law of conservation of energy was originally stated by Herman Von
Helmholtz, 1824 - 1894 (gure 4.4).
The second law of thermodynamics
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
History 93
Figure 4.5: Maxwell distribution.
Rudolf Clausius, 1822 - 1888 (gure 4.4) called the previous law the rst
of two laws. He introduced a new concept, entropy which in terms of heat
transfer is:
The total entropy of a system increases when heat ows from
a hot body to a cold one. Heat always ows from hot to cold
[Rae, A. 1996, p.18].
So this implies that an isolated systems entropy is always increasing until
the system reaches thermal equilibrium (i.e. all parts of the system are at
the same temperature).
4.1.3 Statistical Mechanics
In 1859, J.C. Maxwell, using the atomic model, came up with a way of statisti-
cally averaging the velocities of randomly chosen molecules of a gas in a closed
system like a box (because it was impossible to track each one). The graph is
shown in gure 4.5, remember hotter molecules tend to go faster, the graphs n
axis denotes the number of molecules (this particular graph shows CO
2
). The v
axis denotes velocity. The letters a, b, and c represent molecules at 100
K, 400
K,
and 1600
K respectively.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
94 History
Figure 4.6: Ludwig Boltzmann and Niels Bohr.
In the 1870s Ludwig Boltzmann, 1844 - 1906 (gure 4.6) generalised the the-
ory to any collection of entities that interact randomly, are independent, and
are free to move. He rewrote the second law of thermodynamics to say:
As the energy in a system degrades the systems atoms become
more disordered and there is an increase in entropy. to measure this
disorder we consider the number of congurations or states that the
collection of atoms can be in.
If this number is W then the entropy S is dened as:
S = k log W (4.1)
where k is Boltzmanns constant k = 1.38 10
23
J/K.
So the behaviour of large things could now be predicted by the average sta-
tistical behaviour of the their smaller parts, which is important for quantum
mechanics. There also remains the probability that a uctuation can occur, a
statistical improbability that may seem nonsensical but nonetheless the theory
must cater for it. For example, if we have a box containing a gas a uctuation
could be all particles of the gas randomly clumping together in one corner of
the box.
4.1.4 Important Experiments
There are two major periods in the development of quantum theory, the rst
culminating in 1913 with the Niels Bohr, 1885 - 1962 (gure 4.6) model of the
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
History 95
atom and ending in about 1924. This is called old quantum theory. The new
quantum theory began in 1925. The old quantum theory was developed in some
part to explain the results of three experiments which could not be explained
by classical physics, they are:
Black body radiation, and the ultraviolet catastrophe.
The Photoelectric effect.
Bright Line Spectra.
These experiments, and their subsequent explanations are described in the next
three sections.
Black Body Radiation
A black body absorbs all electromagnetic radiation (light) that falls on it and
would appear black to an observer because it reects no light. To determine
the temperature of a black body we have to observe the radiation emitted from
it.
Associates of Max Planck, 1858 - 1947, (gure 4.8) measured the distribution
of radiation and energy over frequency in a cavity, a kind of oven with a little
hole for a small amount of heat (light, radiation) to escape for observation. Be-
cause the radiation is conned in the cavity it settles down to an equilibrium
distribution of the molecules in a gas. They found the frequency distributions
to be similar to Maxwells velocity distributions. The colour of the light emit-
ted is dependent on the temperature. E.g. the element of your electric stove
goes from red hot to white hot as the temperature increases. It didnt take
long for physicists to apply a Maxwell style statistical analysis to the waves of
electromagnetic energy present in the cavity. The difference being is that classi-
cal physics saw waves as continuous which means that more and more waves
could be packed into a box as the wavelengths get smaller, i.e. the frequency
gets higher. This means that as the temperature was raised the radiation should
keep getting stronger and stronger indenitely. This was called the ultraviolet
catastrophe. If nature did indeed behave in this way you would get singed sit-
ting in front of a re by all the ultraviolet light coming out of it. fortunately this
doesnt occur so the catastrophe is not in nature but in classical physics which
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
96 History
Figure 4.7: Albert Einstein and Johann Jakob Balmer.
predicted something that doesnt happen.
The results of several experiments had given the correct frequency distribu-
tions and it was Max Planck who found a formula that matched the results. He
couldnt nd a classical solution, so grudgingly he used Boltzmanns version
of the second law of thermodynamics. Planck imagined that the waves emit-
ted from the black body were produced by a nite number of tiny oscillators
(a kind of precursor to modern atoms). Eventually he had to divide the en-
ergy into nite chunks of a certain size to t his own radiation formula. Which
nally gives us the rst important formula for quantum mechanics:
E = hf (4.2)
where E is energy, f is frequency and h is Plancks constant which is:
h = 0.000000000000000000000000006626. (4.3)
4.1.5 The Photoelectric Effect
If a light is shone onto certain kinds of material (e.g. some metals or semi con-
ductors) then electrons are released. When this effect was examined it was
found that the results of the experiments did not agree with classical elec-
tromagnetic theory which predicted that the energy of the released electron
should depend on the intensity of the incident light wave. However it was
found that the energy released was dependent not on intensity (an electron
would come out no matter how low the intensity was) but on the frequency of
the light.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
History 97
Albert Einstein, 1879 - 1955 (gure 4.7) showed that if we look at the light as a
collection of particles carrying energy proportional to the frequency (as given
by Plancks law E = hf) and if those particles can transfer energy to electrons
in a target metal then the experimental results could be explained. Put simply
a light particle hits the metals surface and its energy is transferred to an elec-
tron and becomes kinetic energy; so the electron is ejected fromthe metal. With
different kinds of metals it can be easier or harder for electrons to escape.
4.1.6 Bright Line Spectra
When a solid is heated and emits white light then, if that light is concentrated
and broken up into the separate colours by a prism, we get a rainbowlike spec-
trum (continuous spectrum) like the following:
If we do the same thing with a hot gas emitting light then the spectrum con-
sists of a number of bright lines that have the colours of the rainbow above,
with dark regions in between. The spectrum for this, which is called an emis-
sion spectrum is shown below.
If a cold gas is placed between a hot solid emitting white light and the prism
we get the inverse of the above. This is called an absorbtion spectrum, shown
below.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
98 History
Figure 4.8: Max Planck and Joseph J. Thomson.
The hot gas is emitting light at certain frequencies and example three shows
us that the cold gas is absorbing light at the same frequencies. These lines are
different for each element, and they allow us to determine the composition of
a gas even at astronomical distances, by observing its spectrum.
In 1885 Johann Jakob Balmer, 1825 - 1898 (gure 4.7) derived a formula for
the spectral lines of Hydrogen. Which is:
f = R
_
1
n
2
f
1
n
2
i
_
(4.4)
where R is the Rydberg constant of 3.29163 10
1
5 cycles/second and n
f
and
n
i
are whole numbers. The trouble was that no one knew how to explain the
formula. The explanation came in 1913 with Niels Bohrs atomic model.
4.1.7 Proto Quantum Mechanics
During the last part of the 19th century it was discovered that a number of
rays were actually particles. One of these particles was the electron, discov-
ered by Joseph J. Thomson, 1856 - 1940 (gure 4.8). In a study of cathode ray
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
History 99
Figure 4.9: Ernest Rutherford and Arnold Sommerfeld.
Figure 4.10: Thomsons atomic model.
Figure 4.11: Rutherfords atomic model.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
100 History
tubes Thompson showed that electrically charged particles (electrons) are emit-
ted when a wire is heated. Thomson went on to help develop the rst model
of the atom which had his (negatively charged) electrons contained within a
positively charged sphere (gure 4.10).
This rst atomic model was called the Christmas pudding model. Then, in 1907,
Ernest Rutherford, 1871 - 1937 (gure 4.9), developed a new model, which was
found by ring alpha particles (Helium ions) at gold foil and observing that,
very occasionally, one would bounce back. This model had a tiny but massive
nucleus surrounded by electrons (gure 4.11).
The new model was like a mini solar system with electrons orbiting the nu-
cleus, but the atomic model was thought to still follow the rules of classical
physics. However, according to classical electromagnetic theory an orbiting
electron, subject to centripetal acceleration (the electron is attracted by the pos-
itively charged nucleus) would radiate energy and so rapidly spiral in towards
the nucleus. But this did not happen: atoms were stable, and all the atoms
of an element emitted the same line spectrum. To explain this Bohr assumed
that the atom could exist in only certain stationary states - stationary because,
even if the electron was orbiting in such a state (and, later, this was questioned
by Heisenberg) it would not radiate, despite what electromagnetic theory said.
However, if the electron jumped from a stationary state to one of lower energy
then the transmission was accompanied by the emission of a photon; vice versa
there was absorption of light in going from a lower to a higher energy.
In this scheme there was a lowest stationary state, called the ground state be-
low which the electron could not jump; so this restored stability to the atom.
The frequency of the light emitted as a jump was given by Einsteins formula:
f =
E
h
(4.5)
where E is the difference in the energies of the stationary states involved. These
energies of the stationary states could be calculated fromclassical physics if one
additional assumption was introduced: that the orbital angular momentum
was an integer multiple of Plancks constant. Then the calculated frequencies
were found to agree with those observed.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
History 101
Figure 4.12: Bohrs rst atomic model.
So Bohr developed a model based on stable orbital shells which only gave a
certain number of shells to each atom. Bohr quantised electron orbits in units
of Plancks constant. He gave us the rst of several quantum numbers which are
useful in quantum computing, the shell number, n (see gure 4.12).
Of particular interest are the ground state at n = 1 and the excited state at n > 1
of an atom. Bohr developed a formula for the radius of the electron orbits in a
hydrogen atom:
r =
_
h
2
4
2
mq
2
_
n
2
(4.6)
where r is the radius of the orbital, h is Plancks constant, and m and q are the
mass and charge of the electron. In real terms the value of r is 5.3 nanometres
for n = 1.
Bohr went on with this model to derive the Balmers formula for hydrogen
by two postulates:
1. Quantum angular momentum:
L = n
_
h
2
_
. (4.7)
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
102 History
Figure 4.13: Wolfgang Pauli and Louis de Broglie.
2. A jump between orbitals will emit or absorb radiation by:
hf = E
i
E
f
(4.8)
where E
i
is the initial energy of the electron and E
f
is the nal energy of
the electron.
Although very close, it didnt quite match up to the spectral line data. Arnold
Sommerfeld, 1868 - 1951 (gure 4.9) then proposed a new model with elliptical
orbits and a new quantum number was added, k to deal with the shape of the
orbit, Bohr then introduced quantum number m to explain the Zeeman effect
which produced extra spectral lines when a magnetic eld was applied to the
atom (i.e. the direction the eld was pointing).
It was soon discovered that m could not account for all the spectral lines pro-
duced by magnetic elds. Wolfgang Pauli, 1900 - 1958 (gure 4.13) hypoth-
esised another quantum number to account for this. It was thought, but not
accepted by Pauli that the electron was spinning around and it turns out that
Pauli was right but the name stuck, so we still use spin up and spin down to de-
scribe this property of an electron. Pauli then described why electrons ll the
higher energy levels and dont just occupy the ground state which we now call
the Pauli exclusion principle. Niels Bohr went on to explain the periodic table
in terms of orbital shells with the outer most shell being the valence shell that
allows binding and the formation of molecules.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
History 103
Figure 4.14: Werner Heisenberg and Erwin Schr odinger.
4.1.8 The New Theory of Quantum Mechanics
In 1909, a few years after demonstrating the photoelectric effect, Einstein used
his photon hypothesis to obtain a simple derivation of Plancks black body dis-
tribution. Planck himself had not gone as far as Einstein: he had indeed as-
sumed that the transfer of energy between matter (the oscillators in the walls
of the cavity) and radiation was quantised (i.e. the energy transferred to/from
an oscillator occurred in grains less than h times the frequency of the oscil-
lator). But Planck had assumed the energy in the electromagnetic eld, in the
cavity, was continuously distributed, as in classical theory. By contrast, it was
Einsteins hypothesis that the energy in the eld itself was quantised: that for
certain purposes, the eld behaved like an ideal gas, not of molecules, but of
photons, each with energy h times frequency, with the number of photons be-
ing proportional to the intensity. The clue to this was Einsteins observation
that the high frequency part of Plancks distribution for black body radiation
(described by Wiens law) could be derived by assuming a gas of photons and
applying statistical mechanics to it. This was in contrast to the low frequency
part (described by the Rayleigh-Jeans law) which could be successfully obtained
using classical electromagnetic theory, i.e. assuming waves. So you had both
particles and waves playing a part. Furthermore, Einstein looked at uctua-
tions of the energy about its average value, and observed that the formula ob-
tained had two forms, one which you would get if light was made up of waves
and the other if it was made up of particles. Hence we have wave-particle du-
ality. In 1924, Louis de Broglie, 1892 - 1987 (gure 4.13) extended the particle
duality for light to all matter. He stated:
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
104 History
The motion of a particle of any sort is associated with the propaga-
tion of a wave.
This is the idea of a pilot wave which guides a free particles motion. de Broglie
then suggested the idea of electron waves be extended to bound particles in
atoms, meaning electrons move around the nucleus guided by pilot waves. So,
again a duality, de Broglie waves and Bohrs particles. de Broglie was able to
show that Bohrs orbital radii could be obtained by tting a whole number of
waves around the nucleus. This gave an explanation of Bohrs angular mo-
mentum quantum condition (see above).
The new quantum theory was developed between June 1925 and June 1926.
Werner Heisenberg, 1901 - 1976 (gure 4.14), using a totally different and more
simple atomic model (one that did not use orbits) worked out a code to con-
nect quantum numbers and spectra. He also discovered that quantum me-
chanics does not follow the commutative law of multiplication i.e pq ,= qp. When
Max Born, 1882 - 1970 (gure 4.15) saw this he suggested that Heisenberg use
matrices. This became matrix mechanics, eventually all the spectral lines and
quantum numbers were deduced for hydrogen. The rst complete version of
quantum mechanics was born. Its interesting to note that it was not observa-
tion, or visualisation that was used to deduce to theory - but pure mathematics.
Later we will see matrices cropping up in quantum computing.
At around the same time Erwin Schr odinger, 1887 - 1961 (gure 4.14) built on
de Broglies work on matter waves. He developed a wave equation (for which
is the solution) for the core of bound electrons, as in the Hydrogen atom. It
turns out that the results derived fromthis equation agree with the Bohr model.
He then showed that Heisenbergs matrix mechanics and his wave mechanics
were equivalent.
Max Born proposed that , the solution to Schr odingers equation can be in-
terpreted as a probability amplitude, not a real, physical value. The prob-
ability amplitude is a function of the electrons position (x, y, z) and, when
squared, gives the probability of nding the electron in a unit volume at the
point (x, y, z). This gives us a new, probabilistic atomic model, in which there
is a high probability that the electron will be found in a particular orbital shell.
A representation of the ground state of hydrogen is shown in gure 4.16 and
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
History 105
at the places where the density of points is high there is a high probability of
nding the particle. The linear nature of the wave equation means that if
1
and
2
are two solutions then so is
1
+
2
, a superposition state (well look
at superposition soon). This probabilistic interpretation of quantum mechanics
implies the system is in both states until measured.
Schr odinger was unhappy with the probabilistic interpretation (superposition)
and created a scenario that would show it was false. This is called Schr odingers
cat, a paradox, which simply put refers to the situation of a cat being in both
states of dead
1
and alive
2
until it is observed.
Paul Dirac, 1902 - 1984 (gure 4.15) developed a new approach and the bra-ket
notation we use for quantum computing. His approach expanded to a quan-
tum eld theory, he expanded Schr odingers equation, incorporated spin, and
Einsteins relativity, and predicted antimatter.
In 1927 Heisenberg made his second major discovery, the Heisenberg uncertainty
principle which relates to the position and momentumof a particle. It states that
the more accurate our knowledge of a particles position, the more inaccurate
our knowledge of its momentum will be and vice versa. The uncertainty is due
to the uncontrollable effect on the particle of any attempt to observe it (because
of the quantum interaction; see 4.25). This signalled the breakdown of deter-
minism.
Now back to Niels Bohr. In 1927 Niels Bohr described the concept of comple-
mentarity: it depends on what type of measurement operations you are using
to look at the system as to whether it behaves like a particle or a wave. He
then put together various aspects of the work by Heisenberg, Schr odinger, and
Born and concluded that the properties of a system (such as position and mo-
mentum) are undened having only potential values with certain probabilities
of being measured. This became know as the Copenhagen interpretation of quan-
tum mechanics.
Einstein did not like the Copenhagen interpretation and, for a good deal of
time, Einstein kept trying to refute it by thought experiment, but Bohr always
had an answer. But in 1935 Einstein raised an issue that was to later have pro-
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
106 Important Principles for Quantum Computing
Figure 4.15: Max Born and Paul Dirac.
Figure 4.16: Borns atomic model.
found implications for quantum computation and lead to the phenomenon we
now call entanglement, a concept well look at in a few pages.
4.2 Important Principles for Quantum Computing
The main parts of quantum mechanics that are important for quantum com-
puting are:
Linear algebra.
Superposition.
Dirac notation.
Representing information.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Important Principles for Quantum Computing 107
Uncertainty.
Entanglement.
The 4 postulates of quantum mechanics.
4.2.1 Linear Algebra
Quantum mechanics leans heavily on linear algebra. Some of the concepts of
quantum mechanics come from the mathematical formalism, not thought ex-
periments - thats what can give rise to counter intuitive conclusions.
4.2.2 Superposition
Superposition means a systemcan be in two or more of its states simultaneously.
For example a single particle can be travelling along two different paths at once.
This implies that the particle has wave-like properties, which can mean that the
waves from the different paths can interfere with each other. Interference can
cause the particle to act in ways that are impossible to explain without these
wave-like properties.
The ability for the particle to be in a superposition is where we get the parallel
nature of quantum computing: If each of the states corresponds to a different
value then, if we have a superposition of such states and act on the system, we
effectively act on all the states simultaneously.
An Example With Silvered Mirrors
Superposition can be explained by way of a simple example using silvered and
half silvered mirrors [Barenco, A. Ekert, A. Sanpera, A. &Machiavello, C. 1996].
Ahalf silvered mirror reects half of the light that hits it and transmits the other
half of the light through it (gure 4.17). If we send a single photon through this
system then this gives us a 50% chance of the light hitting detector 1 and a
50% chance of hitting detector 2. It is tempting to think that the light takes
one or the other path, but in fact it takes both! Its just that the photo detector
that measures the photon rst breaks the superposition, so its the detectors that
cause the randomness, not the half silvered mirror. This can be demonstrated
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
108 Important Principles for Quantum Computing
Figure 4.17: Uncertainty.
by adding in some fully silvered mirrors and bouncing both parts of the super-
posed photon (which is at this point is in two places at once) so that they meet
and interfere with each other at their meeting point. If another half silvered
mirror (gure 4.18) is placed at this meeting point and if light was just particle-
like we would expect that the light would behave as before (going either way
with 50% probability), but the interference (like wave interference when two
stones are thrown into a pond near each other simultaneously) causes the pho-
ton to always be detected by detector 1. A third example (gure 4.19) shows
clearly that the photons travel both paths because blocking one path will break
the superposition and stop the interference.
4.2.3 Dirac Notation
As described in the previous chapter Dirac notation is used for quantum com-
puting. We can represent the states of a quantum system as kets. For example,
an electrons spin can be represented as [0) = spin up and [1) as spin down.
The electron can be thought of as a little magnet, the effect of a charged particle
spinning on its axis. When we pass a horizontally travelling electron through
an inhomogeneous magnetic eld, in say, the vertical direction, the electron ei-
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Important Principles for Quantum Computing 109
Figure 4.18: Superposition 1.
Figure 4.19: Superposition 2.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
110 Important Principles for Quantum Computing
ther goes up or down. If we then repeat this with the up electron it goes up,
with the down electron it goes down. We say the up electron after the rst mea-
surement is in the state [0) and the down electron is in state [1). But, if we take
the up electron and pass it through a horizontal eld it comes out on one side
50%of the time and on the other side 50%of the time. If we represent these two
states as [+) and [) we can say that the up spin electron was in a superposition
of the two states [+) and [):
[0) =
1
2
[+) +
1
2
[)
such that, when we make a measurement with the eld horizontal we project
the electron into one or the other of the two states, with equal probabilities
1
2
(given by the square of the amplitudes).
4.2.4 Representing Information
Quantum mechanical information can be physically realised in many ways. To
have something analogous to a classical bit we need a quantum mechanical
system with two states only, when measured. We have just seen two examples:
electron spin and photon direction. Two more methods for representing binary
information in a way that is capable of exhibiting quantum effects (e.g. entan-
glement and superposition) are: polarisation of photons and nuclear spins.
We examine various physical implementations of these quantumbits (qubits)
in chapter 8.
4.2.5 Uncertainty
The quantum world is irreducibly small so its impossible to measure a quan-
tumsystemwithout having an effect on that systemas our measurement device
is also quantum mechanical. As a result there is no way of accurately predict-
ing all of the properties of a particle. There is a trade off - the properties occur
in complementary pairs (like position and momentum, or vertical spin and
horizontal spin) and if we know one property with a high degree of certainty
then we must know almost nothing about the other property. That unknown
propertys behaviour is essentially random. An example of this is a particles
position and velocity: if we know exactly where it is then we know nothing
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Important Principles for Quantum Computing 111
about how fast it is going. This indeterminacy is exploited in quantum cryp-
tography (see chapter 7).
It has been postulated (and currently accepted) that particles in fact DO NOT
have dened values for unknown properties until they are measured. This is
like saying that something does not exist until it is looked at.
4.2.6 Entanglement
In 1935 Einstein (along with colleagues Podolski and Rosen) demonstrated a
paradox (named EPR after them) in an attempt to refute the undened na-
ture of quantum systems. The results of their experiment seemed to show that
quantum systems were dened, having local state BEFORE measurement. Al-
though the original hypothesis was later proven wrong (i.e. it was proven that
quantum systems do not have local state before measurement). The effect they
demonstrated was still important, and later became known as entanglement.
Entanglement is the ability for pairs of particles to interact over any distance
instantaneously. Particles dont exactly communicate, but there is a statisti-
cal correlation between results of measurements on each particle that is hard to
understand using classical physics. To become entangled, two particles are al-
lowed to interact; they then separate and, on measuring say, the velocity of one
of them (regardless of the distance between them), we can be sure of the value
of velocity of the other one (before it is measured). The reason we say that
they communicate instantaneously is because they store no local state [Rae, A.
1996] and only have well dened state once they are measured. Because of this
limitation particles cant be used to transmit classical messages faster than the
speed of light as we only know the states upon measurement. Entanglement
has applications in a wide variety of quantumalgorithms and machinery, some
of which well look at later.
As stated before, it has been proven that entangled particles have no local state;
this is explained in section 6.7.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
112 Important Principles for Quantum Computing
4.2.7 The Four Postulates of Quantum Mechanics
The theory of quantum mechanics has four main postulates. These are intro-
duced here as simple sentences. Later, in section 5.4, they will be explained in
more detail in terms of quantum computing.
1. In a closed quantum system we need a way of describing the state of all the
particles within it. The rst postulate gives us a way to do this by using
a single state vector to represent the entire system. Say the state is to be a
vector in C
n
, this would be C
2
for a spin system.
2. The evolution of a closed system is a unitary transform. Say that, while the
system is evolving under its own steam - no measurement - the state at
some stage [
2
([0) + [1)) and
1
2
([0) [1)) as a
basis for C
2
, which is often shortened to just [+), and [). These bases are some-
times represented with arrows which are described below, and are referred to
as rectilinear and diagonal which can say refer to the polarisation of a photon.
You may nd these notational conventions being used:
[0) = [ ). (5.3)
[1) = [ ). (5.4)
1
2
([0) +[1)) = [+) = [ ). (5.5)
1
2
([0) [1)) = [) = [ ). (5.6)
Some examples of measurement probabilities are on the next page.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Elements of Quantum Computing 117
Example Measurement probabilities.
[) =
1
2
[0) +
1
2
[1).
The probability of measuring a [0) is:
_
_
2
=
1
2
.
The probability of measuring a [1) is:
_
_
2
=
1
2
.
So 50% of the time well measure a [0) and 50% of the time well measure a
[1).
Example More measurement probabilities.
[) =
3
2
[0)
1
2
[1).
The probability of measuring a [0) is:
_
3
2
_
2
=
3
4
.
The probability of measuring a [1) is:
_
1
2
_
2
=
1
4
.
So 75% of the time well measure a [0) and 25% of the time well measure a
[1).
The sign in the middle of the two values can change, which affects the internal
evolution of the qubit, not the outcome of a measurement. When measuring in
the basis [0), [1) the sign is actually the relative phase of the qubit. So,
[0) +[1)
and
[0) [1)
have the same output values and probabilities but behave differently during
the computational phase. Formally we say they differ by a relative phase fac-
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
118 Elements of Quantum Computing
tor. So in the case of the qubits above they differ by a phase factor of -1. It is
called a phase factor because it always has magnitude 1 and so its value, as a
complex number, is determined entirely by the phase.
The other type of phase is called global phase. Two states can differ by a global
phase factor and still be considered the same, as the global phase factor is not
observable. One reason for this is that the probabilities for the outcomes [[ and
[[ are unaffected if and are each multiplied by the same complex number
of magnitude 1. Likewise the relative phase (which gures in interference ef-
fects) is unaffected if and are multiplied by a common phase factor. What
this means is that if we have a state on n qubits we can put a complex factor in
front of the entire state to make it more readable. This is best described by an
example (below).
Example Global phase.
[) =
i
2
[0) +
1
2
[1).
can be rewritten as:
[) = i
_
1
2
[0)
i
2
[1)
_
.
Remembering that i i = +1 we say the factor at the front of our
state vector (i) is a global phase factor. We can also say here that because
i = e
i
2
we have a phase of
2
.
Example More global phase.
[) =
1
2
([00) +[01) [10) +[11)).
can be rewritten as:
[) = (1)
1
2
([00) [01) +[10) +[11)).
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Elements of Quantum Computing 119
E
T
c
' Z
Z
Z
Z
Z
`
`
`
`
`
a
b
[1)
[0)
[1)
Figure 5.1: 2D qubit representations.
The Ket [)
Part of Diracs notation is the ket ([)). The ket is just a notation for a vector. The
state of a single qubit is a unit vector in C
2
. So,
_
_
is a vector, and is written as:
[0) +[1)
with
[0) =
_
1
0
_
(5.7)
and
[1) =
_
0
1
_
. (5.8)
Two Dimensional Qubit Visualisation
Single qubits can be represented in value and relative phase in two dimensions
by the diagram in gure 5.1 which is similar to the way we represent polar co-
ordinates for complex numbers. The graph shows the general form of 2D qubit
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
120 Elements of Quantum Computing
representation where a =
1
2
[0) +
1
2
[1) and b =
1
2
[0)
1
2
[1).
This diagram is ok for real numbered values of and but cannot accurately
depict all the possible states of a qubit. For this we need three dimensions.
Three Dimensional Qubit Visualisation - The Bloch Sphere
The Bloch sphere is a tool with which the state of single qubit can be viewed in
three dimensions and is useful for visualising all single qubit operations. We
can say that the state of a single qubit can be written as:
[) = e
i
(cos
2
[0) +e
i
sin
2
[1)). (5.9)
We can ignore the global phase factor in front so [) becomes:
[) = cos
2
[0) +e
i
sin
2
[1). (5.10)
So, in terms of the angle and the Bloch sphere looks like this:
Note: An applet written by Jose Castro was used to generate the images of the
Bloch sphere. This applet is available at http://pegasus.cc.ucf.edu/
jcastro/java/BlochSphere.html.
Whats probably more helpful at this stage is to see where all of the potential
states of a qubit lie on the Bloch sphere. This is shown below with the points
x, y, and z labelling each positive axis:
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Elements of Quantum Computing 121
As stated in chapter 4, individual qubits can be physically realised using vari-
ous quantum two state systems, here are a few ways this can be done:
Polarisations of a photon.
Nuclear spins.
Ground and excited states of an atom (i.e. the energy level, or orbital).
We now look at the equivalent of a register: i.e. a composite system of qubits,
e.g. Ions in a trap (see chapter 8).
Multiple Qubits
The potential amount of information available during the computational phase
grows exponentially with the size of the system, i.e. the number of qubits.
This is because if we have n qubits the number of basis states is 2
n
. E.g. if
we have two qubits, forming a quantum register then there are four (= 2
2
)
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
122 Elements of Quantum Computing
computational basis states: forming,
[00), [01), [10), and [11). (5.11)
Here [01) means that qubit 1 is in state [0) and qubit 2 is in state [1), etc. We
actually have [01) = [0) [1), where is the tensor product (see below).
Like a single qubit, the two qubit register can exist in a superposition of the four
states (below we change the notation for the complex coefcients, i.e. probabil-
ity amplitudes):
[) =
0
[00) +
1
[01) +
2
[10) +
3
[11). (5.12)
Again all of the probabilities must sum to 1, formally for the general case of n
qubits this is can be written as:
2
n
1
i=0
[
i
[
2
= 1. (5.13)
Example n = 5 (5 qubits). We can have up to 32 (= 2
5
) basis states in a
superposition.
=
0
[00000) +
1
[00001) +... +
2
n
1
[11111).
We dont have to represent values with 0s and 1s. A qudit has the following
format in C
N
:
=
0
[0) +
1
[1) +
2
[2) +. . . +
n1
[N 1) =
_
2
.
.
.
N
1
_
_
. (5.14)
If N = 2
n
we require an n qubit register.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Elements of Quantum Computing 123
Tensor Products
A decomposition into single qubits of a multi-qubit system can be represented
by a tensor product, .
Example Decomposition using a tensor product.
1
2
([00) +[01) +[10) +[11)) =
1
2
([0) +[1))
1
2
([0) +[1)).
A tensor product can also be used to combine different qubits.
(
0
[0) +
1
[1)) (
0
[0) +
1
[1)) =
0
0
[00) +
0
1
[01) +
1
0
[10) +
1
1
[11).
(5.15)
Partial Measurement
We can measure a subset of an n-qubit system. i.e. we dont have to get read
outs on all the qubits (some can be left unmeasured). Well rst consider non-
entangled states. The simplest way to measure a subset of states is shown in
the following example with two qubits.
An example is presented on the next page.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
124 Elements of Quantum Computing
Example measuring the rst bit in a two qubit system.
1. We prepare a quantum system in the following state, the qubit we are
going to measure is bolded, a non-entangled state would mean that all
the probability amplitudes are non-zero:
=
0
[00) +
1
[01) +
2
[10) +
3
[11).
2. We now measure, so the probability of it being 0 is:
pr(0) = [
0
[
2
+[
1
[
2
and, the probability of it being 1 is:
pr(1) = [
2
[
2
+[
3
[
2
.
3. If we measured a [0) the post measurement state is:
[0)
0
[0) +
1
[1)
_
[
0
[
2
+[
1
[
2
(i.e. we project on to the [00), [01) subspace and the
2
and
3
terms
drop out). Similarly, if we measured a [1) measured the post measure-
ment state is:
[1)
2
[0) +
3
[1)
_
[
2
[
2
+[
3
[
2
.
We can do the same for qubit two, the probability of qubit two being a [0) is:
pr(0) = [
0
[
2
+[
2
[
2
and its post measurement state would be:
0
[0) +
2
[1)
_
[
0
[
2
+[
2
[
2
[0).
This logic can be extended to n qubits.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Elements of Quantum Computing 125
Quantummeasurement can be described as a set M
m
of linear operators with
1 m n where n is the number of possible outcomes. For a single qubit
with an orhtonormal basis of [0) and [1) we can dene measurement operators
M
0
= [0) 0[ and M
1
= [1) 1[ (which are also both projectors).
If we have a system in state [) then outcome m has a probability of:
pr(m) = [M
m
M
m
[). (5.16)
If the outcome is m then the state collapses to:
M
m
[)
_
[M
m
M
m
[)
. (5.17)
Example Another way of looking at measuring the rst bit in a two qubit
system.
[) =
1
30
[00) +
2
30
[01) +
3
30
[10) +
4
30
[11)
When we measure qubit one the resulting states would look like this (unnor-
malised):
[) = [0)
_
1
30
[0) +
2
30
[1)
_
for measuring a [0) and for measuring a [1):
[) = [1)
_
3
30
[0) +
4
30
[1)
_
.
Nowwe must make sure that the second qubit is normalised, so we multiply
it by a factor:
[) =
30
[0)
_
1
5
[0) +
2
5
[1)
_
+
5
30
[1)
_
3
5
[0) +
4
5
[1).
_
This gives us
30
2
=
1
6
probability of measuring a [0) and a
30
2
=
5
6
prob-
ability of measuring a [1). So if we measure a [0) then our post measurement
state is:
[) = [0)
_
1
5
[0) +
2
5
[1)
_
and if we measure a [1) then our post measurement state is:
[) = [1)
_
3
5
[0) +
4
5
[1)
_
.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
126 Elements of Quantum Computing
Example Measurement of qubit one in a two qubit system using a simple
projector.
[) =
1
30
[00) +
2
30
[01) +
3
30
[10) +
4
30
[11).
We nd the probability of measuring a [0) by using a projector [00)00[ +
[01)01[:
([00)00[ +[01)01[)
_
1
30
[00) +
2
30
[01) +
3
30
[10) +
4
30
[11)
_
= ([00)00[ +[01)01[) [)
=
1
30
[00) +
2
30
[01).
Say we change our measurement basis to [0) , [1) then we can represent pro-
jectors P
0
and P
1
as [0) 0[ and [1) 1[ respectively. We measure the probabil-
ity of the rst qubit being 0 by using P
0
on qubit one and I on qubit two, i.e.
P
0
I. If we wanted to measure the probability of the rst qubit being 1 then
we would use P
1
I.
pr(0) = [P
0
I[)
= [ [0) 0[ I[)
= [
1
30
[00) +
2
30
[01)
=
1
6
and this gives us a post-measurement state of:
[
) =
P
0
I[)
_
[P
0
I[)
=
1
30
[00) +
2
30
[01)
_
1
6
= [0)
_
_
1
30
[0) +
2
30
[1)
_
1
6
_
_
= [0)
_
1
5
[0) +
2
5
[1)
_
.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Elements of Quantum Computing 127
Properties:
All probabilities sum to 1,
m
i=1
pr(i) =
m
i=1
[M
i
M
i
[) = 1 this is
the result of the completeness equation, i.e.
m
i=1
M
i
M
i
= I. (5.18)
Note: our basis needs to be orthogonal, otherwise we cant reliably distinguish
between two basis states [u) and [v), i.e. u[v) ,= 0 means [u) and [v) are not
orthogonal.
Projective Measurements
Projective measurements are a means by which we can accomplish two tasks,
they are:
1. Apply a unitary transform to [).
2. Measure [).
So we need a unitary transform U and [) to perform a measurement. The uni-
tary transform is called the observable, which is denoted here by O
M
.
First we need to nd the spectral decomposition of O
M
(Z for example), for
O
M
we have:
O
M
=
m
mP
m
(5.19)
where m is each eigenvalue and P
m
is a projector made up of P
m
= [m)m[.
5.1.4 Entangled States
Subatomic particles can be entangled, this means that they are connected, re-
gardless of distance. Their effect on each other upon measurement is instanta-
neous. This can be useful for computational purposes.
Consider the following state (which is not entangled):
1
2
([00) +[01))
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
128 Elements of Quantum Computing
it can be expanded to:
1
2
[00) +
1
2
[01) + 0[10) + 0[11).
Upon measuring the rst qubit (a partial measurement) we get 0 100% of the
time and the state of the second qubit becomes:
1
2
[0) +
1
2
[1)
giving us equal probability for a 0 or a 1.
If we try this on an entangled state (in this case an EPR pair or Bell state, see
section 6.7) we nd that the results for the qubits are correlated.
Example Consider:
1
2
([00) +[11)) .
When expanded this is:
1
2
[00) + 0[01) + 0[10) +
1
2
[11).
Measuring the rst qubit gives us [00) 50% of the time and [11) 50% of the
time. So the second qubit is always the same as the rst, i.e. we get two qubit
values for the price of one measurement.
This type of correlation can be used in a variety of ways in application to the
rst or second qubit to give us correlations that are strongly statistically con-
nected. This is a distinct advantage over classical computation. Measuring
entangled states accounts for the correlations between them. The next example
show the measurement of a partially entangled state.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Elements of Quantum Computing 129
Example The following state vector represents an entangled system.
[) =
2
3
[01) +
i2
3
[10) +
1
3
[00).
If we separate out the qubits (tensor decomposition) The state looks like this
(unnormalised):
[) = [0)
_
2
3
[1) +
1
3
[0)
_
+[1)
i2
3
[0).
Nowwe must make sure that the second qubit is normalised, so we multiply
it by a factor:
[) =
5
3
[0)
_
2
5
[0) +
1
5
[1)
_
+
i2
3
[1) [0).
Now say we measure qubit 1. Upon measurement of [0) the state collapses
to:
[
) = [0)
_
2
5
[0) +
1
5
[1)
_
.
Upon measuring a [1) the state collapses to:
[
) = [1) [0).
5.1.5 Quantum Circuits
If we take a quantum state, representing one or more qubits, and apply a se-
quence of unitary operators (quantum gates) the result is a quantum circuit.
We now take a register and let gates act on qubits, in analogy to a conventional
circuit.
U
1
U
2
Input states
U
3
U = I.
The matrix acts as a quantum operator on a qubit. The operators matrix must
be unitary because the resultant values must satisfy the normalisation condi-
tion. Unitarity implies that the probability amplitudes must still sum to 1. If
(before the gate is applied)
[[
2
+[[
2
= 1
then, after the gate is applied:
[
[
2
+[
[
2
= 1 (5.20)
where
and
are the values for the probability amplitudes for the qubit after
the operation has been applied.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Elements of Quantum Computing 131
Here are some examples:
Pauli I Gate
This is the identity gate.
0
= I =
_
1 0
0 1
_
(5.21)
which gives us the following:
[0) I [0), (5.22)
[1) I [1), (5.23)
[0) +[1) I [0) +[1). (5.24)
Pauli X Gate
The Pauli X gate is a quantum NOT gate.
X
1
=
X
= X =
_
0 1
1 0
_
(5.25)
which gives us the following:
[0) X [1), (5.26)
[1) X [0), (5.27)
[0) +[1) X [0) +[1). (5.28)
The operation of the Pauli X gate can be visualised on the Bloch sphere as
follows:
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
132 Elements of Quantum Computing
Here (and in subsequent images) the blue (dark) point is the original state vec-
tor and the green (light) point is the state vector after the transformation.
Pauli Y Gate
Y
2
=
Y
= Y =
_
0 i
i 0
_
(5.29)
which gives us the following:
[0) Y i[1), (5.30)
[1) Y i[0), (5.31)
[0) +[1) Y i[0) +i[1). (5.32)
Pauli Z Gate
This gate ips a qubits sign, i.e. changes the relative phase by a factor of -1.
Z
3
=
Y
= Z =
_
1 0
0 1
_
(5.33)
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Elements of Quantum Computing 133
which gives us the following:
[0) Z [0), (5.34)
[1) Z [1), (5.35)
[0) +[1) Z [0) [1). (5.36)
Phase Gate
S
S =
_
1 0
0 i
_
(5.37)
which gives us the following:
[0) S [0), (5.38)
[1) S i[1), (5.39)
[0) +[1) S [0) +i[1). (5.40)
Note, the Phase gate can be expressed in terms of the T gate (see below):
S = T
2
(5.41)
8
Gate (T Gate)
T
T =
_
1 0
0 e
i
4
_
(5.42)
which gives us the following:
[0) T [0), (5.43)
[1) T e
i
4
[1), (5.44)
[0) +[1) T [0) +e
i
4
[1). (5.45)
If we apply T again we get the same as applying S once.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
134 Elements of Quantum Computing
Hadamard Gate
Sometimes called the square root of NOT gate, it turns a [0) or a [1) into a su-
perposition (note the different sign). This gate is one of the most important in
quantum computing. Well use this gate later for a demonstration of a simple
algorithm.
H
H =
_
1 1
1 1
_
(5.46)
which gives us the following:
[0) H
1
2
([0) +[1)), (5.47)
[1) H
1
2
([0) [1)), (5.48)
[0) +[1) H
_
[0) +[1)
2
_
+
_
[0) [1)
2
_
. (5.49)
Example Using H and Z gates and measuring in the [+), [) basis.
(1) We can put [0) into state [+) by using an H gate:
[0) H
1
2
([0) +[1)).
(2) We can put [0) into state [) by using an H gate followed by a Z gate :
[0) H
1
2
([0) +[1)) Z
1
2
([0) [1)).
The operation of the H gate can be visualised on the Bloch sphere as follows:
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Elements of Quantum Computing 135
Outer Product Notation
A handy way to represent gates is with outer product notation, for example a
Pauli X gate can be represented by:
[1)0[ +[0)1[.
When applied to [0) +[1). we get:
X([0) +[1)) = ([1)0[ +[0)1[)([0) +[1))
= [1)0[([0) +[1)) +[0)1[([0) +[1))
= [1)1 +[1)0 +[0)0 +[0)1
= [0) +[1).
For the above its useful to remember the following:
0[0) = 1,
0[1) = 0,
1[0) = 0,
1[1) = 1.
Instead of doing all that math, just think of it this way. For each component of
the sequence, take the bra part, u[ from [v)u[, and the new qubits coefcient
will be the old qubits coefcient for the ket part [v).
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
136 Elements of Quantum Computing
Example Say we use this method on the Pauli Y outer product representa-
tion,
i[1)0[ i[0)1[.
When applied to [) = [0) +[1)) well see what we get:
The rst part of the outer product notation is i[1)0[ so this means we
take the [0) part of [) and convert it to i[1) so our partially built state
now looks like:
[) = . . . +i[1).
Now we take the second part, i[0)1[ and [1) becomes i[0) and nally
we get:
[) = i[0) +i[1).
Finally, the coefcients of outer product representations are the same as the
matrix entries, so for the matrix:
_
00
01
10
11
_
.
The outer product representation looks like:
00
[0)0[ +
01
[0)1[ +
10
[1)0[ +
11
[1)1[.
Further Properties of the Pauli Gates
Next well look at the eigenvectors, eigenvalues, spectral decomposition, and
outer product representation of the Pauli gates.
I has eigenvectors [0), and [1) with eigenvalues of 1 and 1 respectively. Us-
ing the spectral decomposition theorem:
I = 1 [0)0[ + 1 [1)1[
= [0)0[ +[1)1[. (5.50)
X has eigenvectors
1
2
([0) +[1)), and
1
2
([0) [1)) with eigenvalues of 1 and -1
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Elements of Quantum Computing 137
respectively.
X = 1
1
2
([0) +[1))
1
2
(0[ +1[) + (1)
1
2
([0) [1))
1
2
(0[ 1[)
= [1)0[ +[0)1[. (5.51)
Y has eigenvectors
1
2
(i[0) +[1)), and
1
2
([0) i[1)) with eigenvalues of 1 and
-1 respectively.
Y = 1
1
2
(i[0) +[1))
1
2
(i0[ +1[) + (1)
1
2
([0) i[1))
1
2
(0[ +i1[)
= i[1)0[ i[0)1[. (5.52)
Z has eigenvectors [0), and [1) with eigenvalues of 1 and -1 respectively.
Z = 1 [0)0[ + (1) [1)1[
= [0)0[ [1)1[. (5.53)
The Pauli matrices are:
Unitary (
k
)
= I k. (5.54)
Hermitian (
k
)
=
k
k. (5.55)
Rotation Operators
There are three useful operators that work well with the Bloch sphere. These
are the rotation operators R
X
, R
Y
, and R
Z
.
R
X
=
_
cos
2
i sin
2
i sin
2
cos
2
_
(5.56)
= e
iX/2
, (5.57)
R
Y
=
_
cos
2
sin
2
sin
2
cos
2
_
(5.58)
= e
iY/2
, (5.59)
R
Z
=
_
e
i/2
0
0 e
i/2
_
(5.60)
= e
iZ/2
. (5.61)
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
138 Elements of Quantum Computing
The rotation operators can be rewritten as
cos
2
I i sin
2
P
(5.62)
where P
2
_
1 1
1 1
_
=
_
1
2
1
2
1
2
1
2
_
.
So if we apply the gate to state [) = [1) we get the following:
_
1
2
1
2
1
2
1
2
__
0
1
_
=
_
1
2
1
2
_
=
1
2
[0) +
1
2
[1)
=
1
2
[0)
1
2
[1).
At that last step we multiplied the entire state by a global phase factor of 1.
Multi Qubit Gates
Atrue quantumgate must be reversible, this requires that multi qubit gates use
a control line, where the control line is unaffected by the unitary transforma-
tion. Well look again at the reversible gates that were introduced in chapter 2,
this time with emphasis on quantum computing.
[a) [a)
[b)
_
[b a)
In the case of the CNOT gate, the is a classical XOR with the input on the b
line and the control line a. Because it is a two qubit gate it is represented by a
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Elements of Quantum Computing 139
4 4 matrix:
_
_
1 0 0 0
0 1 0 0
0 0 0 1
0 0 1 0
_
_
(5.63)
which gives the following:
[00) CNOT [00), (5.64)
[01) CNOT [01), (5.65)
[10) CNOT [11), (5.66)
[11) CNOT [10), (5.67)
([0) +[1))[1) CNOT [01) +[10), (5.68)
[0)([0) +[1)) CNOT [00) +[01), (5.69)
[1)([0) +[1)) CNOT [11) +[10). (5.70)
Example Evaluating ([0) +[1))[0) CNOT [00) +[11).
([0) +[1))[0) expanded is [00) +[10), so in matrix form we have:
_
_
1 0 0 0
0 1 0 0
0 0 0 1
0 0 1 0
_
_
_
0
_
_
=
_
0
0
_
= [00) +[11).
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
140 Elements of Quantum Computing
Qubit Two NOT Gate
As distinct from the CNOT gate we have a NOT
2
gate, which just does NOT on
qubit two and has the following matrix representation:
_
_
0 1 0 0
1 0 0 0
0 0 0 1
0 0 1 0
_
_
(5.71)
which gives the following:
[00) NOT
2
[01), (5.72)
[01) NOT
2
[00), (5.73)
[10) NOT
2
[11), (5.74)
[11) NOT
2
[10). (5.75)
Although its not a commonly used gate its interesting to note that the gate
can be represented as a Kronecker product of I and X as follows [Knill, E.
Laamme, R. Barnum, H. Dalvit, D. Dziarmaga, J. Gubernatis, J. Gurvits, L.
Ortiz, G. Viola, L. & Zurek, W.H. 2002]:
NOT
2
= I X =
_
1 0
0 1
_
_
0 1
1 0
_
(5.76)
=
_
_
_
_
_
_
1
_
0 1
1 0
_
0
_
0 1
1 0
_
0
_
0 1
1 0
_
1
_
0 1
1 0
_
_
_
_
_
_
_
. (5.77)
So, as well as using the NOT
2
notation we can use the tensor product of Pauli
gates on qubits one and two, shown below:
[00) I X [01), (5.78)
[01) I X [00), (5.79)
[10) I X [11), (5.80)
[11) I X [10). (5.81)
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Elements of Quantum Computing 141
Toffoli Gate
The Toffoli gate was rst introduced in chapter 2. Here well look at some prop-
erties that relate to quantum computing. The most important property being
that any classical circuit can be emulated by using Toffoli gates.
[a) [a
)
[b) [b
)
[c)
_
[c
)
The Toffoli gate can simulate NAND gates and it can perform FANOUT, which
is classical bit copying (but we cant copy superposed probability amplitudes).
FANOUT is easy in classical computing, but impossible in quantum computing
because of the no cloning theorem (see chapter 6).
A Toffoli gate can be simulated using a number of H, T, and S gates.
Fredkin Gate Also introduced in chapter 2, the Fredkin gate is another three
qubit gate. This gate can simulate AND, NOT, CROSSOVER, and FANOUT, it also
has the interesting property that it conserves 1s.
[a) [a
)
[b) [b
)
[c) [c
)
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
142 Important Properties of Quantum Circuits
Classical circuit
Quantum circuit
x f(x)
x f(x)
ancilla bits
garbage bits
Figure 5.2: Garbage and ancilla bits.
5.2 Important Properties of Quantum Circuits
Quantum circuit diagrams have the following constraints which make them
different from classical diagrams.
1. They are acyclic (no loops).
2. No FANIN, as FANIN implies that the circuit is NOT reversible, and therefore
not unitary.
3. No FANOUT, as we cant copy a qubits state during the computational phase
because of the no-cloning theorem (explained in chapter 6).
All of the above can be simulated with the use of ancilla and garbage bits if
we assume that no qubits will be in a superposition (gure 5.2). As stated
in chapter 2, Garbage bits are useless qubits left over after computation and
ancilla bits are extra qubits needed for temporary calculations.
5.2.1 Common Circuits
Controlled U Gate
Let U be a unitary matrix, which uses an arbitrary number of qubits. A con-
trolled U gate is a U gate with a control line, i.e. if the control qubit is [1) then
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Important Properties of Quantum Circuits 143
U acts on its data qubits, otherwise they are left alone.
U
Bit Swap Circuit
This circuit swaps the values of qubits between lines.
[a)
_
[b)
[b)
_
_
[a)
The circuit can be simplied to:
[a) [b)
[b) [a)
Here are some examples:
[0) [1)
[1) [0)
[1) [0)
[0) [1)
Copying Circuit
If we have no superposition then we can copy bits in a classical sense with a
CNOT.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
144 Important Properties of Quantum Circuits
[a) [a)
[0)
_
[a)
[0) [0)
[0)
_
[0)
[1) [1)
[0)
_
[1)
But when we use a superposition as input:
[0) + [1)
[0)
_
The combined state becomes:
([0) +[1))[0) = [00) +[10),
[00) +[10) CNOT [00) +[11).
Which is not a copy of the original state because:
([0) +[1))([0) +[1)) ,= [00) +[11).
A qubit in an unknown state (as an input) cannot be copied, when it is copied
it must rst be measured to be copied. The information held in the probability
amplitudes and is lost.
Bell State Circuit
This circuit produces Bell states that are entangled. Well represent a Bell state
circuit by , and the individual Bell states as [
00
), [
01
), [
10
), and [
11
).
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Important Properties of Quantum Circuits 145
[a)
H
[
xx
)
[b)
_
[00)
1
2
([00) +[11)) = [
00
),
[01)
1
2
([01) +[10)) = [
01
),
[10)
1
2
([00) [11)) = [
10
),
[11)
1
2
([01) [10)) = [
11
).
Superdense Coding
Its possible, by using entangled pairs, to communicate two bits of information
by transmitting one qubit. Heres how:
1. Initially Alice and Bob each take one half of an EPR pair, say we start with
00
. This means that Alice has the bolded qubit in
1
2
([00) + [11)) and
Bob has the bolded qubit in
1
2
([00) [11)). They then move apart to an
arbitrary distance.
2. Depending on which value Alice wants to send to Bob, she applies a gate
(or gates) to her qubit. This is described below and the combined state is
shown after the gates operation with Alices qubit shown bolded:
[00) I
1
2
([00) +[11)),
[10) X(X[0) = [1), X[1) = [0))
1
2
([10) +[01)),
[01) Z(Z[0) = [0), Z[1) = [1))
1
2
([00) [11)),
[11) XZ
1
2
([01) [10)).
3. Alice now sends her qubit to Bob via a classical channel.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
146 Important Properties of Quantum Circuits
4. Bob now uses a CNOT which allows him to factor out the second qubit
while the rst one stays in a superposition.
1
2
([00) +[11)) CNOT
1
2
([00) +[10)) =
1
2
([0) +[1))[0),
1
2
([10) +[01)) CNOT
1
2
([01) +[11)) =
1
2
([0) +[1))[1),
1
2
([00) [11)) CNOT
1
2
([00) [10)) =
1
2
([0) [1))[0),
1
2
([01) [10)) CNOT
1
2
([01) [11)) =
1
2
([0) [1))[1).
5. Now Bob applies an H gate to the rst bit to collapse the superposition.
1
2
([0) [1)) H [1),
1
2
([0) +[1)) H [0).
So Bob gets the following:
1
2
([0) +[1))[0) (H I) [00),
1
2
([0) +[1))[1) (H I) [01),
1
2
([0) [1))[0) (H I) [10),
1
2
([0) [1))[1) (H I) [11).
Bob can now measure the two qubits in the computational basis and the result
will be the value that Alice wanted to send.
Teleportation Circuit
Teleportation is basically the opposite of superdense coding, i.e. superdense
coding takes a quantum state to two classical bits. Teleportation takes two clas-
sical bits to one quantum state.
Alices circuit
[)
H
00
_
00 I
[)
00 X
[)
00 Z
[)
00 X Z
[)
1. Like superdense coding, initially Alice and Bob each take one half of an EPR
pair, say we start with
00
. This means that Alice has the bolded qubit in
1
2
([00) [11)) and Bob has the bolded qubit in
1
2
([00) [11)). They then
move apart to an arbitrary distance.
2. Alice has a qubit in an unknown state:
[) = [0) +[1).
Which she combines with her entangled qubit:
([0) +[1))
_
1
2
([00) +[11))
_
.
This gives the following combined state (Alices qubits are bolded):
[) =
1
2
([000) +[011) +[100) +[111)).
3. Alice then applies a CNOT. Note - This is like using (CNOTI) on the combined
three qubit system, i.e. including Bobs qubit.
1
2
([000) +[011) +[110) +[101)).
4. Alice then applies an H gate to her rst qubit, the qubit we want to teleport
(or H I I for the combined system):
1
2
(([000) +[100) +[011) +[111)) +([010) [110) +[001) [101))).
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
148 The Reality of Building Circuits
Now we rearrange the state to move amplitudes and so that we can
read the rst two bits leaving the third in a superposition.
=
1
2
([00)[0) +[10)[0) +[01)[1) +[11)[1) +[01)[0) [11)[0)
+[00)[1) [10)[1)),
=
1
2
([00)([0) +[1)) +[01)([1) +[0)) +[10)([0) [1))
+[11)([1) [0))).
5. Alice now performs measurements on her state to determine which of the
above bolded states her qubits are in. She then communicates via a clas-
sical channel what she measured (i.e. a [00), [01), [10), or a [11)) to Bob.
6. Bob now may use X and/or Z gate(s) to x up the phase and order of the
probability amplitudes, (he selects gates based on what Alice tells him)
so that the result restores the original qubit. Summarised below are the
gates he must use:
Case 00 = [0) +[1) I [0) +[1),
Case 01 = [1) +[0) X [0) +[1),
Case 10 = [0) [1) Z [0) +[1),
Case 11 = [1) [0) XZ [0) +[1).
5.3 The Reality of Building Circuits
There is a general theorem: Any unitary operation on n qubits can be imple-
mented using a set of two qubit operations. This can include CNOTs and other
single bit operations. This result resembles the classical result that any boolean
function can be implemented with NAND gates. This is helpful because some-
times we are limited in what we can use to build a quantum circuit.
5.3.1 Building a Programmable Quantum Computer
Is it Possible to Build a Programmable Quantum Computer
Can we build a programmable quantum computer? This means a quantum
computer that has an architecture similar to Von Neumann (or Harvard) archi-
tecture? No! This is because:
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
The Four Postulates of Quantum Mechanics 149
Distinct unitary operators U
0
...U
n
require orthogonal programs [U
0
), ...[U
n
)
[Nielsen, M. A. 2002]
This is called the no programming theorem.
If we were to have a programmable quantum computer our program would
consist of one or more unitary operators. Since there are an innite number of
these unitary operators the program register would have to be innite in size
(that is our input to the quantumcomputer that contains the program) [Nielsen,
M. A. 2002].
5.4 The Four Postulates of Quantum Mechanics
Now we can look at the four postulates in a bit more detail than in chapter 4,
in terms of quantum computing.
5.4.1 Postulate One
An isolated system has an associated complex vector space called a state space.
We will use a state space called a Hilbert space.
The state of the quantum system can be described by a unit vector in this space
called a state vector.
Example The simplest system we are interested in is a qubit which is in C
2
.
Aqubit is a unit vector [) in C. Most of the time well attach an orthonormal
basis (like [0), [1)). Our qubit can be described by:
[) = [0) +[1) =
_
_
here and are known as probability amplitudes and we say the qubit is in
a quantum superposition of states [0) and [1).
5.4.2 Postulate Two
Simple form
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
150 The Four Postulates of Quantum Mechanics
An isolated (closed) systems evolution can be described by a unitary trans-
form.
[
) = U[). (5.82)
Form including time
If we include time (as quantum interactions happen in continuous time):
[(t
2
)) = U(t
1
, t
2
)[(t
1
)) (5.83)
here t
1
and t
2
are points in time and U(t
1
, t
2
) is a unitary operator than can vary
with time.
We can also say that the process is reversible, because:
U
]
_
0
_
_
= [[
2
+[[
2
,
pr(2) = [P
2
[)
= [
]
_
_
0
0
_
= [[
2
.
So our separated look like this:
[
1
) =
P
1
[)
_
[P
1
[)
=
[0) +[1)
_
[[
2
+[[
2
,
[
2
) =
P
2
[)
_
[P
2
[)
=
[2)
_
[[
2
.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
The Four Postulates of Quantum Mechanics 153
More importantly we can look at partial measurement of a group of qubits, the
following example uses the tensor product which is also part of postulate 4. If
the system to be measured in the basis [O
1
), [O
2
) then we use the projector
with a tensor product with I on the qubit we dont want to measure. e.g. for
[O
2
) of qubit two we use (I P
2
).
Example If [) =
00
[00) +
01
[01) +
10
[10) +
11
[11):
For measuring qubit one in the computational basis we get [0) with
probability:
pr(0) = [P
0
I[)
= (
00
[00) +
01
[01) +
10
[10) +
11
[11)) (
00
[00) +
01
[01))
= [
00
[
2
+[
01
[
2
.
There is another type of measurement called a POVM (Positive Operator Val-
ued Measure) of which projectors are a certain type. POVMs are beyond the
scope of this text.
5.4.4 Postulate Four
A tensor product of the components of a composite physical system, describes
the system. So the state spaces of the individual systems are combined so:
C
n
C
n
= C
n
2
. (5.89)
An example is on the next page.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
154 The Four Postulates of Quantum Mechanics
Example C
4
C
4
= C
16
can look like:
([
A
) = [1) +[2) +[3) +[4)) ([
B
) = [a) +[b) +[c) +[d))
and can be written as:
[
AB
) = [1a) +[1b) +[1c) +. . . +[4d).
Example If Alice has [
A
) = [u) and Bob has [
B
) = [v), if their systems
are combined the joint state is:
[
AB
) = [u) [v).
If Bob applies gate U to this system it means I U is applied to the joint
system.
Example Given the following:
[) =
0.1[00) +
0.2[01) +
0.3[10) +
0.4[11)
then,
[) (I X) [) =
0.1[01) +
0.2[00) +
0.3[11) +
0.4[10),
[) (X I) [) =
0.1[10) +
0.2[11) +
0.3[00) +
0.4[01).
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Chapter 6
Information Theory
6.1 Introduction
Information theory examines the ways information can be represented and
transformed efciently [Steane, A. M. 1998]. This information can be repre-
sented in many different ways to express the same meaning. E.g. How are
you? and Comment allez vous? express the same meaning. All known
ways of representing this information must have a physical medium like mag-
netic storage or ink on paper. The Information stored on a particular physical
medium is not tied to that medium and can be converted from one form to
another. If we consider information in these terms then it becomes a property
like energy that can be transferred from one physical system to another.
We are interested in quantum information, which has many parallels in con-
ventional information theory. Conventional information theory relies heavily
on the classical theorems of Claude E. Shannon, 1916 - 2001 (gure 6.1). There
are a number of quantum equivalents for the various parts of his classical the-
orems. In this chapter well look at these and other related topics like quantum
error correction, and quantum cryptology. Also, as promised, there is a fairly
in-depth section on Bell states and the chapter ends with some open questions
on the nature of information and alternate methods of computation.
As with chapter 5 individual references to QCQI have been dropped as they
would appear too frequently.
155
156 History
Figure 6.1: Claude E. Shannon and George Boole.
6.2 History
The history of information theory can be said to have started with the invention
of boolean algebra in 1847 by George Boole, 1815 - 1864 (gure 6.1). Boolean alge-
bra introduced the concept of using logical operations (like AND, OR, and NOT)
on the binary number system. The next milestone was in 1948 when Shannon
wrote the mathematical theory of communication in which he outlined the
concepts of Shannon entropy (see section 6.5.1) [Shannon C. E. 1948]. Earlier
Shannon had shown that boolean algebra could be used to represent relays,
switches, and other components in electronic circuits. Shannon also dened
the most basic unit of information theory - the bit (binary digit).
6.3 Shannons Communication Model
To formally describe the process of transmitting information from a source to a
destination we can use Shannons communication model, which is shown in gure
6.2. The components of this are described as follows:
Source - The origin of the message, which itself has a formal denition (see
section 6.4). The message is sent from the source in its raw form.
Transmitter - The transmitter encodes and may compress the message at which
point the message becomes a signal which is transported fromtransmitter
to receiver.
Source of Noise - The noise source can introduce random noise into the sig-
nal, potentially scrambling it.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Shannons Communication Model 157
Figure 6.2: Shannons communication model.
Receiver - The receiver may decode and decompress the signal back into the
original message.
Destination - The destination of the raw message.
6.3.1 Channel Capacity
A message is chosen from a set of all possible messages and then transmitted.
Each symbol transferred takes a certain amount of time (which is called the
channel capacity).
Shannons name for channel capacity on a binary channel is one bit per time
period e.g. 56, 000 bits per second. His expression for capacity is:
C = lim
T
log
2
N
T
(6.1)
where N is the number of possible messages of length T.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
158 Classical Information Sources
Example For binary we have:
2 bits = 4 different messages in 2 time periods.
3 bits = 8 different messages in 3 time periods.
so,
N(T) = 2
T
and,
C =
log
2
N
T
= 1 bit per time period.
Example Another example is morse code, where dashes take longer to
transmit than dots. If dashes are represented by 1110 and a dot is 10 for
this we have:
C = 0.34 bit per time period.
6.4 Classical Information Sources
A source of information produces a discrete set of symbols from a specic al-
phabet. The alphabet that is most commonly used is binary (1 and 0), but it
could in principle be any series of symbols.
The way an information source can be modelled is via a probability that cer-
tain letters or combinations of letters (words) will be produced by the source.
An example for this probability distribution would be, given an unknown book -
one could, in advance, predict to a certain degree of accuracy the frequency of
words and letters within the book [Nielsen, M. A. 2002].
6.4.1 Independent Information Sources
An independent and identically Distributed (IID) information source is an infor-
mation source in which each output has no dependency on other outputs from
the source, and furthermore each output has the same probability of occurring
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Classical Information Sources 159
each time it is produced [Nielsen, M. A. 2002].
An IID is an information source with an alphabet (i.e a set of symbols or out-
puts a
i
):
A = a
1
, . . . , a
n
(6.2)
with probabilities pr(a
1
),pr(a
2
), . . . ,pr(a
n
) such that:
n
i=1
pr(a
i
) = 1 where 0 pr(a
i
) 1 i. (6.3)
This source will produce a letter with probability pr(a
i
) with no dependency
on the previous symbols. Independent information sources are also called zero
memory information sources (i.e. they correspond to a Markov process).
Example [Nielsen, M. A. 2002] A biased coin is a good example of an IID.
The biased coin has a probability p of heads and a probability of 1p of tails.
Given a language
= heads, tails:
pr(heads) = 0.3,
pr(tails) = 0.7 .
Our coin will come up tails 70% of the time.
Strictly speaking, Shannons results only hold for a subset of information sources
that conform to the following:
1. Symbols must be chosen with xed probabilities, one by one with no depen-
dency on current symbols and preceding choices.
2. An information source must be an ergodic source. This means that there
should be no statistical variation (with a probability of 1) between possi-
ble sources. I.e. all systems should have the same probabilities for letters
to appear in their alphabets.
Not many sources are perfect like the above. The reason is that, for example
a book has correlations between syllables, words, etc. (not just letters) like
he and wh [Nielsen, M. A. 2002]. We can measure certain qualities and
the source becomes more like an IID (like JUST letter frequency). Shannon
suggested that most information sources can be approximated.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
160 Classical Redundancy and Compression
6.5 Classical Redundancy and Compression
Compression of data means using less information to represent a message and
reconstructing it after it has been transmitted. When we talk about compression
in this section we mean simple algorithmic compression that can be applied to
all information sources. This is distinct from say, changing the text in a sen-
tence to convey the same meaning or using special techniques to only work
on a subset of messages or information sources (like using a simple formula to
exactly represent a picture of a sphere).
We often talk about using a coding K to represent our message. Formally, a
coding is a function that takes a source alphabet A to a coding alphabet B, i.e.
K : A B. For every symbol a in the language A, K(a) is a word with letters
from B.
A word, w = a
1
a
2
. . . a
n
in A is found by:
K(w) = K(a
1
)K(a
2
) . . . K(a
n
). (6.4)
Example A simple coding.
A = A, B, C, D,
B = 0, 1.
Possible encodings are:
A 0001,
B 0101,
C 1001,
D 1111.
So we encode the word ABBA as:
K(ABBA) = 0001 0101 0101 0001.
Length of Codes
We dene the size of an alphabet A as [A[ and the length of a word w can be
shown with [w[.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Classical Redundancy and Compression 161
Example [A[ and [w[.
A = a, b, c, d, e, f,
B = 0, 1, 2.
Possible encodings are:
a 0,
b 1,
c 20,
d 220,
e 221,
f 222.
We get:
[K(a)[ = 1, [K(c)[ = 2, [K(f)[ = 3, [A[ = 6, [B[ = 3.
6.5.1 Shannons Noiseless Coding Theorem
Shannon demonstrated that there is a denite limit to how much an informa-
tion source can be compressed. Shannon Entropy H(S) is the minimum number
of bits needed to convey a message. For a source S the entropy is related to the
shortest average length coding L
min
(S) by:
H(S) L
min
(S) < H(S) + 1. (6.5)
We can nd the Shannon Entropy, of a particular source distribution measured
in bits by:
H(X) =
i
pr
i
log
2
pr
i
. (6.6)
Here, log
2
(a log of base 2) means that the Shannon entropy is measured in bits.
pr
i
is a measure of probability (i.e. the frequency with which it is emitted) for a
symbol being generated by the source and the summation is a sum over all the
symbols i = 1, 2, . . . , n generated by the source.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
162 Classical Redundancy and Compression
Example Random and dependent sources.
Random Each symbol is chosen from the source totally randomly (with A
and B having equal probability), with no dependencies, this source is
uncompressible with Shannon Entropy of 1 bit per symbol.
Dependent Every second symbol is exactly the same as the last, which is
chosen randomly (e.g. AABBBBAABB). This has Shannon Entropy of
1
2
bit(s) per symbol.
Example We have a language A, B, C, D, E of symbols occurring with
the following frequency:
A = 0.5, B = 0.2, C = 0.1, D = 0.1, E = 0.1 .
The entropy is:
H(X) = [(0.5 log
2
0.5 + 0.2 log
2
0.2 + (0.1 log
2
0.1) 3)]
= [0.5 + (0.46438) + (0.9965)]
= [1.9]
= 1.9.
So we need 2 bits per symbol to convey the message.
The minimum entropy is realised when the information source produces a sin-
gle letter constantly, this gives us a probability of 1 for that letter.
The maximum entropy is realised when we have no information about the
probability distribution of the source alphabet (when all symbols are equally
likely to occur).
A special case of the entropy is binary entropy where the source has just two
symbols with probabilities of p and 1 p like the biased coin toss for exam-
ple. Note a fair coin toss has maximum entropy of 1 bit and a totally unfair,
weighted coin that always comes up heads or always comes up tails has mini-
mum entropy of 0 bits.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Classical Redundancy and Compression 163
6.5.2 Quantum Information Sources
Shannon entropy gives us a lower bound on how many bits we need to store
a particular piece of information. The question is, is there any difference when
we use quantum states? The answer is yes if we use a superposition.
If the qubits involved are in well dened states (like [0) and [1)) a semiclas-
sical coin toss [Nielsen, M. A. 2002] gives us:
[0) with probability of
1
2
,
[1) with probability of
1
2
,
H
_
1
2
_
= 1.
If we replace one of these states with a superposition then a quantum coin
toss gives us:
[0) with probability of
1
2
,
|0+|1
2
with probability of
1
2
,
H
_
1 +
1
2
2
_
= 0.6 .
Better than Shannons rate!
Generally a quantum information source produces state: [
j
) with probabil-
ities pr(j), and our quantum compression performs better than the Shannon
rate H(pr(j)).
6.5.3 Pure and Mixed States
A quantum system is said to be in a pure state if its state is well dened. This
does not mean the state vector will always collapse to a known value; but at
least the state vector is known as distinct fromwhat it collapses to. For example
given a photon and a polariser the photon can be in three states, horizontal (H),
vertical (V), and diagonal (D). If we make our photon diagonal at 45
then we
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
164 Classical Redundancy and Compression
have an equal superposition of H and V.
[D) =
1
2
[H) +
1
2
[V).
Now if we measure polarisation we have a 50% chance of detecting an [H) or a
50% of detecting a [V). The state was well dened before measurement, so we
call it pure (i.e. we have a well dened angle of polarisation viz 45
, and if we
measure with a polariser in this direction the result is certain). We dont have
this situation if there is no direction in which the result is certain. So the state is
not well dened and we call this state mixed. For example, if we have a number
of photons, 50%of which are polarised horizontally and 50%vertically, nowwe
have a mixed state. Each photon has a well dened state [H) or [V), but not the
group. This situation is indistinguishable from a photon that is in an entangled
state.
When closed quantum systems get affected by external systems our pure states
can get entangled with the external world, leading to mixed states. This is
called decoherence, or in information theory terms, noise.
It is possible to have a well dened (pure) state that is composed of subsys-
tems in mixed states. Entangled states like Bell states are well dened for the
composite system (whole), but the state of each component qubit is not well
dened, i.e. mixed.
6.5.4 Schumachers Quantum Noiseless Coding Theorem
The quantum analogue of Shannons noiseless coding theorem is Schumachers
quantum noiseless coding theorem. Which is as follows [Nielsen, M. A. 2002]:
The best data rate R achievable is S(). (6.7)
where S is Von Neumann entropy and is the density matrix. holds equivalent
information to the quantumstate and quantummechanics can be formulated
in terms of as an alternative to . We now look at .
The Density Matrix
In studying quantum noise it turns out to be easier to work with the density
matrix than the state vector (think of it as just a tool; not a necessary compo-
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Classical Redundancy and Compression 165
nent of quantum computing).
According to Nielsen [Nielsen, M. A. 2002] there are three main approaches
to the density matrix, the ensemble point of view, subsystem, and fundamental
approaches. They are described briey here:
Ensemble - This is the basic view of the density matrix which gives us mea-
surement statistics in a compact form.
Subsystem - If quantum system A is coupled to another quantum system B
we cant always give A a state vector on its own (it is not well dened).
But we can assign an individual density matrix to either subsystem.
Fundamental - It is possible to restate the four postulates of quantummechan-
ics in terms of the density matrix.
For example, as mentioned above, we can view the statistics generated by an
entangled photon as equivalent to that of the corresponding ensemble.
Ensemble Point of View
Consider a collection of identical quantum systems in states in [
j
) with prob-
abilities pr
j
. The probability of outcome k when a measurement, which is de-
scribed by P
k
, is:
k = tr(P
k
) (6.8)
where,
=
j
pr
j
[
j
)
j
[ (6.9)
is the density matrix. completely determines the measurement statistics. The
set of all probabilities and their associated state vectors pr
j
, [
j
) is called an
ensemble of pure states.
If a measurement is done, with projectors P
k
on a system with density matrix
the post measurement density matrix
k
is:
k
=
P
k
P
k
tr(P
k
P
k
)
. (6.10)
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
166 Classical Redundancy and Compression
A simple example involving the probabilities for a qubit in a known state is
below:
Example For a single qubit in the basis [0), [1).
=
2
j=1
pr
j
[
j
)
j
[.
For [) = 1 [0) +0 [1), i.e. measurement probabilities pr([0)) = 1 and pr([1))
= 0:
= 1 [0)0[ + 0 [1)1[
= 1
_
1
0
_
_
1 0
_
+ 0
_
0
1
_
_
0 1
_
=
_
1 0
0 0
_
.
For [) = 0 [0) +1 [1), i.e. measurement probabilities pr([0)) = 0 and pr([1))
= 1:
= 0 [0)0[ + 1 [1)1[
= 0
_
1
0
_
_
1 0
_
+ 1
_
0
1
_
_
0 1
_
=
_
0 0
0 1
_
.
Next well have a look at a qubit in an unknown state, and the use of a trace
over the density matrix given a projector.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Classical Redundancy and Compression 167
Example Given measurement probabilities pr([0)) = p and pr([1)) = 1 p.
= p[0)0[ + (1 p)[1)1[
= p
_
1
0
_
_
1 0
_
+ (1 p)
_
0
1
_
_
0 1
_
= p
_
1 0
0 0
_
+ 1 p
_
0 0
0 1
_
=
_
p 0
0 1 p
_
.
So, given a density matrix and a projector P = [0)0[ we can extract the
nal probability from , say we measure in an orthonormal basis, [0), [1)
then:
pr([0)) = tr([0)0[)
= tr
__
p 0
0 1 p
__
1 0
0 0
__
= tr
__
p 0
0 0
__
= p + 0
= p,
pr([1)) = tr([1)1[)
= tr
__
p 0
0 1 p
__
0 0
0 1
__
= tr
__
0 0
0 1 p
__
= 0 + (1 p)
= 1 p.
How does a the density matrix evolve?
Suppose a unitary transform U is applied to a quantum system: i.e. U[);
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
168 Classical Redundancy and Compression
what is the new density matrix? To answer this, using the ensemble view, we
can say that if the system can be in states [
j
) with probabilities tr
j
then, after
the evolution occurs, it will be in state U[) with probabilities pr
j
.
Initially we have =
j
pr
j
[
j
)
j
[. So, after U is applied, we have:
j
pr
j
U[
j
)
j
[U
(6.11)
= U
_
j
pr
j
U[
j
)
j
[
_
U
(6.12)
= UU
. (6.13)
Note that when [
j
) goes to U[
j
),
j
[ = [
j
)
goes to (U[
j
))
=
j
[U
.
Example Given measurement probabilities pr([0)) = p and pr([1)) = 1 p
then =
_
p 0
0 1 p
_
.
If X is applied to then:
= XX
=
_
1 p 0
0 p
_
.
Example For [) =
1
2
[00) +
1
2
[11) we have pr([00)) =
1
2
and pr([11)) =
1
2
.
This gives us a what is called completely mixed state and =
I
2
. So,
= U
I
2
U
=
I
2
because UU
= 1.
Properties:
tr() = 1. (6.14)
is a positive matrix. (6.15)
Subsystem Point of View
The density matrix can describe any subsystem of a larger quantum system,
including mixed subsystems. Subsystems are described by a reduced density
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Classical Redundancy and Compression 169
matrix. If we have two subsystems A and B of a system C where A B = C.
The density matrices for the subsystems are
A
and
B
and the overall density
matrix is
C
(also referred to as
AB
). We can dene
A
and
B
as:
A
= tr
B
(
C
) and
B
= tr
A
(
C
). (6.16)
tr
A
and tr
B
are called partial traces over systems A and B respectively. The
partial trace is dened as follows:
A
= tr
B
([a
1
)a
2
[ [b
1
)b
2
[) = [a
1
)a
2
[tr([b
1
)b
2
[) (6.17)
= b
1
[b
2
)[a
1
)a
2
[. (6.18)
Previously we mentioned the difference between pure and mixed states. Theres
a simple test we can do to determine is a state is mixed or pure, which is to run
a trace on that state, if we get tr(
2
) < 1 then the state is mixed (tr(
2
) = 1
for a pure state). Bell states for example have a pure combined state with
tr((
C
)
2
) = 1, but they have mixed substates, i.e. tr((
A
)
2
) < 1 and tr((
B
)
2
) < 1.
Fundamental Point of View
In terms of the density matrix the four postulates of quantum mechanics are
[Nielsen, M. A. 2002]:
1. Instead of using a state vector, we can use the density matrix to describe a
quantum system in Hilbert space. If a system is in state
j
with a proba-
bility of pr
j
it has a density matrix of
j
pr
j
j
.
2. Changes in a quantum system are described by
= UU
.
3. Measuring using projectors P
k
gives us k with probability tr(P
k
) leaving
the system in a post measurement state of
k
=
P
k
P
k
tr(P
k
P
k
)
.
4. A tensor product gives us the state of a composite system. A subsystems
state can be found by doing a partial trace on the remainder of the system
(i.e. over the other subsystems making up the system).
Von Neumann Entropy
The probability distributions in classical Shannon entropy H, are replaced by a
density matrix in Von Neumann entropy, S:
S() = tr( log
2
). (6.19)
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
170 Classical Redundancy and Compression
We can also dene the entropy in terms of eigenvalues
i
:
S() =
i
log
2
i
(6.20)
where
i
are the eigenvalues of .
If we want to dene the uncertainty of a quantum state before measurement
we can use entropy, given a Hilbert space of dimension d then
0 S() log
2
d (6.21)
with S() = 0 meaning a pure state and S() = log
2
d giving us a totally mixed
state. For example we could compare two states, by measuring their Von Neu-
mann entropy and determine if one is more entangled than the other. We also
use Von Neumann entropy to dene a limit for quantum data compression,
namely Schumacher compression, which is beyond the scope of this paper.
Properties:
S(
A
B
) = S(
A
) +S(
B
). (6.22)
S(
AB
) S(
A
) +S(
B
). (6.23)
S(
AB
) [S(
A
) S(
B
)[. (6.24)
S(
A
) = tr(
A
log
2
A
). (6.25)
S(
B
) = tr(
B
log
2
B
). (6.26)
A
= tr
B
(
AB
). (6.27)
B
= tr
A
(
AB
). (6.28)
AB
=
A
B
. (6.29)
S(A) +S(B) S(AC) +S(BC). (6.30)
S(ABC) +S(B( S(AB) +S(BC). (6.31)
For S(A) +S(B) S(AC) +S(BC) it holds for Shannon entropy since H(A)
H(AC) and H(B) H(BC) we get an advantage with Von Neumann entropy
with:
S(A) > (AC) (6.32)
or,
S(B) > S(BC). (6.33)
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Noise and Error Correction 171
It should be noted that quantummechanics tells us that (6.32) and (6.33) cannot
be true simultaneously.
6.6 Noise and Error Correction
Noisy Channels
Noise is randomisation in a channel. To combat noise we use redundancy, i.e.
we send additional information to offset the noise. In the case of a binary chan-
nel we use repetition, e.g. we can use three 1s to represent a single 1, that way
two bits have to be ipped to produce an error. An example of this is that a
011 can equate to 1. If two bit ips is highly improbable then upon receiving
011 we assume (with a high degree of certainty) that a 1 was sent (as 111) and a
single bit was ipped. Repetition is inefcient: to make the probability of error
occurring lower, longer encodings are required which increases transmission
times. Shannon found a better way,
Given a noisy channel there is a characteristic rate R, such that any
information source with entropy less than R can be encoded so as to
transmit across the channel with arbitrarily few errors, above R we
get errors [indigosim.com ? 2000].
So if there is no noise then R matches the channel capacity C.
Classical Error Correction
Well consider using binary symmetric channels with an error probability p with
p 0.5 and:
If 0 is transmitted, 0 is received with probability 1 p.
If 0 is transmitted, 1 is received with probability p.
If 1 is transmitted, 1 is received with probability 1 p.
If 1 is transmitted, 0 is received with probability p.
We generally use a greater number of bits than the original message to encode
the message with codewords. We call this a K
x
channel coding, with x being the
number of bits used to encode the original message.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
172 Noise and Error Correction
If we have a code (called a binary block code) K of length n it has an infor-
mation rate of:
R(K) =
k
n
(6.34)
if it has 2
k
codewords (k = 1 in the example below).
This means, we have an original message of k bits and we use codewords on n
bits.
Repetition Codes
Using repetition codes we have a greater chance of success by increasing the
number of coding bits for a bit to be transmitted and averaging the result bits.
Repetition codes have an information rate of R(K) =
1
n
.
Example A K
3
channel coding could be:
0 000,
1 111.
With a channel decoding of:
000 0, 001 0, 010 0, 100 0,
111 1, 110 1, 101 1, 011 1.
So our information rate is:
R(K
3
) =
1
3
.
So, bit ips in 1 out of 3 bits in codeword are xable, but the information
rate is down to
1
3
.
6.6.1 Quantum Noise
In practice we cannot make perfect measurements and its hard to prepare and
apply quantum gates to perfect quantum states because real quantum systems
are quite noisy.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Noise and Error Correction 173
6.6.2 Quantum Error Correction
Quantum error correction codes have been successfully designed, but the area
still remains a hot topic. Some scientists still believe that quantum computing
may be impossible due to decoherence which is external inuences destroying
or damaging quantum states. We use quantum error correction codes in place
of classical ones. The fact that they are quantum gives us a number of extra
problems:
1. No Cloning.
2. Continuous errors, many types of error can occur on a single qubit (not just
a bit ip as with a classical circuit). E.g. we might have a change of phase:
[0) +[1) [0) +e
i
[1).
3. Measurement destroys quantuminformation (so if we used a repetition code,
how do we apply majority logic to recover the qubits?).
Below are some simple examples of quantum errors.
Example A qubits relative phase gets ipped:
a[0) +b[1) a[0) b[1).
Example A qubits amplitudes get ipped:
a[0) +b[1) b[0) +a[1).
Example A qubits amplitudes and relative phase get ipped:
a[0) +b[1) b[0) a[1).
Quantum Repetition Code
A quantum repetition code is the analogue of a classical repetition code, for
classical states (states not in a superposition) this is easy:
[0) [000),
[1) [111).
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
174 Noise and Error Correction
The no cloning theorem wont allow us to make copies of qubits in a superpo-
sition, i.e. it prevents us from having:
[) [)[)[)
which expanded would be:
([0) +[1)) ([0) +[1)) ([0) +[1)).
So what we do is to encode our superposed state into the following entangled
state:
[) = [0) +[1) [0)[0)[0) +[1)[1)[1) = [
)
or,
[0) +[1) [000) +[111)
which, expanded is:
[000) + 0[001) + 0[010) + 0[011) + 0[100) + 0[101) + 0[110) +[111).
A simple circuit for this encoding scheme is shown below:
[)
[0)
_
[
)
[0)
_
So if we made our input state [0) +[1) then we would get:
[0) + [1)
[0)
_
[000) + [111)
[0)
_
[
1
) [
2
) [
3
)
The diagram shows the stages in the evolution of [) as the CNOT gates are
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Noise and Error Correction 175
applied; the [
i
) are as follows:
[
1
) = [000) +[100).
[
2
) = [000) +[101).
[
2
) = [000) +[111).
Fixing Errors
The following circuit detects an amplitude ip (or bit ip) which is the equiv-
alent of X[) on [). For example noise can ip qubit three, i.e. [000) +
[111) I I X [001) +[110). We determine that theres been an error
by entangling the encoded state with two ancilla qubits and performing mea-
surements on the ancilla qubits. We then adjust our state accordingly based on
the results of the measurements as described in the table below. Note that we
are assuming that an error has occurred AFTER the encoding and BEFORE we
input the state to this circuit.
Error Correction
1
[001) +[110) [000) +[111)
[0)
_ _
M
1
[0)
_ _
M
2
_ _ _
_ _ _
Error Syndrome
[
1
) [
2
) [
3
) [
4
) [
5
)
[
1
) = [001) +[110).
[
2
) = [00100) +[11000).
[
3
) = [00101) +[11001).
[
4
) = ([001) +[110)) [0)[1).
The measurements M
1
and M
2
cause a readout of 01 on lines 4 and 5. So now
we feed 01 (called the error syndrome) into our error correction (or recovery) cir-
cuit R which does the following to [001) +[110):
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
176 Noise and Error Correction
M
1
M
2
Action
0 0 no action needed, e.g. [111) [111)
0 1 ip qubit 3, e.g. [110) [111)
1 0 ip qubit 2, e.g. [101) [111)
1 1 ip qubit 1, e.g. [011) [111)
So we apply a qubit ip to line 3 giving:
[
5
) = [000) +[111).
This circuit will x a single bit ip in our three qubit repetition code. All that re-
mains is to decode [) to return to our original state. We get a problem though
if we have a relative phase error, i.e.:
[000) +[111) [000) [111)
which, decoded is:
[0) +[1) [0) [1).
It turns out we have to change our encoding method to deal with a relative
phase ip, which we can do with the following circuit:
[0) + [1)
H
[0)
_
H
[0)
_
H
The error correction circuit for a relative phase ip is almost exactly the same as
the error correction circuit for an amplitude ip, we just add in some Hadamard
gates at the start to deal with the superpositions we generated with the initial
encoding (shown immediately above). Again remember that any errors that
do happen, happen between the encoding and the circuit we are about to intro-
duce:
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Noise and Error Correction 177
Error Correction
H
1 H
H
[0)
_ _
M
1
[0)
_ _
M
2
_ _ _
_ _ _
Error Syndrome
[
1
) [
2
)
Suppose we have a phase ip on line 2. If our input state is:
[
1
) = [+ +) + [+)
then,
[
2
) = ([001) + [110)) [00) .
This is the same as [
2
) in the bit ip case. Since the rest of the circuit is the
same we get the output of R being:
[000) + [111)
as before.
It should be noted that these errors are dened in terms of the [0), [1) ba-
sis. If we use the [+), [) basis then the phase ip circuit above xes a bit ip
and vice versa.
In terms of single qubits, a relative phase ip can be xed with HZH and an
amplitude ip with X. But we still have a problem because the circuit above
cannot detect a amplitude ip. A third encoding circuit produces a Shor code
which is a nine qubit code that has enough information for us to be able to ap-
ply both types of error correcting circuits, and is our rst real QECC (Quantum
Error Correction Code). The circuit is presented below.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
178 Bell States
[)
H
[0)
_
[0)
_
[0)
_
H
[0)
_
[0)
_
[0)
_
H
[0)
_
[0)
_
The Shor code is one of many QECCs, another example is the Steane code. These
both in turn are CSS codes (Calderbank, Shor, Steane). CSS codes are part of a
more general group of QECCs called Stabiliser codes.
6.7 Bell States
As mentioned in chapter 4 the EPR experiment showed that entangled particles
seem to communicate certain quantum information instantly over an arbitrary
distance upon measurement. Einstein used this as an argument against the
notion that particles had no dened state until they were measured (i.e. he ar-
gued that they had hidden variables). John Bell, 1928 - 1990 proved in 1964
that there could be no local hidden variables. In the following description of
his proof consider the fact that we can measure the spin of a particle in several
different directions which can be thought of as measuring in different bases.
During this section well refer to Einsteins position as EPR and the quantum
mechanical position as QM.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Bell States 179
Bell takes a system of two entangled spin particles being measured by two
remote observers (observers 1 and 2, say, who observe particles 1 and 2, respec-
tively). He shows that, if the observers measure spin in the same direction (e.g.
z) there is no empirical difference between the results predicted by the two po-
sitions (QM or EPR). For the purposes of our example well begin by dening
the following entangled state:
[
A
) =
1
2
[0
1
1
2
)
1
2
[1
1
0
2
). (6.35)
Weve introduced the notation [0
1
1
2
) to distinguish between qubits 1 and 2,
which will become important later.
If we allow the directions to be different it is possible to get a empirically
testable difference. The intuition for this is that if, as QMsays, what happens at
observer 2 is dependent on what happens at observer 1, and the latter is depen-
dent on the direction at 1, then what happens at 2 will involve both directions
(we imagine that a measurement at 1, in some direction, causes state collapse
so that particle 2 points in the antiparallel direction to 1 and is then measured
in observer 2s direction; the probability for an outcome, spin up or spin down,
is dependent on the angle between the two directions - see below). Whereas,
in the EPR view, what happens at observer 2 cannot in any way involve the di-
rection at observer 1: what happens at observer 2 will, at most, be determined
by the value particle 2 carries away at emission and the direction at observer 2.
6.7.1 Same Measurement Direction
To see that same direction measurements cannot lead to a testable difference
rst imagine that there are two separated observers, Alice and Bob, who run
many trials of the EPR experiment with spin particles. Let each measure the
spin of the particle that ies towards them. If they both measure in the same
direction, say z, then the results might be represented as follows:
Alice Bob Frequency
z z
1 0 50%
0 1 50%
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
180 Bell States
We soon realise that we cant use this case to discriminate between the two po-
sitions.
QM position. This explains the result by saying that, upon Alices measure-
ment of 1, the state vector superposition [
A
) collapses into one or other of the
two terms.
either [0
1
1
2
) or [1
1
0
2
)
with 50% probability for Alice measuring 0 or 1. But then we no longer have
a superposition (Alices measurement has produced a 0 on particle 1 and a
1 on particle 2, or vice versa) and Bobs measurement outcome on 2 is com-
pletely determined (relative to the outcome on 1) and will be the opposite of
Alices outcome.
EPR position. This says the particles actually have well dened values at the
moment they are emitted, and these are (anti-)correlated and randomly dis-
tributed between 01 and 10 over repeated trials. When Alice measures 0 Bob
measures 1 not because Alices measurement has produced anything; but
simply because the 1 is the value the particle had all along (which the measure-
ment reveals). The randomness here is due to initial conditions (emission); not
to collapse.
Either way we have the same prediction.
6.7.2 Different Measurement Directions
Bells innovation was to realise that a difference will occur if we bring in differ-
ent measurement directions. The intuition for this might go as follows.
Suppose there are two directions a(= z) and b. Start with [
A
) and allow Alice
to measure particle 1 in the a direction. This causes a collapse, as before, and
we have:
either [0
1
1
2
) or [1
1
0
2
).
Alices measurement has produced a 1 (spin down) in the a direction on par-
ticle 2 (to take the rst case). Bob now measures particle 2 in the b direction. To
work out what happens according to QM we have to express [1
2
) in terms of a
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Bell States 181
b basis. If b is at angle to a this turns out to be:
[1
2
) = sin
_
2
_
[+
2
) + cos
_
2
_
[
2
) (6.36)
where [+
2
) means spin up along the b axis. This looks right. If = 90 (the case
when b = x) we get
1
2
, as before; when = 0 (the case when b = z) we get [
2
)
(= [1) in that case). Likewise, for [0
2
):
[0
2
) = cos
_
2
_
[+
2
) sin
_
2
_
[
2
). (6.37)
The signicant point is that, since is the angle between a and b, the direction
of Alices measurement is entering into (inuencing) what happens for Bob.
But this cant happen in a realist local view as, espoused by EPR, because:
1. The spin values of the particles are determined at the moment of emission,
and are not produced at some later moment as a result of an act of
measurement (realism);
2. by construction, the events at Bobs end are beyond the reach of the events
at Alices end (locality).
The rat is cornered: by bringing different directions of measurement into it, we
should get a detectable difference. So reasons Bell.
6.7.3 Bells Inequality
It turns out we need three directions. So allow Alice and Bob to measure in
three possible directions labelled a, b, and c; we will actually take the case where
these directions are all in the plane, perpendicular to line of ight, and at 120
to one another. When Alice and Bob measure in the same direction, say a and
a, they will observe correlation: 1 with 0, or 0 with 1, as above. However, if
they measure in different directions, say a and b, there is no requirement for
correlation, and Alice and Bob might both observe 1, for example (as in row 3
below).
QM View
If we put = 120 into 6.38 we have:
[1
2
) =
3
2
[+
2
) + 1/2[
2
).
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
182 Bell States
This tells us that Alice having measured 0 in the a direction (as in 6.37). Bob
now measures + in the b (ie spin up or 0) direction with probability
3
4
and in
the b direction (i.e. spin down or 1) with probability
1
4
. The net result is that we
have:
Alice Bob Probability
a b
0 0
3
4
0 1
1
4
Equivalent results will be obtained in other pairs of different directions (eg bc,
ie Alice chooses b, Bob c) since the angles between such directions are always
the same. In general we have:
If the directions are different the probability for outcomes to be the
same S (eg 00) is
3
4
; to be different D (eg 01) is
1
4
. On the other hand,
if the directions are the same the probability for different outcomes
(D) is 1.
Suppose we now run 900 trials. Randomly change the directions of measure-
ment, so that each combination occurs 100 times. The results must go as:
aa ab ac ba bb bc ca cb cc
Outcome S 0 75 75 75 0 75 75 75 0
Outcome D 100 25 25 25 100 25 25 25 100
The net result is that S occurs 450 times and D 450 times. We conclude:
the probability of different outcomes is
1
2
.
EPR View
We assume each particle carries a spin value relative to each possible direc-
tion (as in classical physics), except that (to t in with what is observed) the
measured value will always be spin up (0) or spin down (1), and not some
intermediate value (so the measured values cannot be regarded as the projec-
tion of a spin vector in 3D space onto the direction of the magnetic eld, as
in classical physics). To try to account for this we say that, at the moment of
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Bell States 183
emission, each particle leaves with an instruction (the particles property, or
hidden variable, or key, or component) - one for each possible direction (a, b, c)
in which it can be measured - which determines the measured outcome in that
direction (in the conventional, pre-quantum, sense that the measurement just
discovers or reveals what is already there). Since the measurement in the a di-
rection can discover two possible values, 0 or 1, the corresponding property,
which we call the A component, must have two values: either A=0, or A=1,
which determines the measurement outcome (as noted above, we cannot allow
randomness in the act of measurement - this would destroy the aa correlation,
etc ; the only possible randomness that can occur is in the assignment of initial
component values at the moment of emission, see below). Likewise, we have
B=0 or B=1; and C=0 or C=1. (It might seem we need an innity of these prop-
erties to cater for the innity of possible measurement directions. This doesnt
constitute a problem in classical physics where we have spin behaving like a
magnetic needle: the innity of possible observed components of the magnetic
moment, dependent on measurement direction, is no more mysterious than the
innity of shadow lengths projected by a stick dependent on the suns direc-
tion. But note that it would seem strange to account for the innity of shadow
lengths by saying the stick had an innity of components - or instructions -
specifying what shadow should appear, depending on the angle of the sun!).
The A,B,C values are set for each particle at the time of emission and carried off
by them. They can be randomly assigned except that, to obey conservation, if
A=0 for particle 1 then A=1 for particle 2 etc. But we can have A=0 for particle
1 and B=0 for particle 2 since, empirically, the spins are not correlated if we
measure in different directions (in this case if the measurements were in the a
and b directions the result would be 00).
Suppose particle 1 has the assignment A=0, B=1, C=1; ie 011. Interestingly, we
immediately knowwhat the components for particle 2 must be: A=1, B=0, C=0;
ie 100. This is necessary if the two particles are going to give anti-correlated re-
sults for the case where we do same direction measurements in each direction
(a, b, c).
We can then lay out the possible assignments of component values, as follows:
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
184 Bell States
Alice Bob
Row a b c a b c
1. 1 1 1 0 0 0
2. 0 1 1 1 0 0
3. 1 0 1 0 1 0
4. 0 0 1 1 1 0
5. 1 1 0 0 0 1
6. 0 1 0 1 0 1
7. 1 0 0 0 1 1
8. 0 0 0 1 1 1
The table respects the rule that measurements in the same direction must be
correlated (this is howthe entries are generated - by allowing Alices abc values
to run over the 8 binary possibilities; for each case the correlation rule immedi-
ately determines the corresponding Bob entries - i.e. we have no choice). But it
allows for all possibilities in different directions: e.g. we can have Alice nding
1 in the a direction going with Bob nding 1 in this direction (rows 3 and 7) or
0 (rows 1 and 5).
We are nowclosing in. Suppose we consider the above 900 trials fromthe realist
perspective. There are only eight possible assignments of properties (Natures
choice). And there are nine possible combinations of measurement directions
(the experimenters choice). We are assuming that the particles y off with
their assignments and the measurements simply reveal these (no disturbance
to worry about, as agreed). So in each case we can tell the outcome. For ex-
ample, if Nature chooses row 7 (above), ie 100 and the experimenters choose
ab then the outcome is completely determined as S, as follows. Alice gets a
100 particle, measures it in the a direction, and gets 1, Bob gets a 011 particle,
measures it in the b direction, and gets 1. Hence the overall outcome is 11, ie S.
We can now complete the table of outcomes:
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Cryptology 185
Alices particle aa ab ac ba bb bc ca cb cc
111 D D D D D D D D D
011 D S S S D D S D D
101 D S D S D S D S D
001 D D S D D S S S D
110 D D S D D S S S D
010 D S D S D S D S D
100 D S S S D D S D D
000 D D D D D D D D D
What is the probability of different outcomes D? If Alice receives a particle
with equal components (eg 111) this probability is always 1. If Alice receives
a particle with unequal components (eg 011) the probability is always
5
9
(look
along the row for 011: D occurs 5 times out of 9. We dont know the statistics of
the source: how often particles of the 8 various kinds are emitted. But we can
conclude that the overall probability for D is:
p
equal
+
5
9
p
unequal
.
Since both ps must be positive we conclude: the probability for different out-
comes is greater than
5
9
This is an example of a Bell inequality.
Contradiction!
If we compare the two conclusions we have a contradiction. QMsays the prob-
ability should be
1
2
; realism says it should be greater than
5
9
so QM wins!
6.8 Cryptology
Now a proven technology, quantum cryptography provides total security be-
tween two communicating parties. Also, the unique properties of quantum
computers promise the ability to break classical encryption schemes like Data
Encryption Standard (DES) and RSA.
The eld of quantum cryptology has two important sub-elds, they are:
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
186 Cryptology
1. Cryptography - The use of secure codes.
2. Cryptanalysis - Code breaking.
Well concentrate on cryptography in this chapter. Later, in chapter 7 we look
at Shors algorithm, which can be used to break RSA encryption.
6.8.1 Classical Cryptography
Secret codes have a long history - dating back to ancient times, one famous
ancient code is the Caesar cipher which simply shifts each letter by three.
A D, B E, X A. (6.38)
This is not very secure as its easy to guess and decrypt. Modern codes use
a key. A simple form of key is incorporated into a code wheel, an example of
which follows.
Example An example of a code wheel with the key: ABCDEF is described
below:
Key A B C D E F A B C D E F
Shift By 1 2 3 4 5 6 1 2 3 4 5 6
Message Q U A N T U M C O D E S
Encoding R W D R Y A N E R H J Y
With time secret keys and their respective codes got more complicated, cul-
minating in modern codes, e.g. codes called DES and IDEA were implemented
with typically 64 and 128 bit secret keys.
There is another kind of key, a public key. Public key encryption (e.g. RSA 1976
Dife Hellman) uses a combination of a public and a secret key. In a public
key encryption scheme a public key encrypts a message but cannot decrypt it.
This is done by a secret decryption key known only to the owner. Surmising
the decryption key from public (encryption) key requires solving hard (time
complexity wise) problems.
Some codes are stronger than others, for example the DES and IDEA secret
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Cryptology 187
key codes are stronger than Caesar cipher codes. Possibly the strongest code
is the one-time PAD. A one-time PAD is a key that is large as the message to be
sent (for example a random binary le) and the sender and receiver both have
a copy of this key. The PAD is used only once to encrypt and decrypt the mes-
sage. The problem with one-time PADs is that the key needs to be transmitted
every time and eavesdroppers could be listening in on the key. Quantum key
distribution resolves this issue by providing perfectly secure key distribution.
6.8.2 Quantum Cryptography
Modern classical public key cryptographic systems use a trap door function with
security based on mathematical assumptions, notably that it is difcult to fac-
tor large integers. This assumption is now at risk from Shors algorithm.
The main advantage of quantum cryptography is that it gives us perfectly
secure data transfer. The rst successful quantum cryptographic device was
tested in 1989 by C.H. Bennet, and G. Brassard [Castro, M. 1997]. The device
could translate a secret key over 30 centimetres using polarised light, calcite
crystal(s), and other electro-optical devices. This form of cryptography does
not rely on a trap door function for encryption, but on quantum effects like the
no-cloning theorem.
Asimple example of the no-cloning theorems ability to secure data is described
below. After that well look at why its impossible to listen in on a quantum
channel, and nally well examine a method for quantum key distribution.
Quantum Money
Stephen Wiesner wrote a paper in 1970 (unpublished until 1983) in which he
described uncounterfeitable quantum bank notes [Braunstein, S. L. & Lo, H. K.
2000].
Each bank note contains a unique serial number and a sequence of randomly
polarised photons (90
, 180
, 45
, and 135
, V, 45
.
H, H, 135
, V, 45
and 45
. Because
the photons are not in superpositions relative to the basis we measure in (as
specied by the serial numbers) the bank doesnt disturb the states upon
measurement. The bank only determines the basis of each photon, which is
[0), [1), (rectilinear) or [+), [1), (diagonal). It should be noted that states
are always superpositions if we dont say what the basis is.
Because the counterfeiter does not know the basis of each polarised
photon on the quantum bank note, he must measure using a random basis.
He could, theoretically measure each one and recreate it if he knows the
basis by which to measure each one. The chances of the counterfeiter
randomly measuring in the correct basis decrease by a
1
2
for each successive
polarised photon on the note. So the more polarised photons the bank note
has the harder it is to counterfeit.
Quantum Packet Snifng
Quantum packet snifng is impossible - so the sender and receiver can be sure
that no-one is listening in on their messages (eavesdropping). This phenomena
is due to the following properties of quantum mechanics:
1. Quantum uncertainty, for example given a photon polarised in an unknown
state (it might be horizontally (180
), vertically (90
), at 45
, or at 135
)
we cant tell with certainty which polarisation the photon has without
measuring it.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Cryptology 189
2. The no cloning theorem.
3. Disturbance (information gain), if a measurement is done (distinguishing
between two non-orthogonal states) the signal is forever disturbed.
4. Measurements are irreversible, any non orthogonal state will collapse ran-
domly into a resultant state - losing the pre-measurement amplitudes.
Quantum Key Distribution
We can ensure secure communications by using one-time pads in conjunction
with quantum key distribution. The main drawback for classical one-time pads is
the distribution of encryption/decrytion keys, this is not a problem for quan-
tum cryptography as we can transfer key data in a totally secure fashion.
Quantum key distribution (QKD) is a means of distributing keys from one
party to another, and detecting eavesdropping (it is inspired by the quantum
money example). An unusually high error rate is a good indicator of eaves-
dropping. Even with a high error rate the eavesdropper cannot learn any use-
ful information. It should be noted that this method does not prevent Denial of
service (DOS) attacks.
An example follows on the next page.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
190 Cryptology
Example Alice and Bob want to use a key based encryption method,
they communicate on two channels. One channel is used to transmit the
encrypted message and another is used to transmit the encryption key. But
they need a way to avoid Eve eavesdropping on their conversation on the
key channel [Ekert, A. 1993].
The following steps allow a totally secure (in terms of eavesdropping)
transfer of the key (later we need to encrypt the message and send it via a
classical channel).
1. Alice randomly polarises photons at 45
, 90
,135
, and 180
- these are
sent to Bob over a quantum channel (which is secure due to quantum
effects, i.e. no eavesdropping).
2. Bob does measurements on the photons. he randomly uses either a rec-
tilinear (180
/90
/135
), and records
which one was used for each bit. Also for each bit he records the mea-
surement result as a 1 for 135
or 180
or 0 for 45
or 90
polarisations.
3. On a normal (insecure channel) Alice tells Bob which bits Bob used the
right polarisation on (which he also communicates over the classical
channel).
4. Alice and Bob check for quantumerrors to gauge whether or not an eaves-
dropper (Eve) was listening.
Comments
The following can be said about the key exchange:
Eve cant clone the bit and send it on, her measurements put Bobs bits in a
new random state. Alice and Bob decide on an acceptable error rate, if
the key exchanges error rate is higher than that (which means Eve may
have been listening) then they resend the message.
Eve could do an DOS attack by constantly measuring on the key channel.
Eve could shave off some of the light if each bit is represented by more than
one photon, so each bit transferred must only be represented by one qubit.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Alternative Models of Computation 191
Eve could listen to a small number of bits and hope to be unnoticed - Alice
and Bob can prevent this by shrinking down their key.
In 1984 Bennet and Brassard developed BB84, a method of mutual key gen-
eration, the rst QKD system which is based in concepts similar to the
above.
6.8.3 Are we Essentially Information?
John Archibald Wheeler, in the early 90s stated that the main focus of physics
should be on information. When examined in terms of information, quantum
systems break down to elementary systems that each carry one bit of informa-
tion.
This makes sense as we can only ask yes or no questions - and the answers
are yes or no.
Physicist Anton Zellinger says the world appears quantised because the infor-
mation that describes the world is quantised [Baeyer, H. C. 2001]. He says that 1
bit of information can be represented by an elementary proposition, e.g. that an
electrons spin along a certain axis is up or down. Once measured the bit is used
up and the other properties are random. His theory goes on to explain entan-
glement, in terms of information. Finally, Zellinger (and his student Brubeker)
have created an alternative measure of information, which is the number of
bits in a system. It is called total information and it takes quantum effects into
account.
6.9 Alternative Models of Computation
There are other candidates for physical phenomena to enhance computational
power. Some disciplines cannot currently be described by quantummechanics,
like relativity and complexity theory (or chaos theory).
Question Is there a universal computation model? or will there always be
some phenomena which is not well understood that has the potential to be
exploited for the purposes of computation?
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Chapter 7
Quantum Algorithms
7.0.1 Introduction
Quantum algorithms are ways of combining unitary operations in a quantum
systemto achieve some computational goal. Over the past twenty years a num-
ber of algorithms have been developed to harness the unique properties offered
by quantum computers. These algorithms have been designed to give special
advantages over their classical counterparts.
Shors algorithm (1995) gives the factorisation of arbitrarily large numbers a
time complexity class of O((log N)
3
), where that classical equivalent is roughly
exponential. This is extremely important for cryptography. For example, RSA
relies on factorisation being intractable, which means that no polynomial solu-
tion exists that covers all instances of the problem. Another example is Grovers
database search algorithm which provides a quadratic speedup when search-
ing a list of N items. This takes the classical value of a linear search from O(N)
time to O(N
1
2
) time [TheFreeDictionary.com 2004]. Most known quantum al-
gorithms have similarities to, or partially borrow from, these two algorithms.
Some properties of Shor and Grover type algorithms are:
Shor type algorithms use the quantum Fourier transform. These include: fac-
toring, the hidden subgroup problem, discrete logarithms, and order nd-
ing (all variations on a theme).
Grover type search algorithms can be used for applications like fast database
searching and statistical analysis.
193
194 Deutschs Algorithm
There are also hybrid algorithms like quantumcounting that combine elements
fromboth, and more esoteric algorithms like quantumsimulators. In this chap-
ter well look at Deutschs algorithm, the Deutsch-Josza algorithm, Shors al-
gorithm, and Grovers algorithm.
As with chapters 5 and 6 individual references to QCQI have been dropped.
7.1 Deutschs Algorithm
Deutschs algorithm is a simple example of quantum parallelism. The prob-
lem it solves is not an important one, but its simple nature makes it good for
demonstrating the properties of quantum superposition.
7.1.1 The Problem Dened
We have a function f(x) where f(x) : 0, 1 0, 1 with a one bit domain.
This means that f(x) takes a bit (either a 0 or a 1) as an argument and returns
a bit (again, either a 0 or a 1). Therefore both the input and output of this func-
tion can be represented by a bit, or a qubit.
We want to test if this function is one to one (balanced), where one to one
means:
f(1) = 1 and f(0) = 0 or f(0) = 1 and f(1) = 0.
The other alternative is that f(x) is not one to one (i.e. it is constant), in which
case we would get:
f(1) = 0 and f(0) = 0 or f(0) = 1 and f(1) = 1.
The circuit for determining some property of a function is called an oracle. Its
important to note that the thing that quantum computers do well is to test
global properties of functions, not the results of those functions given particular
inputs. To do this efciently we need to look at many values simultaneously.
7.1.2 The Classical Solution
The solution is as follows:
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Deutschs Algorithm 195
iff f(0) f(1) = 1 the function is one to one (where is equivalent to XOR).
This is made up of three operations, involving two function evaluations:
1. x = f(0),
2. y = f(1),
3. z = x y.
Can we do better with a quantum computer?
7.1.3 The Quantum Solution
The quantum circuit below performs the rst two steps in the classical solution
in one operation, via superposition.
x [0)
H
U
f
x
H
y [1)
H
y f(x)
H
[
1
) [
2
) [
3
) [
4
)
Below are the steps [
1
) to [
4
) we need to solve the problem quantum me-
chanically.
[
1
) The qubits x and y have been set to the following (we call x the query
register and y the answer register):
x = [0),
y = [1).
[
2
) Apply H gates to the input registers so our state vector is now:
[) =
_
[0) +[1)
2
__
[0) [1)
2
_
.
[
3
) U
f
acts on qubits x and y, specically we use [) U
f
[x) [y f(x)).
After some algebraic manipulation the result ends up in x, and y seems
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
196 Deutschs Algorithm
unchanged (see the example below).
For f(0) ,= f(1) (balanced) we get:
[) =
_
[0) [1)
2
__
[0) [1)
2
_
and for f(0) = f(1) (constant):
[) =
_
[0) +[1)
2
__
[0) [1)
2
_
.
Note: The at the start of the state is just a result of internal calculations,
it does not matter whether it is positive or negative for the result of this
circuit (global phase factors have no signicance).
[
4
) x is sent through the H gate again. The H gate, as well as turning a 1
or a 0 into a superposition will take a superposition back to a 1 or a 0
(depending on the sign):
_
[0) +[1)
2
_
H [0),
_
[0) [1)
2
_
H [1).
So at step 4, for f(0) ,= f(1) we get:
[) = [1)
_
[0) [1)
2
_
and for f(0) = f(1):
[) = [0)
_
[0) [1)
2
_
.
At this point our state is, combining both cases:
[) = [f(0) f(1))
_
[0) [1)
2
_
.
Up until now y has been useful to us, now we dont care about it as x
holds the result. We can just do a partial measurement on x and discard y
as garbage. If x = 0 then the function is constant, and if x = 1 the function
is balanced.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Deutschs Algorithm 197
Example Theres only four possible combinations for f(x) , well look at
two here. Given our state at [
2
) is
1
2
[[0) + [1)]
1
2
[[0) [1)] our state at [
3
)
will look like the following:
[) =
_
[0) +[1)
2
__
[0 f(x)) [1 f(x))
2
_
=
1
2
([0) [0 f(0)) [0) [1 f(0)) +[1) [0 f(1)) [1) [1 f(1))).
Keeping in mind that 0 0 = 0, 1 0 = 1, 1 1 = 0, and 0 1 = 1 well start
with the constant function f(0) = 0 and f(1) = 0:
[) =
1
2
([0) [0 0) [0) [1 0) +[1) [0 0) [1) [1 0))
=
1
2
([00) [01) +[10) [11))
=
_
[0) +[1)
2
__
[0) [1)
2
_
.
Now for a balanced function f(0) = 1 and f(1) = 0:
[) =
1
2
([0) [0 1) [0) [1 1) +[1) [0 0) [1) [1 0))
=
1
2
([01) [00) +[10) [11))
=
1
2
([00) +[01) +[10) [11))
= (1)
1
2
([00) [01) [10) +[11))
= 1
_
[0) [1)
2
__
[0) [1)
2
_
.
Notice that (-1) has been moved outside of the combined state, it is a global
phase factor and we can ignore it. At [
4
) we put our entire state through
H H and get [01) for the constant function and [11) for the balanced one.
7.1.4 Physical Implementations
In theory A simple quantum computer implementing Deutschs algorithm can
be made out of a cardboard box, three mirrors, and two pairs of sunglasses
[Stay, M. 2004]. The sunglasses (in a certain conguration) polarise light ini-
tially into a non-orthogonal state (a superposition) then back again. The mir-
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
198 The Deutsch-Josza Algorithm
rors within the box reect the light in a certain way depending on their con-
guration (at different angles depending on the type of function you want to
simulate). A torch is then shone into the box, if light comes out the function
is balanced, if not then it is constant. Now, if we use a special optical device
to send just one photon into the box and we have a sensitive photo detector at
the other end then we have an architecture that is a theoretically more efcient
oracle than any classical computer.
Deutschs algorithm can of course be executed on any quantum computer ar-
chitecture, and has been successfully implemented. For example, in 2001 the
algorithm was run on an NMR computer (see chapter 8) [Dorai, K. Arvind, ?.
Kumar, A. 2001]. Due to the relatively small number of qubits that can be cur-
rently made to work together many of the other quantum algorithms have not
been satisfactorily tested.
7.2 The Deutsch-Josza Algorithm
The Deutsch-Josza algorithm is an extension of Deutschs algorithm which can
evaluate more than one qubit in one operation. We can extend it to evaluate
any number of qubits simultaneously by using an n-qubit query register for x
instead of a single qubit.
7.2.1 The Problem Dened
The problem we are trying solve is slightly different to the one presented in
Deutschs algorithm, that is: is f(x) the same (constant) for all inputs? Or is
f(x) equal to 1 for half the input values and equal to 0 for the other half (which
means it is balanced)?
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
The Deutsch-Josza Algorithm 199
7.2.2 The Quantum Solution
The circuit looks like this:
x [0) /
n
H
n
U
f
x
H
n
y [1)
H
y f(x)
H
[
1
) [
2
) [
3
) [
4
)
The input (x) and output (y) registers have an H gate for each qubit in the
register. This is denoted by H
n
and the /
n
notation just means n wires for n
qubits.
Here are the steps [
1
) to [
4
) we need to solve the problem quantum mechan-
ically.
[
1
) The registers x and y have been set to the following:
x = [0)
n
,
y = [1).
[
2
) Apply H gates to both the x and y registers so our state vector is now:
[) =
1
2
n
2
n1
x=0
[x)
_
[0) [1)
2
_
.
[
3
) U
f
acts on registers x and y (remember y is just a single qubit because the
result of evaluating f is, by denition, just a 0 or 1). This time we use
[) = U
f
[
2
) [0) = [x
1
, x
2
, . . . , x
n
) [y f(x)) to evaluate f(x).
[
4
) x is sent through H
n
and y through an H gate also. This leaves us with a
set of output qubits and a 1 in the answer register, i.e.
[) = [x
1
, x
2
, . . . , x
n
) [1) .
Now the rule is simple: if any of the qubits in the query (x) register are
[1) then the function is balanced, otherwise it is constant.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
200 Shors Algorithm
Example Heres an example with a two qubit query register for the bal-
anced function f with f(00) = 0, f(01) = 0, f(10) = 1, and f(11) = 1. So at
state [
1
) we have:
[) = [001) .
Then at state [
2
), after the H gates we get:
[) =
_
[0) +[1)
2
__
[0) +[1)
2
__
[0) [1)
2
_
.
We are now ready to examine our state at [
3
):
[) =
_
[0) +[1)
2
__
[0) +[1)
2
__
[0 f(x)) [1 f(x))
2
_
=
_
[00) +[01) +[10) +[11)
4
__
[0 f(x)) [1 f(x))
2
_
=
1
8
([00) [0 f(00)) [00) [1 f(00)) +[01) [0 f(01))
[01) [1 f(01)) +[10) [0 f(10)) [10) [1 f(10))
+[11) [0 f(11)) [11) [1 f(11)))
=
1
8
([000) [001) +[010) [011) +[101) [100) +[111) [110))
=
1
8
([000) [001) +[010) [011) [100) +[101) [110) +[111))
=
_
[00) +[01) [10) [11)
4
__
[0) [1)
2
_
=
_
[0) [1)
2
__
[0) +[1)
2
__
[0) [1)
2
_
.
At [
4
) we put our entire state through H H H and get [101) meaning
that our function is balanced.
7.3 Shors Algorithm
7.3.1 The Quantum Fourier Transform
The quantum analogue of the discrete Fourier transform (see chapter 4) is the
quantum Fourier transform (QFT). The DFT takes a series of N complex num-
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Shors Algorithm 201
bers, X
0
, X
1
, ..., X
N1
and produces a series complex numbers Y
0
, Y
1
, ..., Y
N1
.
Similarily, the QFT takes a state vector:
[) =
0
[0) +
1
[1) +... +
N1
[N 1) (7.1)
and performs a DFT on the amplitudes of [) giving us:
[) =
0
[0) +
1
[1) +... +
N1
[N 1). (7.2)
The main advantage of the QFT is the fact that it can do a DFT on a superposi-
tion of states. This can be done on a superposition like the following:
1
4
([00) +[01) [10) [11))
or a state where the probability amplitudes are of different values. E.g. the fol-
lowing state has probability amplitudes of 0 for the majority of its basis states:
1
3
([001) +[011) [111)).
Itll helpful over the next few sections to use integers when we are describing
states with a large number of qubits, so the previous state could have been
written as:
1
3
([1) +[3) [7)).
The QFT is a unitary operator, and is reversible. In fact we use the inverse
quantum fourier transform (QFT
x=0
x
[x) (7.3)
where n is the number of qubits, QFT [) is dened as:
[
) = QFT [) =
2
n1
x=0
2
n1
y=0
x
e
2ixy/2
n
2
n
[y) . (7.4)
We can also represent the QFT as a matrix:
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
202 Shors Algorithm
1
2
n
_
_
1 1 1 . . . 1
1
2
. . .
2
n
1
1
2
4
. . .
2(2
n
1)
1
3
6
. . .
3(2
n
1)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
2
n
1
2(2
n
1)
. . .
(2
n
1)(2
n
1)
_
_
(7.5)
where = e
2i/2
n
.
How do we get this matrix? To make it easier to understand well identify the
important part of the summation we need for the matrix representation (which
well label M
xy
):
2
n1
x=0
2
n1
y=0
x
e
2ixy/2
n
2
n
[y) =
1
2
n
2
n1
x=0
_
2
n1
y=0
M
xy
x
_
[y) (7.6)
where M
xy
= e
2ixy/2
n
.
Now using the summations, here are a few values of x and y for M
xy
:
1
2
n
_
_
e
2i00/2
n
= e
0
= 1 e
2i.1.0/2
n
= e
0
= 1 . . .
e
2i01/2
n
= e
0
= 1 e
2i11/2
n
= e
2i/2
n
=
.
.
.
.
.
.
_
_
. (7.7)
Next well look at two examples using the matrix representation of the QFT.
Examples follow on the next two pages.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Shors Algorithm 203
Example A simple one qubit QFT. Given:
[) =
2
5
[0) +
1
5
[0) .
Find,
[
) = QFT [) .
Well use the matrix representation, which is:
1
2
_
1 1
1 e
i
_
.
This matrix is actually just an H gate (since e
i
= 1), so we get:
[
) =
1
2
_
1 1
1 e
i
__
2
5
1
5
_
=
_
2
10
+
1
10
2
10
+
e
i
10
_
=
_
3
10
2
10
+
1
10
=
1
10
_
=
3
10
[0) +
1
10
[1) .
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
204 Shors Algorithm
Example A two qubit QFT. Given:
[) =
1
2
[00) +
1
2
[11) .
Find,
[
) = QFT [) .
The matrix representation is:
1
4
_
_
1 1 1 1
1 e
i/4
e
i2/4
e
i3/4
1 e
i2/4
e
i4/4
e
i6/4
1 e
i3/4
e
i6/4
e
i9/4
_
_
.
So [
) is:
[
) =
1
4
_
_
1 1 1 1
1 e
i/4
e
i2/4
e
i3/4
1 e
i2/4
e
i4/4
e
i6/4
1 e
i3/4
e
i6/4
e
i9/4
_
_
_
_
1
2
0
0
1
2
_
_
=
1
4
_
_
1
2
+ 0 + 0 +
1
2
1
2
+ 0 + 0 +
1
2
e
i3/4
1
2
+ 0 + 0 +
1
2
e
i6/4
1
2
+ 0 + 0 +
1
2
e
i9/4
_
_
=
1
4
_
_
1
2
+ 0 + 0 +
1
2
1
2
+ 0 + 0 +
1+i
2
1
2
+ 0 + 0 +
i
2
1
2
+ 0 + 0 +
1+i
2
_
_
=
_
_
2
21+i
4
1i
2+1+i
4
_
_
=
2
8
[00) +
2 1 +i
4
[01) +
1 i
8
[10) +
2 + 1 +i
4
[11) .
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Shors Algorithm 205
How Do we Implement a QFT?
As stated before, a one qubit QFT has the following rather simple circuit:
H
A three qubit QFT has a more complicated circuit:
H S T
H S
H
We can extend this logic to n qubits by using H and n 2 different rotation
gates (R
k
- see below) where:
R
k
=
_
1 0
1 e
2i/2
k
_
. (7.8)
For n qubits we use gates R
2
. . . R
n
. For more information on generic QFT
circuits youll need to consult an external reference like QCQI.
7.3.2 Fast Factorisation
Finding unknown factors p and q such that p q = 347347 is very slow com-
pared to the reverse problem: calculating 129 156. We dont yet know fast
algorithms for factorising on classical machines but we do now know (thanks
to Shor) a fast factorisation algorithm we can run on a quantum computer.
Public key encryption systems like RSA algorithm rely on the fact that its hard
to factorise large numbers; if we could nd the factors we could use the infor-
mation provided in the public key to decrypt messages encrypted with it. In
terms of RSA our task is simple. Given an integer N we know n = pq where p
and q are large prime numbers we want to calculate p and q.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
206 Shors Algorithm
7.3.3 Order Finding
To factorise N we reduce the problem of factorisation to order nding, that is:
given 1 < x < N the order of x mod N is the smallest value of r where r 1
and x
r
mod N = 1.
This means that the list of powers of x, 1, x, x
2
, x
3
, x
4
, . . . mod N will repeat
with a period that is less than N.
Were trying to nd the period of a periodic function. Why? Because it turns
out theres a close connection between nding the factors and nding the pe-
riod of a periodic function. The intuition is that quantum computers might be
good at this because of quantum parallelism: their ability to compute many
function values in parallel and hence be able to get at global properties of the
function (as in Deutschs algorithm).
Example Say we have N = 55 and we choose x to be 13.
13
0
mod 55 = 1,
13
1
mod 55 = 13,
13
2
mod 55 = 4,
.
.
.
13
20
mod 55 = 1.
So r = 20, i.e. 13 mod 55 has a period of 20.
The calculation of x
i
mod N can be done in polynomial time and thus can
be done on a classical computer. Once we have the order r we can apply some
further classical calculations to it to obtain a factor of N.
The quantum part gives us the period r in polynomial time by using a pro-
cess called phase estimation. Phase estimation attempts to determine an un-
known value of an eigenvalue e
2i
of an eigenvector [u) for some unitary
U. We wont worry about explicitly understanding phase estimation as Shors
algorithm has a number of specic steps that makes learning it unnecessary.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Shors Algorithm 207
Before we look at the circuit for Shors algorithm. A necessary component of
Shors algorithm, the continued fractions algorithm, is introduced.
The Continued Fractions Algorithm
The continued fractions algorithm allows us to calculate an array of integers to
represent a fraction. We simply split the fraction into its whole and fractional
parts, store the whole part, and repeat the process until we have no fractional
parts left. Heres an example:
Example Convert
11
9
to integer array representation.
11
9
= 1 +
2
9
= 1 +
1
9
2
= 1 +
1
1 +
1
9
2
= 1 +
1
1 +
1
4 +
1
2
.
So, we end up with the following list:
[1, 1, 4, 2]
which is a four element array (that took four steps) that represents
11
9
.
Now well look at the fast factorisation algorithm...
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
208 Shors Algorithm
The Fast Factorisation Circuit and Algorithm
[0)
H
QFT
.
.
.
[0)
H
. . .
[0)
H
. . .
[0)
H
. . .
[1)
n
/ U
1
f
U
2
f
U
3
f
U
n
f
[
1
) [
2
) [
3
) [
4
) [
5
)
The algorithm presented here is similar to Shors algorithm, and uses the QFT
introduced earlier. Its simple, given a number N to be factored, to return a
factor f where f > 1. The algorithm is as follows:
1. If N is divisible by 2 then return f = 2.
2. For a 1 and b 2 if N = a
b
then return f = a (we can test this classically).
3. Randomly choose an integer x where 1 < x < N. We can test if two numbers
share a common divisor efciently on a classical computer. There is an
efcient classical algorithm to test if numbers are coprime, that is their
greatest common divisor (gcd) is 1. In this step we test if gcd(x, N) > 1,
if it is then we return f = gcd(x, N). E.g. N = 15 if x = 3; we nd
gcd(3, 15) = 3, so return 3.
4. This is where the quantumcomputer comes in. We apply the quantumorder
nding algorithm. Before we start we need to dene the size of the input
registers, register 1 needs to be t qubits in size where 2N t (this is to
reduce the chance of errors in the output, and there seems to be some
contention in the reference material as to what this lower bound should
be). Register 2 needs to be L qubits in size where L is the number of qubits
needed to store N.
[
1
) Initialise register 1, which is t qubits in size to [0)
t
and register 2,
which is L qubits in size to [1)
L
.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Shors Algorithm 209
[
2
) Create a superposition on register 1:
[) =
1
2
t
2
t1
r
1
=0
[R
1
) [1).
[
3
) Apply U
f
R
2
= x
R
1
mod N to register 2:
[) =
1
2
t
2
t1
r
2
=0
[R
1
)
x
R
1
mod N
_
.
[
4
) We measure register 2, because it is entangled with register 1 and
our state becomes subset of the values in register 1 that correspond
with the value we observed in register 2.
[
5
) We apply QFT
2048
([0) + [1) +
[2) +. . . +[2047)) [15).
[
3
) applying x
R
1
mod 15 gives us the following:
R
1
[0) [1) [2) [3) [4) [5) [6) [7) [8) [9) [10) . . .
R
2
[1) [7) [4) [13) [1) [7) [4) [13) [1) [7) [4) . . .
[
4
) We Measure R
2
and randomly get a 4 leaving [) in the following post
measurement state:
R
1
[2) [6) [10) . . .
R
2
[4) [4) [4) . . .
Remember that both registers are actually part of the same state vec-
tor, its just convenient to think of them separately. The state above is
actually an entangled state that looks like (R
2
is bolded):
[) =
1
512
([000000000101000) +[000000001101000) +. . .) .
[
5
) After applying QFT
8192
([0) + [1) +
[2) +. . . +[8191)) [63).
[
3
) applying x
R
1
mod 55 gives us the following:
R
1
[0) [1) [2) . . . [8192)
R
2
[1) [13) [4) . . . [2)
[
4
) We Measure R
2
and randomly get a 28 leaving [) in the following post
measurement state:
R
1
[9) [29) [49) . . . [8189)
R
2
[28) [28) [28) . . . [28)
So the state vector (ie. with both registers) looks like this:
[) =
1
410
([9) [28) +[29) [28) +[49) [28) +. . . +[8189) [28)) .
[
5
) After applying QFT
[0) [0)
. . .
[0)
[w) /
. . .
[
1
) [
2
) [
3
) [
4
) [
5
) [
6
)
The steps for the algorithm for M = 1 are as follows:
[
2
) Initialise qubits states.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
214 Grovers Algorithm
E
T
/
/
/
/
/
/
/
/
/
/
/
/
/
Z
Z
Z
Z
Z
Z
Z
Z
Z
Z
.
.
.
.
.
.
.
.
.
.
.
.
.
[v)
[u)
G
1
[)
G
2
[)
G
3
[)
Figure 7.1: Visualising grovers algorithm.
[
2
) We put [x) into a superposition:
[x)
1
N
N1
x=0
[x).
[
3
) [
5
) Each G is called a Grover iteration that performs the oracle and a
conditional phase ip on [x) which ips the sign on all qubits except for [0)
(denoted by CPF below). This is done after collapsing the superposition
on [x) via H
n
. After the phase ip is completed the [x) register is put
back into a superposition. Each G looks like the following:
[x) /
n
[x) (1)
f(x)
[x)
H
n
CPF H
n
[q)
[W) /
For M = 1 we will need to apply G
2
n
/4| times.
[
6
) Finally we measure, as we have M = 1 the register [x) will contain the
only solution. If we had M > 1 we would randomly measure one of the
possible solutions.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Grovers Algorithm 215
Visualising Grovers Algorithm
We can dene the superposition of solutions to Grovers algorithm as:
[u) =
1
=
[x) (7.11)
and the superposition of values that are not solutions as:
[v) =
1
N M
=
[x) . (7.12)
The operation of Grovers algorithm can be seen if gure 7.1 as a series of ro-
tations of [) from[v) to [u). With each individual rotation being done by G, a
grover iteration.
A simple exmample follows:
Example Suppose we have an index size of 4, which gives us N = 4. We
have only one solution so M = 1 and our function, f(x) has a marked solu-
tion at x = 0. This is like saying the element we are looking for is at index
i = 0. These are the results returned by an oracle call:
f(0) = 1, f(1) = 0, f(2) = 0, and f(3) = 0.
The size of register [x) is 2 qubits. We also have a workspace of 1 qubit (which
we set to [1)), which we put through an H gate at the same time as the qubits
in [x) initially go through their respective H gates (well ignore oracle qubit
q for this example). The steps for the algorithm are as follows:
[
1
) We initialise [x) and [w), so [) = [001).
[
2
) [x) and [w) go through their H gates giving us [x) =
1
4
[[00) + [01) +
[10) +[11)] and [w) =
1
2
[[0) [1)].
[
3
) A single grover iteration is all we need to rotate [x) to match [u) (the
marked solution) so we jump straight to [
5
).
[
5
) Now[x) = [00).
[
6
) Measuring register [x) gives us a 0.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Chapter 8
Using Quantum Mechanical Devices
8.1 Introduction
Todays manufacturing methods can make chips (gure 8.1) with transistors
a fraction of a micron wide. As they get smaller, chips also tend to get faster.
Computer power doubles every fewyears (according to Moores law) and well
soon reach the threshold below which transistors will not work because of
quantum effects. At tens of nanometres (which we are close to now) electrons
can tunnel between parts of a circuit, so transistor technology may not be able
to shrink much further [Benjamin, S. & Ekert, A. ? 2000].
In 1998 Neil Gershenfeld (MIT) built a three qubit device, then in 2000 Ray
LaFlemme built a seven qubit quantum computer. Currently we are still lim-
ited to tens of qubits and hundreds of gates with implementations being slow
and temperamental. The architectures of these machines vary, with scientists
even talking about using cups of coffee and small amounts of chloroform to
build a working quantum computer [Blume, H. 2000].
8.2 Physical Realisation
Well take a quick look at physical realisations here, but a warning for those
expecting detail - this section is mainly here for completeness and is strictly an
introduction.
According to Nielsen and Chuang [Nielsen, M. A. & Chuang, I. L. 2000] there
217
218 Physical Realisation
Figure 8.1: A silicon chip [Benjamin, S. & Ekert, A. ? 2000].
are four basic requirements for the physical implementation of a quantumcom-
puter. They are:
1. Qubit implementation - The biggest problem facing quantum computing is
the ckle nature of the minute components they work with. Qubits can
be implemented in various ways, like the spin states of a particle, ground
and excited states of atoms, and photon polarisation.
There are several considerations for implementing qubits, one consider-
ation is high decoherence times (low stability). E.g. 10
3
seconds for an
electrons spin, and 10
6
seconds for a quantum dot (a kind of articial
atom). Another consideration is speed, the stronger the qubit implemen-
tation can interact with the environment, the faster the computer. E.g.
nuclear spins give us much slower clock speed than electron spins, be-
cause of the nuclear spins weak interactions with the outside world.
There are two types of qubits, material qubits like the stationary ones
described above and ying qubits (usually photons). Stationary qubits are
most likely to be used to build quantum hardware, whereas ying qubits
are most likely to be used for communication.
2. Control of unitary evolution - How we control of the evolution of the cir-
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Physical Realisation 219
cuits.
3. Initial state preparation (qubits) - Setting the values of initial qubits. We
need to be able to initialise qubits to values like [000 . . .). This is not just
for initial values of a circuit. E.g. quantum error correction needs a con-
stant supply of pre-initialised, stable qubits.
4. Measurement of the nal state(s) - Measuring qubits. We need a way of
measuring the state of our qubits. We need to do this in a way that does
not disturb other parts of our quantum computer. we also need to con-
sider if the measurement is a non destructive measurement, which for ex-
ample leaves the qubit in the state which can be used later for initialisa-
tion. Another issue is that measurement techniques are less than perfect,
so we have to consider copying values of the output qubits and aver-
aging the results.
Also, David P. Divenco [Divincenzo, D.P. 2003] has suggested two more fun-
damental requirements:
5. Decoherence times need to be much longer than quantum gate times.
6. A universal set of quantum gates.
8.2.1 Implementation Technologies
There are many theoretical ways to implement a quantum computer, all of
which, at present suffer from poor scalability. Two of the important methods
are listed below [Black, P.E. Kuhn, D.R. & Williams, C.J. ? 2000].
Optical photon computer - This is the easiest type of quantum computer
to understand. One of the ways qubits can be represented is by the fa-
miliar polarisation method. Gates can be represented by beamsplitters.
Measurement is done by detecting individual photons and initial state
preparation can be done by polarising photons. In practice, photons do
not interact well with the environment, although there are new methods
that use entanglement to combat this problem. There remain other prob-
lems with single photon detection (which is very hard to do), and the fact
that photons are hard to control as they move at the speed of light.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
220 Quantum Computer Languages
Nuclear magnetic resonance - NMR uses the spin of an atomic nucleus to
represent a qubit. Chemical bonds between spins are manipulated by a
magnetic eld to simulate gates. Spins are prepared by magnetising, and
induced voltages are used for measurement. Currently it is thought that
NMR will not scale to more than about twenty qubits.
Several atomic spins can be combined chemically in a molecule. Each
element resonates at a different frequency so we can manipulate different
spins by producing a radio wave pulse at the correct frequency. This spin
is rotated by the radio pulse (the amount of which depends on the am-
plitude and direction). A computation is made up of a series of timed,
and sized radio pulses. We are not limited to using atoms as they can
be combined to form a macroscopic liquid with same state spins for all
the component atoms. A seven qubit computer has been made from ve
uorine atoms whose spins implement qubits.
To explain these in detail is beyond the scope of this text and there are many
more implementation technologies like ion traps (a number of ions, trapped
in a row in a magnetic eld), SQUIDS (superconducting quantum interference
devices), electrons on liquid helium, optical lattices, and harmonic oscillators.
8.3 Quantum Computer Languages
Even though no quantum computer has been built that hasnt stopped the pro-
liferation of papers on various aspects of the subject. Many such papers have
been written dening language specications. Some quantum languages are
listed below [Glendinning, I. 2004].
QCL - (Bernhard
Omer) C like syntax and very complete. Accessible at http:
//tph.tuwien.ac.at/
oemer/qcl.html .
qGCL - (Paolo Zuliani and others) Resembles a functional programming lan-
guage and claims to be better than Bernhard
Omers QCL because QCL
does not include probabilism and nondeterminism, has no notion of pro-
gram renement, and only allows standard observation. Accessible via
http://web.comlab.ox.ac.uk/oucl/work/paolo.zuliani/ .
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Encryption Devices 221
Figure 8.2: id Quantiques QKD device.
Quantum C - (Stephen Blaha) Currently just a specication, with a notion of
quantum assembler. Accessible at http://arxiv.org/abs/quant
-ph/0201082 .
Conventions for QuantumPseudo Code - (E. Knill) Not actually a language,
but a nice way to represent quantum algorithms and operations. Accessi-
ble at www.eskimo.com/
knill/cv/reprints/knill
:qc1996e.ps .
Question It seems odd that there is no implementation of quantum BASIC,
is there any existing work? Maybe just a specication?
8.4 Encryption Devices
The rst encryption devices using the quantum properties discussed previ-
ously have been released. For example, a quantum key distribution unit devel-
oped by id Quantique (which can be found at http://www.idquantique.
com/) is pictured in gure 8.2 and another encryption device was recently re-
leased by MagiQ.
Whether or not they become commercial success may affect the future of the
eld as a whole.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Appendix A
Complexity Classes
A.1 Classical
Here is a summary of some of the main complexity classes. Most of these de-
nitions are copied verbatim from [cs.umbc.edu.edu 2003]:
P - the set of languages accepted by deterministic Turing machines in polyno-
mial time.
NP - the set of languages accepted by nondeterministic Turing machines in
polynomial time.
NPI (NP intermediate) - the set of languages in NP but not in NP-complete.
co-NP - the set of languages rejected by nondeterministic Turing machines in
polynomial time.
NP-complete - a decision problem in NP is NP-complete if all other problems
in NP are reducible to it.
EXP - the set of languages accepted by deterministic Turing machines in t(n) =
2
cn
time.
NEXP - the set of languages accepted by nondeterministic Turing machines in
t(n) = 2
cn
time.
PEXP - the set of languages accepted by deterministic Turing machines in t(n) =
2
p(n)
time.
223
224 Classical
NPEXP - the set of languages accepted by nondeterministic Turing machines
in t(n) = 2
p(n)
time.
UP - the set of languages accepted by unambiguous nondeterministic Turing
machines, that have at least one accepting computation on any input, in
polynomial time.
The next set of classes relate to space complexity - which is the amount of space
(storage) required by the algorithm.
LOGSPACE - the set of languages accepted by deterministic Turing machines
in logarithmic space.
PSPACE - the set of languages accepted by deterministic Turing machines in
polynomial space.
NPSPACE - the set of languages accepted by nondeterministic Turing ma-
chines in polynomial space.
NLOGSPACE - the set of languages accepted by nondeterministic Turing ma-
chines.
The nal set of classes refer to probabilistic Turning machines:
PP - the set of languages accepted by probabilistic polynomial-time Turing ma-
chines (not proved random = pseudo random).
BPP - the set of languages accepted by bounded probabilistic polynomial-time
Turing machines (balanced probability).
RP - the set of languages accepted by random probabilistic polynomial-time
Turing machines (one sided probability).
co-RP - the set of languages accepted by RP machines with accept and reject
probabilities reversed.
ZPP - RP intersection co-RP, the set of languages accepted by zero probability
of error polynomial-time Turing machines.
Some of the main classes are related in the following way [Nielsen, M. A. &
Chuang, I. L. 2000]:
L P NP PSPACE EXP.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Quantum 225
Factoring is thought to be in NPI and not proven to be in NP-complete.
Graph isomorphism is thought to be in NPI and not proven to be in NP-
complete.
Time hierarchy theorem: TIME(f(n)) TIME(f(n) log
2
(f(n))).
Space hierarchy theorem: SPACE(f(n)) SPACE(f(n) log(f(n))).
A.2 Quantum
Some of the quantum complexity classes are listed below. These denitions are
copied verbatim from [Meglicki, Z. 2002]:
QP - the problem can certainly be solved by a QTM in polynomial time at
worst, with P QP.
ZQP - the problemcan be solved by a QTMwithout errors in polynomial time,
with ZP ZQP.
BQP - the problem can be solved by a QTM in polynomial time at worst with
probability greater than
2
3
. I.e. in
1
3
of cases the computer may return an
erroneous result, also BPP BQP.
Some of the quantumcomplexity classes are related in the following way [Nielsen,
M. A. & Chuang, I. L. 2000]:
It is known that polynomial quantum algorithms are in PSPACE.
It is thought that NP-complete problems cannot be solved by QTMs in poly-
nomial time but NPI problems can.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Bibliography
Arizona.edu 1999, Lecture 1 [Online]. Available: http://www.consciousness.
arizona.edu/quantum/Library/qmlecture1.htm [Accessed 5 December 2004]
Baeyer, H. C. 2001, In the Beginning was the Bit, New Scientist, February 17
Banerjee, S. ? 2004, Quantum Computation and Information Theory - Lecture 1 [On-
line]. Available: http://www.cse.iitd.ernet.in/
suban/quantum/lectures/
lecture1.pdf [Accessed 4 July 2004]
Barenco, A. Ekert, A. Sanpera, A. & Machiavello, C. 1996, A Short Introduction
to Quantum Computation [Online]. Available: http://www.Qubit.org/library/
intros/comp/comp.html [Accessed 30 June 2004]
Benjamin, S. & Ekert, A. ? 2000, A Short Introduction to Quantum-Scale Comput-
ing. [Online]. Available: http://www.qubit.org/library/intros/nano/nano.
html [Accessed 4 July 2004]
Bettelli, S. 2000, Introduction to Quantum Algorithms [Online]. Available: sra.
itc.it/people/serafini/quantum-computing/seminars/20001006-slides.ps
[Accessed 5 December 2004]
Black, P.E. Kuhn, D.R. & Williams, C.J. ? 2000, Quantum Computing and Commu-
nication [Online]. Available: http://hissa.nist.gov/
black/Papers/
quantumCom.pdf [Accessed 7 December 2004]
Blume, H. 2000, Reimagining the Cosmos. [Online]. Available: http://www.
theatlantic.com/unbound/digicult/dc2000-05-03.htm [Accessed 4 July 2004]
227
228 BIBLIOGRAPHY
Braunstein, S. L. & Lo, H. K. 2000, Scalable Quantum Computers - Paving the Way
to Realisation, 1st edn, Wiley Press, Canada.
Bulitko, V.V. 2002, On Quantum Computing and AI (Notes for a Graduate Class).
[Online]. Available: www.cs.ualberta.ca/
bulitko/qc/schedule/qcss-notes.
pdf [Accessed 10 December 2004]
Cabrera, B.J. ? 2000, John von Neumann and von Neumann Architecture for Comput-
ers [Online]. Available: http://www.salem.mass.edu/
tevans/VonNeuma.htm
[Accessed 9 September 2004]
Castro, M. 1997, Do I Invest in Quantum Communications Links For My Company?
[Online]. Available: http://www.doc.ic.ac.uk/
nd/surprise 97/journal/
vol1/mjc5/ [Accessed 4 July 2004]
Copeland, J. 2000, What is a Turing Machine? [Online]. Available: http://www.
alanturing.net/turing archive/pages/ReferenceArticles
/WhatisaTuringMachine.html [Accessed 9 August 2004]
cs.umbc.edu.edu 2003, Complexity Class Brief Denitions [Online]. Available:
http://www.csee.umbc.edu/help/theory/classes.shtml [Accessed 7 Decem-
ber 2004]
Dawar, A. 2004, Quantum Computing - Lectures. [Online]. Available: http:
//www.cl.cam.ac.uk/Teaching/current/QuantComp/ [Accessed 4 July 2004]
Dorai, K. Arvind, ?. Kumar, A. 2001, Implementation of a Deutsch-like quan-
tum algorithm utilising entanglement at the two-qubit level on an NMR quantum-
information processor [Online]. Available: http://eprints.iisc.ernet.in/archive
/00000300/01/Deutsch.pdf [Accessed 4 July 2004]
Designing Encodings ? 2000, Designing Encodings [Online]. Available: http:
//www.indigosim.com/tutorials/communication/t3s2.htm
Deutsch, D. & Ekert, A. 1998, Quantum Computation, Physics World, March
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
BIBLIOGRAPHY 229
Divincenzo, D.P. 2003, The Physical Implementation of Quantum Computa-
tion, quant-ph/0002077, vol. 13 April.
Ekert, A. 1993, Quantum Keys for Keeping Secrets, New Scientist, Jan 16
Forbes, S. Morton, M. Rae H. 1991, Skills in Mathematics Volumes 1 and 2, 2nd
edn, Forbes, Morton, and Rae, Auckland.
Gilleland, M. ? 2000, Big Square Roots [Online]. Available: http://www.
merriampark.com/bigsqrt.htm [Accessed 9 September 2004]
Glendinning, I. 2004, QuantumProgramming Languages and Tools. [Online]. Avail-
able: http://www.vcpc.univie.ac.at/
ian/hotlist/qc/programming.shtml
[Accessed 4 July 2004]
Hameroff, S. ? 2003, Consciousness at the Millennium: Quantum Approaches to
Understanding the Mind, Introductory Lectures [Online]. Available: http://www.
consciousness.arizona.edu/Quantum/ [Accessed 30 June 2004]
Hameroff, S. & Conrad, M. ? 2003, Consciousness at the Millennium: Quantum
Approaches to Understanding the Mind, Lecture 6 [Online]. Available: http://
www.consciousness.arizona.edu/Quantum/week6.htm [Accessed 30 June 2004]
Jones, J. Wilson, W. 1995, An Incomplete Education , ? edn, ?, ?
Knill, E. Laamme, R. Barnum, H. Dalvit, D. Dziarmaga, J. Gubernatis, J. Gurvits,
L. Ortiz, G. Viola, L. & Zurek, W.H. 2002, Introduction to Quantum Information
Processing
Marshall, J. 2001, Theory of Computation [Online]. Available: http://pages.
pomona.edu/
jbm04747/courses/fall2001/cs10/lectures/Computation
/Computation.html [Accessed 9 August 2004]
McEvoy, J.P. & Zarate, 0. 2002, Introducing Quantum Theory, 2nd edn, Icon
Books, UK.
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
230 BIBLIOGRAPHY
Meglicki, Z. 2002, Quantum Complexity and Quantum Algorithms [Online]. Avail-
able: http://beige.ucs.indiana.edu/B679/node27.html [Accessed 7 Decem-
ber 2004]
Natural Theology 2004, Goedel [Online]. Available: http://www
.naturaltheology.net/Synopsis/s26Goedel.html
Nielsen, M. A. 2002, Eight Introductory Lectures on Quantum Information Science
[Online]. Available: http://www.qinfo.org/people/nielsen/qicss.html [Ac-
cessed 30 June 2004]
Nielsen, M. A. & Chuang, I. L. 2000, Quantum Computation and Quantum In-
formation, 3rd edn, Cambridge Press, UK.
Odenwald, S. 1997, Ask the Astronomer (Question) [Online]. Available: http:
//www.astronomycafe.net/qadir/q971.html [Accessed 30 June 2004]
Rae, A. 1996, Quantum Physics: Illusion or Reality?, 2nd edn, Cambridge Press,
UK.
Searle, J. R. 1990, Is the Brains Mind a Computer Program, Scientic Ameri-
can, January, pp. 20-25.
Shannon, C. E. 1948, A Mathematical Theory of Communication [Online]. Avail-
able: http://cm.bell-labs.com/cm/ms/what/shannonday/paper.html [Accessed
29 April 2006]
Shatkay, H. 1995, The Fourier Transform - A Primer [Online]. Available: http://
citeseer.ist.psu.edu/shatkay95fourier.html [Accessed 10 December 2004]
Smithsonian NMAH 1999, Jacquards Punched Card [Online]. Available: http:
//history.acusd.edu/gen/recording/jacquard1.html [Accessed 9 September
2004]
Stay. M. 2004, Deutschs algorithm with a pair of sunglasses and some mirrors [On-
line]. Available: http://www.cs.auckland.ac.nz/
msta039/deutsch.txt [Ac-
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
BIBLIOGRAPHY 231
cessed 4 July 2004]
Steane, A. M. 1998, Quantum Computing, Rept.Prog.Phys., vol. 61 pp. 117-
173
TheFreeDictionary.com 2004, Grovers Algorithm [Online]. Available: http://
encyclopedia.thefreedictionary.com/groversalgorithm
[Accessed 4 July 2004]
TheFreeDictionary.com 2004, Probabilistic Turing machine [Online]. Available:
http://encyclopedia.thefreedictionary.com/Probabilistic+Turing+machine
[Accessed 3 December 2004]
wikipedia.org 2004, Complexity classes P and NP [Online]. Available: http://
en.wikipedia.org/wiki/Complexity classes P and NP [Accessed 3 November
2004]
Wolfram, S. 2002, A New Kind of Science, 1st edn, Wolfram Media, USA
Image References
Figure 2.1
http://www.mathe.tu-freiberg.de/
dempe/schuelerpr neu/babbage.htm
http://www.inzine.sk/article.asp?art=8491
Figure 2.2
http://www.cs.us.es/cursos/tco/
http://www-groups.dcs.st-and.ac.uk/
history/Mathematicians
/Turing.html
Figure 2.3
http://www-groups.dcs.st-and.ac.uk/
history/Mathematicians
/Von Neumann.html
Figure 2.4
aima.cs.berkeley.edu/cover.html
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
232 BIBLIOGRAPHY
Figure 2.5
http://www.phy.bg.ac.yu/web projects/giants/hilbert.html
http://www-groups.dcs.st-and.ac.uk/
history/Mathematicians/Godel.html
Figure 2.9
http://pr.caltech.edu/events/caltech nobel/
Figure 2.12
http://www.elis.UGent.be/ELISgroups/solar/projects/computer.html
Figure 3.9
http://www-gap.dcs.st-and.ac.uk/
history/PictDisplay/Fourier.html
Figure 4.1
http://www-gap.dcs.st-and.ac.uk/
history/Mathematicians/Maxwell.html
http://www-gap.dcs.st-and.ac.uk/
history/Mathematicians/Newton.html
Figure 4.2
http://www-gap.dcs.st-and.ac.uk/
history/Mathematicians
/Copernicus.html
http://www-gap.dcs.st-and.ac.uk/
history/PictDisplay/Galileo.html
Figure 4.3
http://www.svarog.org/filozofija/graph/democritus.jpg
http://www.slcc.edu/schools/hum sci/physics/whatis/biography
/dalton.html
Figure 4.4
http://www-gap.dcs.st-and.ac.uk/
history/PictDisplay/Helmholtz.html
http://www.eat-online.net/english/education/biographies/clausius.htm
Figure 4.6
http://www-gap.dcs.st-and.ac.uk/
history/Mathematicians
/Boltzmann.html
http://www-gap.dcs.st-and.ac.uk/
history/Mathematicians/bohr.html
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
BIBLIOGRAPHY 233
Figure 4.7
http://www-gap.dcs.st-and.ac.uk/
history/PictDisplay/Einstein.html
http://www-gap.dcs.st-and.ac.uk/
history/PictDisplay/Balmer.html
Figure 4.8
http://www-gap.dcs.st-and.ac.uk/
history/Mathematicians/Planck.html
http://www.trinityprep.org/MAZZAR/thinkquest/History/Thomson.htm
Figure 4.9
http://www.chemheritage.org/EducationalServices/chemach/ans/er.html
http://www-gap.dcs.st-and.ac.uk/
history/Mathematicians
/Sommerfeld.html
Figure 4.13
http://www-gap.dcs.st-and.ac.uk/
history/PictDisplay/Pauli.html
http://www-gap.dcs.st-and.ac.uk/
history/Mathematicians/Broglie.html
Figure 4.14
http://www-groups.dcs.st-and.ac.uk/
history/Mathematicians
/Schrodinger.html
http://www-gap.dcs.st-and.ac.uk/
history/PictDisplay/Born.html
Figure 4.15
http://www-gap.dcs.st-and.ac.uk/
history/Mathematicians/Born.html
http://www-gap.dcs.st-and.ac.uk/
history/PictDisplay/Dirac.html
Figure 6.1
http://www-history.mcs.st-andrews.ac.uk/history/PictDisplay
/Shannon.html
http://www-gap.dcs.st-and.ac.uk/
history/PictDisplay/Boole.html
Figure 8.1
http://www.qubit.org/oldsite/intros/nano/nano.html
Figure 8.2
http://www.idquantique.com/
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
Index
Absorbtion spectrum, 97
Adjoint, 68
Analytical engine, 4
Ancilla bits, 28, 142
AND gate, 15
Angles in other quadrants, 38
Anti-Commutator, 77
Aristotle, 91
Articial intelligence, 32
Asymptotically equivalent, 21
Atoms, 91
Automaton, 9
Babbage, Charles, 4
Balmer, Johann Jakob, 98
Basis, 57
BB84, 191
Bell state circuit, 144
Bell states, 128, 178
Bennet, C.H., 187
Bennett, Charles, 28
Big notation, 21
Big notation, 21
Big O notation, 21
Binary entropy, 162
Binary numbers, 6
Binary representation, 8
Binary symmetric channels, 171
Bit swap Circuit, 143
Bits, 8
Black body, 95
Black body radiation, 95
Bloch sphere, 120
Bohr, Niels, 94
Boltzmanns constant, 94
Boltzmann, Ludwig, 94
Boole, George, 156
Boolean algebra, 156
Born, Max, 104
Bra, 56
Bra-ket notation, 60
Brassard, G., 187
Bright line spectra, 97
Bubble sort, 19
Caesar cipher, 186
Cauchy-Schwartz inequality, 60
Cause and effect, 91
Cavity, 95
Channel capacity, 157
Characteristic equation, 70
Characteristic polynomial, 70
Chinese room, 32
Christmas pudding model, 100
Church, Alonzo, 6
Church-Turing thesis, 6
Classical circuits, 14
Classical complexity classes, 223
Classical Cryptography, 186
Classical error correction, 171
Classical gates, 14
Classical information sources, 158
Classical physics, 90
Classical redundancy and compression, 160
Classical registers, 15
Classical wires, 15
Clausius, Rudolf , 92
CNOT gate, 29, 138
Code wheel, 186
Codewords, 171
Column notation, 54
Commutative law of multiplication, 104
235
236 INDEX
Commutator, 77
Completely mixed state, 168
Completeness relation, 68
Complex conjugate, 42
Complex number, 41
Complex plane, 43
Complexity classes, 223
Computational basis, 57
Computational Resources and Efciency, 18
Constant coefcients, 36
Continued fractions algorithm, 207
Continuous spectrum, 97
Control lines, 28
Control of unitary evolution, 219
Controlled U gate, 142
Conventions for quantum pseudo code, 221
Converting between degrees and radians, 38
Copenhagen interpretation, 105
Copernicus, Nicolaus, 90
Copying circuit, 143
CROSSOVER, 18
Cryptology, 185
CSS codes, 178
de Broglie, Louis, 103
Decision problem, 23
Decoherence, 164, 173
Degenerate, 70
Degrees, 38
Democritan, 33
Democritus, 91
Density matrix, 164
Determinant, 50
Determinism, 91
Deterministic Turing machines, 23
Deutsch - Church - Turing principle, 25
Deutschs algorithm, 194
Deutsch, David, 25
Deutsch-Josza algorithm, 198
Diagonal polarisation, 116
Diagonalisable matrix, 76
Dirac, Paul, 105
Discrete fourier transform, 81
Dot product, 53, 59
Dual vector, 56
Eigenspace, 70
Eigenvalue, 70
Eigenvector, 70
Einstein, Albert, 97
Electromagnetism, 90
Electron, 98
Emission spectrum, 97
Ensemble point of view, 165
Entangled states, 127
Entanglement, 111
Entropy, 93
EPR, 111
EPR pair, 128, 178
Error syndrome, 175
Excited state, 101
Exponential form, 45
FANIN, 18
FANOUT, 18
Fast factorisation, 205
Fast Factorisation algorithm, 208
Fast Factorisation circuit, 208
Feynman, Richard, 24
Finite state automata, 11
First law of thermodynamics, 92
Fluctuation, 94
Flying qubits, 218
For all, 36
Formal languages, 9
Four postulates of quantum mechanics, 112,
149, 169
Fourier series, 82
Fourier transform, 81
Fourier, Jean Baptiste Joseph, 81
Fredkin gate, 30, 141
Frequency domain, 81
Full rank, 50
Fundamental point of view, 169
G odels incompleteness theorem, 6
G odel, Kurt, 6
Galilei, Galileo, 90
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
INDEX 237
Garbage bits, 28, 142
Global phase, 118
Global properties of functions, 194
Gram Schmidt method, 64
Ground state, 100
Grover workspace, 213
Grovers algorithm, 212
Grover, Lov, 113
Hadamard gate, 134
Haltig problem, 12
Heisenberg uncertainty principle, 105
Heisenberg, Werner, 104
Helmholtz, Von, 92
Hermitian operator, 73, 76
Hilbert space, 51, 60
Hilbert, David, 6
id Quantique, 221
Identity matrix, 49
If and only if, 37
Imaginary axis, 43
Independent and identically distributed, 158
Initial point, 51
Inner product, 53, 59
Interference, 107
Intractable, 22, 193
Inverse matrix, 49
Inverse quantum fourier transform, 201
Invertible, 26
Jacquard, Joseph Marie, 4
Ket, 54, 119
Keyes, R.W., 28
King, Ada Augusta, 4
Kronecker product, 80
Landauers principle, 26
Landauer, Rolf, 26
Least signicant digit, 8
Length of codes, 160
Linear combination, 56
Linear operator, 64
Linearly independent, 57
Local state, 111
Logarithms, 40
Logical symbols, 36
MagiQ, 221
Marked solution, 213
Markov process, 150
Matrices, 47
Matrix addition, 47
Matrix arithmetic, 47
Matrix entries, 47
Matrix multiplication, 48
Maxwells demon, 27
Maxwell, James Clerk, 90
Measurement of nal states, 219
Message Destination, 157
Message Receiver, 157
Message Source, 156
Message Transmitter, 156
Mixed states, 163
Modulus, 42
Moores law, 5
Moore, Gordon, 5
Multi qubit gates, 138
Mutual key generation, 191
NAND gate, 16
Neumann, Jon Von, 4
New quantum theory, 95
Newton, Issac, 90
Newtonian mechanics, 90
No programming theorem, 149
Noisy channels, 171
Non destructive measurement, 219
Non deterministic Turing machines, 23
Non-deterministic polynomial time, 22
NOR gate, 16
Norm, 42
Normal operator, 73
Normalise, 62
NOT gate, 15
NOT
2
gate, 140
NP, 22
Nuclear Magnetic Resonance, 220
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
238 INDEX
Nuclear spins, 110
Observable, 127
Old quantum theory, 95
One-time PAD, 187
Optical photon computer, 219
OR gate, 15
Oracle, 194
Order, 206
Order nding, 206
Orthogonal, 61
Orthonormal basis, 63
Outer product, 65
Outer product notation, 135
P, 22
Panexperientielism, 33
Partial Measurement, 123
Partial measurement, 123
Pauli exclusion principle, 102
Pauli gates, 130, 136
Pauli operators, 74
Pauli, Wolfgang, 102
Period, 206
Phase estimation, 206
Phase gate, 133
Photoelectric effect, 96
8
gate, 133
Plancks constant, 96
Polar coordinates, 43
Polar decomposition, 78
Polar form, 42
Polarisation of photons, 110
Polynomial time, 22
Polynomially equivalent, 25
Polynomials, 36
Positive operator, 73, 76
POVMs, 153
Principle of invariance, 18
Probabilistic complexity classes, 224
Probabilistic Turing machine, 24
Probability amplitudes, 58
Probability distribution, 158
Programmable quantum computer, 148
Projective measurements, 127
Projectors, 66, 127, 151
Proto-conscious eld, 33
Public key encryption, 186
Pure states, 163
Pythagorean theorem, 37
QCL, 220
qGCL, 220
Quantised, 89
Quantum bits, 114
Quantum C, 221
Quantum circuits, 129
Quantum complexity classes, 225
Quantum computer languages, 220
Quantum cryptography, 187
Quantum dot, 218
Quantum fourier transform, 200
Quantum fourier transform circuits, 205
Quantum information sources, 163
Quantum key distribution, 189
Quantum logic gates, 130
Quantum mechanics, 89
Quantum money, 187
Quantum noise, 172
Quantum numbers, 101
Quantum packet snifng, 188
Quantum repetition code, 173
Quantum searching, 212
Quantum Turing machine, 25
Qubit implementation, 218
Qubit initial state preparation, 219
Qubits, 114
Quick sort, 20
Radians, 38
Rank, 50
Rationalising and dividing complex numbers,
44
Rayleigh-Jeans law, 103
Rectilinear polarisation, 116
Reduced density matrix, 168
Relative phase, 117
Repetition, 171
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
INDEX 239
Repetition codes, 172
Reversible circuits, 31
Reversible computation, 28
Reversible gates, 28
Reversibly, 26
Right angled triangles, 37
Rotation operators, 137
RSA, 186, 193, 205
Rutherford, Ernest, 100
Rydberg constant, 98
Scalar, 47
Scalar multiplication by a matrix, 47
Schr odingers cat, 105
Schr odinger, Erwin, 104
Schumacher compression, 170
Schumachers quantum noiseless coding the-
orem, 164
Searle, John, 32
Second law of thermodynamics, 92
Shannon Entropy, 161
Shannons communication model, 156
Shannons noiseless coding theorem, 161
Shannon, Claude E., 155
Shor code, 177
Shors algorithm, 200
Shor, Peter, 113
Shortest route nding, 212
Simultaneous diagonalisation theorem, 78
Single qubit gates, 130
Single value decomposition, 78
Singular, 50
Socratic, 33
Sommerfeld, Arnold, 102
Source of Noise, 156
Spanning set, 57
Spectral decomposition, 79
Spin, 102
Square root of NOT gate, 134
Stabiliser codes, 178
State vector, 58, 116
Statistical correlation, 111
Statistical mechanics, 93
Steane code, 178
Strong AI, 32
Strong Church-Turing thesis, 23
subsystem point of view, 168
Superdense coding, 145
Superposition, 107
Teleportation circuit, 146
Tensor product, 79, 123
Terminal point, 51
There exists, 36
Thermodynamics, 91
Thomson, Joseph J., 98
Time domain, 81
Toffoli gate, 29, 141
Total information, 191
Trace, 71
Transpose matrix, 50
Trap door function, 187
Travelling salesman problem, 212
Trigonometric inverses, 38
Trigonometry, 37
Trigonometry identities, 40
Truth tables, 14
Turing Machine, 6
Turing test, 32
Turing, Alan, 4
Uncertainty, 110
Unit vector, 62
Unitary operator, 73
Universal computer, 4
Universal Turning Machine, 11
Vector addition, 55
Vector scalar multiplication and addition, 55
Vectors, 51
Visualising grovers algorithm, 215
Von Neumann architecture, 4
Von Neumann entropy, 164, 169
Weak AI, 32
Wheeler, John Archibald , 191
Wiens law, 103
Wiesner, Stephen, 187
Wire, 130
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006
240 INDEX
Witnesses, 23
XOR gate, 16
Zellinger, Anton, 191
Zero matrix, 49
Zero memory information sources, 159
Zero vector, 55
The Temple of Quantum Computing - c _Riley T. Perry 2004 - 2006