PIQC Lecture 6
PIQC Lecture 6
PIQC Lecture 6
Elı́as F. Combarro
[email protected]
2 / 211
I, for one, welcome our new quantum overlords
4 / 211
Tools and resources
• Jupyter Notebooks
• Web application to create and execute notebooks that
include code, images, text and formulas
• They can be used locally (Anaconda) or in the cloud
(mybinder.org, Google Colab...)
• IBM Quantum Experience
• Free online access to quantum simulators (up to 32 qubits)
and actual quantum computers (1, 5 and 15 qubits) with
different topologies
• Programmable with a visual interface and via different
languages (python, qasm, Jupyter Notebooks)
• Launched in May 2016
• https://quantum-computing.ibm.com/
• Quirk
• Online simulator (up to 16 qubits)
• Lots of different gates and visualization options
• http://algassert.com/quirk
• D-Wave Leap
• Access to D-Wave quantum computers
• Ocean: python library for quantum annealing
• Problem specific (QUBO, Ising model...)
• https://www.dwavesys.com/take-leap
6 / 211
The shape of things to come
7 / 211
What is quantum computing?
Quantum computing
Quantum computing is a computing paradigm that exploits
quantum mechanical properties (superposition, entanglement,
interference...) of matter in order to do calculations
8 / 211
Models of quantum computing
• There are several models of quantum computing (they’re
all equivalent)
• Quantum Turing machines
• Quantum circuits
• Measurement based quantum computing (MBQC)
• Adiabatic quantum computing
• Topological quantum computing
• Regarding their computational capabilities, they are
equivalent to classical models (Turing machines)
10 / 211
What technologies are used to build quantum
computers?
11 / 211
What is a quantum computer like?
13 / 211
What are the elements of a quantum circuit?
14 / 211
Part II
15 / 211
What is a qubit?
• A classical bit can take two different values (0 or 1). It is
discrete.
• A qubit can “take” infinitely many different values. It is
continuous.
• Qubits live in a Hilbert vector space with a basis of two
elements that we denote |0i y |1i.
• A generic qubit is in a superposition
|ψi = α |0i + β |1i
where α and β are complex numbers such that
|α|2 + |β|2 = 1
17 / 211
What are quantum gates?
UU † = U † U = I
18 / 211
Reversible computation
• As a consequence, all the operations have an inverse:
reversible computing
• Every gate has the same number of inputs and outputs
• We cannot directly implement some classical gates such
as or , and, nand, xor ...
• But we can simulate any classical computation with small
overhead
• Theoretically, we could compute without wasting energy
(Landauer’s principle, 1961)
20 / 211
Action of a one-qubit gate
that is, into the state |ψi = (aα + bβ) |0i + (cα + dβ) |1i
• Since U is unitary, it holds that
21 / 211
The X or NOT gate
|0i X |1i
|1i X |0i
that is, it acts like the classical NOT gate
• On a general qubit its action is
22 / 211
The Z gate
• Its action is
|0i Z |0i
|1i Z − |1i
23 / 211
The H or Hadamard gate
• The H or Hadamard gate is defined by the (unitary) matrix
1 1 1
√
2 1 −1
• Its action is
|0i+|1i
|0i H √
2
|0i−|1i
|1i H √
2
• We usually denote
|0i + |1i
|+i := √
2
and
|0i − |1i
|−i := √
2
24 / 211
Other important gates
• Y gate
0 −i
i 0
• S gate
1 0
π
0 ei 2
• T gate
1 0
π
0 ei 4
• The gates X , Y and Z are also called, together with the
identity, the Pauli gates. An alternative notation is σX , σY ,
σZ .
25 / 211
The Bloch sphere
26 / 211
The Bloch sphere (2)
• From |ψi = cos 2θ |0i + eiϕ sin 2θ |1i we can obtain spherical
coordinates for a point in R3
(sin θ cos ϕ, sin θ sin ϕ, cos θ)
cos 2θ −i sin 2θ
−i θ2 X θ θ
RX (θ) = e = cos I − i sin X =
2 2 −i sin 2θ cos 2θ
cos 2θ − sin 2θ
θ θ θ
RY (θ) = e−i 2 Y = cos I − i sin Y =
2 2 sin 2θ cos 2θ
θ
!
e−i 2
−i θ2 Z θ θ 0 1 0
RZ (θ) = e = cos I−i sin Z = ≡
2 2 0
θ
ei 2 0 eiθ
28 / 211
Using rotation gates to generate one-qubit gates
θ θ θ
U ≡ e−i 2 r ·σ = cos I − i sin (rx X + ry Y + rz Z )
2 2
• For instance, choosing θ = π and r = ( √1 , 0, √1 ) we can
2 2
see that
θ 1
H ≡ e−i 2 r ·σ = −i √ (X + Z )
2
• Additionally, it can also be proved that there exist angles α,
β and γ such that
29 / 211
Inner product, Dirac’s notation and Bloch sphere
30 / 211
Hello, quantum world!
|0i H
|0i + |1i
√
2
• When we measure, we obtain 0 or 1, each with 50%
probability: we have a circuit that generates perfectly
uniform random bits!
31 / 211
Part III
32 / 211
One-time pad: a Catch-22 situation
• Alice wants to send Bob a message m without Eve being
able to learn anything about its content
• This can be achieved if Alice and Bob share in advance a
string k of random bits:
• Alice computes x = m ⊕ k and sends x to Bob
• Eve cannot learn anything from x
(Pr (M = m|X = x) = Pr (M = m))
• But Bob can recover m by computing x ⊕ k
• The main problem is that k has to be as long as m and
cannot be reused so... how to agree on k?
33 / 211
The problem of key distribution
• Alice and Bob may share several keys for later use when
they are together
• But... what if they cannot meet each other?
• There exist key distribution methods like the Diffie-Hellman
protocol but...
• They are not unconditionally secure (they usually rely on
hardness assumptions)
• In fact, DH can be broken with quantum computers!
34 / 211
BB84: Alice’s part
35 / 211
BB84: Bob’s part
36 / 211
BB84: Alice and Bob on the phone
37 / 211
BB84: The protocol in an image
38 / 211
Eve tries to intercept and resend...
39 / 211
Information reconciliation and privacy amplification
• Because of imperfections in the channel and devices or
because of eavesdropping, some of the bits that Alice and
Bob have may be different
• They can conduct a process of information reconciliation
(for instance, with the cascade protocol)
• After this phase (or even before), some information may
have leaked to Eve
• Alice and Bob can perform privacy amplification (for
instance, with randomness extractors)
41 / 211
Kak’s three-stage protocol
• Proposed by Kak in 2006
• It needs an authenticated quantum channel
• Suppose Alice wants to send |xi ∈ {|0i , |1i} to Bob:
• Alice chooses θA at random and sends RY (θA ) |xi to Bob
• Bob choose θB at random and sends RY (θB )RY (θA ) |xi
back to Alice
• Alice applies RY (−θA ) and sends
RY (−θA )RY (θB )RY (θA ) |xi = RY (θB ) |xi
to Bob
• Bob can now recover |xi by applying RY (−θB )
42 / 211
The quantum one-time pad
X a |xi = |x ⊕ ai
45 / 211
Working with two qubits
• Each of the qubits can be in state |0i or in state |1i
• So for two qubits we have four possibilities:
|0i ⊗ |0i , |0i ⊗ |1i , |1i ⊗ |0i , |1i ⊗ |1i
that we also denote
|0i |0i , |0i |1i , |1i |0i , |1i |1i
or
|00i , |01i , |10i , |11i
• Of course, we can have superpositions so a generic state
is
|ψi = α00 |00i + α01 |01i + α10 |10i + α11 |11i
where αxy are complex numbers such that
1
X
|αxy |2 = 1
x,y=0
46 / 211
Measuring a two-qubit system
47 / 211
Measuring just one qubit in a two-qubit system
• If we have a state
48 / 211
Two-qubit states and vector representation
• A general two-qubit quantum state is
50 / 211
The CNOT gate
51 / 211
Action of the CNOT gate
|xi • |xi
|y i |y ⊕ xi
• This is an extremely important gate for it allows to:
• Create entanglement (more on this soon)
• Copy classical information, because:
|00i → |00i
|10i → |11i
• Construct other controlled gates
52 / 211
Equivalences with CNOT gates
H H
• •
•
53 / 211
Constructing controlled gates by using the CNOT gate
eiθ AXBXC
with ABC = I
• Then, the circuit
• • RZ (θ)
C B A
54 / 211
The no-cloning theorem
• There is no quantum gate that makes copies of an
arbitrary (unknown) qubit
• The proof is easy: suppose we have a gate U such that
U |ψi |0i = |ψi |ψi
• Then U |00i = |00i and U |10i = |11i and by linearity
1 1 1
U √ (|00i+|10i) = √ (U |00i+U |10i) = √ (|00i+|11i)
2 2 2
• But
|00i + |10i |0i + |1i
√ = √ |0i
2 2
so we should have
|00i + |10i (|0i + |1i) (|0i + |1i) 1
U √ = √ √ 6= √ (|00i + |11i)
2 2 2 2
55 / 211
Quantum entanglement: the spooky action at a
distance
56 / 211
Hello, entangled world!
|0i
• Initially, the state of the system is |00i
• After we apply the H gate, the state is
|00i + |10i
√
2
• When we apply the CNOT gate, the state changes to
|00i + |11i
√
2
57 / 211
Hello, entangled world!
|0i H •
|0i
58 / 211
Part V
59 / 211
The CHSH game
• Based in an inequality proposed in 1969 by Clauser,
Horne, Shimony and Holt based on previous work by John
Bell
• Alice and Bob receive bits x and y from a referee
• They have to respond with bits a and b
• They win if
a⊕b =x ·y
• They can decide on a joint strategy beforehand, but they
cannot communicate during the game
60 / 211
Classical strategies for the CHSH game
• Alice and Bob can win 75% of the time if they always
answer ‘0’
• No other deterministic strategy can do better
• And probabilistic strategies are convex combinations of
classical strategies so they cannot improve the 75%
success rate
61 / 211
Quantum strategy for the CHSH game
|0i H • RY ( π2 )
|0i RY ( π4 )
62 / 211
Some comments on the CHSH game
• It can be proved that cos2 ( π8 ) is the highest possible
success rate for a quantum strategy (Tsirelson’s bound)
• The CHSH game can be used to rule out local realism
• Several experiments have been conducted, including:
• Aspect et al. (1981-82)
• Hensen et al. (2005) - Eliminate the locality and detection
loopholes
• All of them agree with the predictions of quantum theory
63 / 211
The GHZ game
• Introduced by Greenberger, Horne and Zeilinger
• A referee selects rst from {000, 011, 101, 110} and sends r
to Alice, s to Bob and t to Charlie
• They produce a, b and c and win if
a⊕b⊕c =r ∨s∨t
• Classically, they can only win with 75% probability
• Quantumly, they can win every single time
• They share the state
1
(|000i − |011i − |101i − |110i)
2
• They apply H to their qubit if the receive 1
• They measure and return the answer
• This is sometimes called “quantum pseudo-telepathy”
(Brassard, Cleve, Tapp)
• Both the CHSH and the GHZ game can be used for
randomness certification (and expansion)
64 / 211
Part VI
65 / 211
Quantum teleportation: Quantum me up, Scotty!
• Can Alice sent a qubit |ψi to Bob it there is no quantum
channel available?
• We are interested in the most general case, even if Alice
does not know which state she has
• The problem can be solved if Alice and Bob share an
entangled state √1 (|00i + |11i)
2
66 / 211
Quantum teleportation: Alice’s part
• Alice and Bob share an entangled state √1 (|00i + |11i)
2
• This can be done in advance
• Or they can rely on a source that distributes entangled pairs
• Alice applies a CNOT gate to the qubit she wants to
teleport |ψi = a |0i + b |1i and to her part of the Bell pair.
We will have
1
√ (a(|000i + |011i) + b(|110i + |101i))
2
• Alice further applies the H gate to the qubit she wants
teleported. Then, we have
1
|00i (a |0i + b |1i) + |01i (b |0i + a |1i)
2
+ |10i (a |0i − b |1i) + |11i (−b |0i + a |1i)
• Alice measures her two qubits and sends the result (two
classical bits) to Bob (through a classical channel)
67 / 211
Quantum teleportation: Bob’s part
68 / 211
Quantum teleportation: some comments
69 / 211
Entanglement swapping
• Quantum teleportation can also be used with entangled
qubits
• Alice shares a Bell pair with Bob and another one with
Charlie
• In the figure, the top and bottom qubits belong to Alice.
The second from the top belongs to Bob and the other to
Charlie
• Alice teleports her top qubit to Charlie
• Now Bob’s and Charlie’s qubits are entangled (although
maybe they were never in direct contact)
Image credits: Created with Quirk. Click here to access the circuit
70 / 211
Gate teleportation
• We can generalize the idea of quantum teleportation to
teleport the action of gates
• With the circuit of the figure, we can apply gate U to an
arbitrary state |ψi
• This is useful if preparing √1 (|0i U |0i + |1i U |1i) and
2
applying UXU † , UZU † , UZXU † are easy compared to
applying U to a general qubit
• Such a situation can happen when U = T in the context of
fault-tolerant quantum computing
|ψi • H •
|0i H • •
|0i U U† Z U
71 / 211
Superdense coding: two for the price of one (more or
less)
72 / 211
Superdense coding: Alice’s part
73 / 211
Superdense coding: Bob’s part
• Bob receives Alice’s qubit
• He applies a CNOT gate controlled by Alice’s qubit
• He applies H to Alice’s qubit
• He measures and recovers b1 and b2
74 / 211
Superdense coding: an example
1 1
√ (|01i − |11i) = √ (|0i − |1i) |1i
2 2
• And with the H gate he gets |11i that now he can measure
75 / 211
Part VII
76 / 211
Deutsch’s algorithm: statement of the problem
• In 1985, David Deutsch proposed a very simple algorithm
that, nevertheless, hints at the capabilities of quantum
computing
• The problem it solves is only of theoretical relevance and
was later generalized in a joint work with Jozsa
• We are given a circuit (an oracle) that implements a
one-bit boolean function and we are asked to determine
whether the function is constant (returns the same value
for all inputs) or balanced (returns 1 on one input and 0 on
the other)
• Alternatively, we can think of the oracle as indexing a bit
string of length two and we are asked to compute the XOR
of the bits of the string
• In the classical case, we would need to consult the oracle
twice, to compute both values of the function
• In the quantum case, we can make just one oracle call...
but in superposition
77 / 211
Deutsch’s algorithm: the oracle
|xi |xi
Of
|y i |y ⊕ f (x)i
78 / 211
Deutsch’s algorithm: the circuit
|0i H H
Of
|1i H
79 / 211
Deutsch’s algorithm: the magic
|0i H H
Of
|1i H
• The initial state is |0i |1i
• After the H the gates we have
(|0i + |1i)(|0i − |1i)
2
which is the same as
|0i (|0i − |1i) |1i (|0i − |1i)
+
2 2
• When we apply the oracle, by linearity we obtain
|0i (|0 ⊕ f (0)i − |1 ⊕ f (0)i) |1i (|0 ⊕ f (1)i − |1 ⊕ f (1)i)
+
2 2
80 / 211
Deutsch’s algorithm: the magic (2)
|0i H H
Of
|1i H
• If f (0) = 0, we have
(−1)f (0) |0i (|0i − |1i) (−1)f (1) |1i (|0i − |1i)
+
2 2
81 / 211
Deutsch’s algorithm: the magic (3)
|0i H H
Of
|1i H
• We can also write that state as
|0i (|0i − |1i) (−1)f (0)+f (1) |1i (|0i − |1i)
+
2 2
• So if f (0) = f (1), we will have
|0i (|0i − |1i) |1i (|0i − |1i) (|0i + |1i)(|0i − |1i)
+ =
2 2 2
and when we apply the last H and measure we obtain 0.
• But if f (0) 6= f (1), the state is
|0i (|0i − |1i) |1i (|0i − |1i) (|0i − |1i)(|0i − |1i)
− =
2 2 2
and, then, we obtain 1.
82 / 211
Deutsch’s algorithm: some comments
• When we apply the oracle we have a phase kickback: we
only act on one qubit, but it affects the whole state
• Deutch’s algorithm exploits an interference phenomenon
similar to that found in some physical experiments
(double-slit experiment, Mach-Zehnder interferometer)
83 / 211
Part VIII
84 / 211
n-qubit systems
• When he have n qubits, each of them can be in state |0i
and |1i
• Thus, for the n-qubit state we have 2n possibilities:
or simply
|0i , |1i , . . . , 2n − 1
85 / 211
Measuring a n-qubit state
86 / 211
Measuring one qubit in a n-qubit state
• We have
87 / 211
n-qubit quantum gates
• A n-qubit state is
|xi • |xi
|y i • |y i
|zi |z ⊕ (x ∧ y)i
• The Toffoli gate is universal for classical logic, and thus
any classical circuit can be simulated with a quantum
circuit
• However, the Toffoli gate, on its own, is not universal for
quantum computing (and it is not even necessary,
because it can be simulated with one and two-qubit gates)
89 / 211
Universal gates in quantum computing
Theorem
The one-qubit gates together with the CNOT gate are universal
for quantum computing
Theorem
The gates X , H, T and CNOT are universal for quantum
computing
90 / 211
Gate equivalences
Z = H X H
S = T T
Y = Z X S X S X
T† = S S S T
S† = S S S
91 / 211
Equivalence of the Toffoli gate
H T† T T† T H
• • T T†
• • • T •
92 / 211
Part IX
93 / 211
Urban legends about quantum parallelism
• But... don’t quantum computers try all 2n possibilities in
parallel?
• The answer is... yes and no (this is quantum computing
after all!)
94 / 211
Evaluating a function: querying the oracle
|xi |xi
Of
|yi |y ⊕ f (x)i
95 / 211
Evaluating a function in parallel: the superposition
hocus-pocus
• Suppose that we have an oracle Of for a function f (x) with
a one-bit input
• We know that, using the H gate, we can put a qubit in
superposition
• If we start with the state |0i |0i and we apply H on the first
qubit, we will have
1 1
√ |0i |0i + √ |1i |0i
2 2
• If we now apply Of , by linearity we have
1 1
√ |0i |f (0)i + √ |1i |f (1)i
2 2
• We have evaluated the function on two different inputs with
just one call!
96 / 211
Evaluating a function in parallel: the tensor-product
abracadabra
97 / 211
Evaluating a function in parallel: the tensor-product
abracadabra (2)
• If we expand the product we get
n2 −1
(|0 . . . 0i + |0 . . . 1i + . . . + |1 . . . 1i) |0i 1 X
√ =√ |xi |0i
2n 2n x=0
• And, when we apply the oracle, we will get the state
n
2 −1
1 X
√ |xi |f (x)i
2n x=0
• An exponential number of function evaluations with just
one call!
H
|0i⊗n H
Of
H
|0i 98 / 211
Quantum parallelism vs. non-deterministic machines
• With a non-deterministic machine, we could choose at will
some value f
• This would allow us to solve NP-complete problems
• A similar idea is used in the plot of Quarantine, a
science-fiction novel by Greg Egan
99 / 211
All that glitters ain’t gold
• And now... how do we retrieve the values f (x)?
• To obtain a result, we need to perform a measurement
• But then we will get a state of the form
|ci |f (c)i
• That is, we only obtain the result of the function for a
randomly chosen input (this may be even worse than
classically evaluating the function)
Image credits: The Talk, by Scott Aaronson and Zach Weinersmith 100 / 211
Interferences come to the rescue
• How can we use the 2n evaluations to extract useful
information?
• One possibility is... to produce interferences!
• The amplitudes of some states can be negative
• If we manage to “annihilitate” the amplitudes of states we
are not interested in, the probability of obtaining the
answer that we need will grow
• This is, in general, no easy task, but we know how to
achieve it in some interesting cases
Image credits: The Talk, by Scott Aaronson and Zach Weinersmith 101 / 211
Part X
102 / 211
Reminder: Deutsch’s algorithm
103 / 211
Upping the ante: the Deutsch-Jozsa algorithm
104 / 211
Circuit for the Deutsch-Jozsa algorithm
H H
|0i⊗n H H
Of
H H
|1i H
105 / 211
Steps in the Deutsch-Jozsa algorithm
X (−1)f (x)
√ |xi (|0i − |1i)
x∈{0,1}n
2n+1
106 / 211
Steps in the Deutsch-Jozsa algorithm (2)
107 / 211
Correctness of the algorithm
108 / 211
Some comments on the Deutsch-Jozsa algorithm
109 / 211
Part XI
110 / 211
Statement of the problem
• Grover’s algorithm is used to solve search problems
• Imagine we have an unsorted list of N elements
• One of them verifies a certain condition and we want to
find it
• Any classical algorithm requires O(N) queries to the list in
the worst case √
• Grover’s algorithm can find the element with O( N)
queries
111 / 211
The oracle
|yi |y ⊕ f (x)i
112 / 211
The idea behind the algorithm
113 / 211
Grover’s algorithm
√
• Grover’s algorithm performs O( N) iterations, each one
consisting in an oracle query and a call to Grover’s
diffusion operator
• The oracle “marks” those states that verify the condition
• The diffusion operator “amplifies” the amplitudes of the
marked states
√
O( N)
z }| {
H H X • X H . . .
|0i⊗n H H X • X H ...
O
f
H H X Z X H ...
|1i H ...
114 / 211
Grover’s algorithm as a rotation
115 / 211
Grover’s algorithm as a rotation (2)
116 / 211
Grover’s algorithm as a rotation (3)
• In order to obtain |x1 i with high probability when we
measure we need
π
(2m + 1)θ ≈
2
and this gives
π 1
m≈ −
4θ 2
• Since r
1
sin θ =
N
we will have r
1
θ≈
N
and then we can choose
jπ √ k
m= N
4
117 / 211
The case with multiple marked elements
• If the number of marked elements is k > 1, a similar
argument can be made by defining
r
X 1
|x0 i = |xi
N −k
f (x)=0
r
X 1
|x1 i = |xi
k
f (x)=1
• In this case r
k
sin θ =
N
and if k N we can choose
$ r %
π N
m=
4 k
118 / 211
The case with unknown number of marked elements
119 / 211
Some comments on Grover’s algorithm
• When we measure, we will obtain x such that f (x) = 1 with
probability depending on:
• The number m of iterations
• The fraction of values x that satisfy the condition
• If we perform too many iterations, we can overshoot and
not find a marked element
• On the other hand, if k = N4 then one iteration will find a
marked element with certainty
• Grover’s algorithm can be used to find minima of functions
(Dürr-Hoyer’s algorithm)
• It can be shown that no other quantum algorithm can
obtain more than a quadratic speed-up over over classical
algorithms in the same setting
• A generalization of Grover’s algorithm called Amplitude
Amplification can be used with states prepared by an
arbitrary unitary A
120 / 211
Part XII
121 / 211
Shor’s algorithm and factoring
• Shor’s algorithm is, probably, the most famous quantum
algorithm
• It finds a factor of a n-bit integer in time
O(n2 (log n)(log log n))
• The best classical algorithm that we know of for the same
1 2
task needs time O(ecn 3 (log n) 3 )
• Dramatic consequences for current cryptography (RSA)
r
7 If x = 0, go to 2. If y = 0, take r = 2 and go to 5.
8 Compute p = gcd(x, N) and q = gcd(y, N). At least one of
them will be a non-trivial factor of N
123 / 211
Correctness of Shor’s algorithm
• We know that
ar ≡ 1 mod N
• Thus
r r
x · y ≡ (a 2 + 1)(a 2 − 1) ≡ (ar − 1) ≡ 0 mod N
124 / 211
Implementation of Shor’s algorithm
|0i H ··· •
.. .. ..
. . .
QFT†m
|0i H • ···
|0i H • ···
|1i /n Ua2
0
Ua2
1
··· m−1
Ua2
125 / 211
Preparing a periodic sequence
1 X
p |xi |ci
|C| x∈C
126 / 211
Preparing a periodic sequence (2)
1
(|0i |1i + |1i |2i + |2i |4i + |3i |3i + |4i |1i + . . . + |15i |3i)
4
and when we measure we could obtain, for instance
1
(|1i |2i + |5i |2i + |9i |2i + |13i |2i)
2
• Notice that the values of the first register are exactly 4 units
apart and that 24 = 1 mod 5.
• In general, we will obtain values that are r units apart,
where ar = 1 mod N.
127 / 211
Measuring the period
• To retrieve the period r we use the (inverse) of the
Quantum Fourier Transform (QFT)
• Two properties of the QFT are central here:
• Shift-invariance (up to an unobservable phase)
• QFT transforms sequences with period r into sequences
with period Mr (where M = 2m )
• After the use of the inverse QFT, we can measure a value
of the form Mc
r with high probability and, from it, obtain r
129 / 211
Using the QFT for phase estimation
• Suppose we are given a unitary operation U and one of its
eigenvectors |ψi
• We know that there exists θ ∈ [0, 1) such that U |ψi = e2πiθ
• We can estimate θ with the circuit shown below
P n −1 2πiθk
• With the first part, we will obtain √1 n 2k=0 e |k i
2
• By using the inverse QFT we can measure j ≈ 2n θ
130 / 211
Shor’s algorithm as a particular case of quantum
phase estimation
• Clearly, the circuit used in Shor’s algorithm is a case of
quantum phase estimation
• It can be shown that the (unitary) operation of modular
mutiplication by a has eigenvalues
k
e2πi r k = 0, . . . , r − 1
132 / 211
HHL: Applying quantum phase estimations to solve
linear systems of equations
• A quantum algorithm proposed in 2009 by Harrow,
Hassidim and Lloyd can be used to solve linear systems of
equations
• The main steps of the algorithm are
• Computation of the eigenvalues (quantum phase
estimation)
• Inversion of the eigenvalues
• Uncomputation of the eigenvalues (inverse of quantum
phase estimation)
134 / 211
Part XIII
135 / 211
The maximum cut or Max-Cut problem
• Consider the problem of dividing the vertices of a graph
into two sets such that the number of edges with extremes
in both sets is the maximum possible
• It can be proved that this problem, called “maximum cut” or
“Max-Cut”, is NP-hard
• It is also APX-Hard and thus there is no (classical)
polynomial-time approximation scheme (PTAS) which gets
arbitrarily close to the solution (unless P = NP)
137 / 211
Example of Max-Cut problem
H = Z1 Z2 + Z1 Z3
138 / 211
Enter quantum computing
• Then
1 0 1
1 0 =1
0 −1 0
• Using Dirac notation, we can denote this by
h0| Z |0i = 1
139 / 211
Enters quantum computing (2)
• Analogously
0
|1i =
1
• And thus
1 0 0
h1| Z |1i = 0 1 = −1
0 −1 1
and
140 / 211
Back to the Max-Cut example
H = Z1 Z2 + Z1 Z3
• Analogously
141 / 211
Hamiltonians, Hamiltonians everywhere
hψ|H|ψi
142 / 211
Example: the Ising model
• We have n spins that interact with their neighbours
• The Hamiltonian of the system is
X n
X
H= Jij Zi Zj + hi Zi
1≤i<j≤n i=1
1 − zi
xi =
2
and get back to QUBO with
zi = 1 − 2xi
144 / 211
Adiabatic quantum computing
t t
H(t) = (1 − )Hi + Hf
T T
for time T
145 / 211
Adiabatic quantum computing (2)
146 / 211
D-Wave’s quantum computers
147 / 211
An application in High Energy Physics
148 / 211
An application in High Energy Physics (2)
• Signal: production of a Higgs boson through the fusion of
two gluons which then decay into two photons
• Background: standard-model two-photon production
processes
149 / 211
An application in High Energy Physics (3)
• The authors consider 36 weak classifiers ci (x) and
combine them to form a strong classifier
X
O(x) = wi ci (x)
i
with wi ∈ {0, 1}
• They minimize
X X
(y (x) − wi ci (x))2
x i
151 / 211
Part XIV
152 / 211
The Quantum Approximate Optimization Algorithm
153 / 211
Boolean functions and Hamiltonians
• For each boolean Ca we can find a Hamiltonian Ha of the
form
X X X
a0 I + ai Zi + aij Zi Zj + aijk Zi Zj Zk + · · ·
i i<j i<j<k
such that for every string x it holds that Ca (x) = hx| Ha |xi
• Then, minimizing C(x) is equivalent to finding the ground
state of X
Hf = wa Ha
a
since Hf is diagonal and hx| Hf |xi = C(x).
where p ≥ 1 and
n −1
2X
|si = |xi
i=0
155 / 211
Optimization with QAOA
156 / 211
How to prepare |β, γi
P n
• We already know that |si = 2i=0−1 |xi can be prepared
with Hadamard gates
• Each e−iβk Xj is a rotation RX (2βk ) or equivalently
xj H RZ (2βk ) H
157 / 211
−iγk Zi1 ···Zij
Implementing e
158 / 211
An example
|x1 i • •
|x2 i • •
|x3 i
|x4 i RZ (2γ)
159 / 211
Estimating the energy
• Estimating the energy is very easy in the case of QAOA
• We repeat the following process a fixed number of times:
1 Prepare the state |β, γi
2 Measure it to obtain a string x
3 Compute C(x)
and then we average the results
• This works because if
X
|β, γi = ax |xi
x∈{0,1}n
then X
hβ, γ| Hf |β, γi = |ax |2 C(x)
x∈{0,1}n
162 / 211
Applying QAOA for particle track reconstruction (2)
• QUBO formulation to select the best pairs of triplets by
minimizing
X X
O(a, b, T ) = ai Ti + bij Ti Tj
where the ai are bias weights expressing quality of the
triplets (all equal) and the bij are coupling strengths
between triplets
• From this formulation, QAOA is planned to be applied on
Rigetti computers (work by Eric Rohm at Lawrence
Berkeley National Laboratory)
163 / 211
Part XV
164 / 211
VQE: Variational Quantum Eigensolver
• QAOA can be seen as a particular case of a more general
algorithm: the Variational Quantum Eigensolver (VQE)
• Now, we will have a general Hamiltonian Hf (with a
polynomial number of terms) and we want to approximate
its ground state
• Instead of the parametrized state |β, γi of QAOA we will
use
• An initial state |ψi that is easy to prepare (it could be just
|0i)
• A parametrized unitary U(θ) that is called a variational
form
• We can create an ansatz
166 / 211
Approximating the ground state with VQE
167 / 211
Estimating the energy of a state
1
hψ| Hf |ψi = hψ| Z1 Z3 |ψi − 3 hψ| X1 Y3 Z4 |ψi
4
• To estimate hψ| Z1 Z3 |ψi we can just measure |ψi in the
computational basis and average the energies of the
results (which will be 1 or -1 for each individual
measurement result).
168 / 211
Estimating the energy of a state (2)
• To estimate hψ| X1 Y3 Z4 |ψi we can notice that
X = HZH
and
Y = SHZHS †
• Then hψ| X1 Y3 Z4 |ψi is equal to
Image credits: Kandala, Mezzacapo, Temme, Takita, Brink, Chow, Gambetta. Nature 549, 242–246 (2017)
170 / 211
Finding excited states
171 / 211
Computing inner products of parametrized states
• To compute the inner product in the expression of the
energy we can notice that |ψ0 i = U(θ0 ) |ψi and that the
new states that we try will be of the form |ϕi = U(θ) |ψi for
some θ
• Then, it is easy to estimate | hψ0 |ϕi |2 by running the circuit
of the figure and computing the relative frequency of |0i
because
| hψ0 |ϕi |2 = | h0| V † U(θ0 )† U(θ)V |0i |2
where V is a unitary such that V |0i = |ψi
|0i
|0i
172 / 211
An application of VQE in High Energy Physics
• Work by Li, Macridin, Spentzouris - Fermilab (2019)
• Rabi Hamiltonian: two-level system (TLS) coupled to a
photon mode
Ω
H = ωaa† + Z + g(a† + a)X
2
• Number-basis binary encoding: photon mode truncated to
up to 3 photons
ω Ω p
H = ωZ0 + Z1 + Z2 + g Z0 + 2X1 X2
2 2
g 3ω
+ √ X0 X1 X2 + Y0 Y1 X2 +
2 2
173 / 211
Results on simulator and Rigetti’s quantum computers
174 / 211
Part XVI
175 / 211
What I talk about when I talk about Quantum Machine
Learning
Image credits: Figure taken from Supervised Learning with Quantum Computers. Schuld, Petruccione (2018)
176 / 211
QBLAS: The Quantum Basic Linear Algebra
Subroutines
177 / 211
QRAM: The elephant in the room
• A Quantum Random Access Memory should allow queries
in superposition
• Several architectures have been proposed (for instance,
the “bucket brigade”) but further investigation is needed
• Loading data can become a bottleneck for many QML
algorithms
178 / 211
Translational QML and speedups
Image credits: Table taken from Biamonte, Wittek, Pancotti, Rebentrost, Wiebe, Lloyd. Nature 549, 195–202(2017)
179 / 211
QML in the times on NISQ
180 / 211
Part XVII
181 / 211
Support Vector Machines
• Support Vector Machines (SVM) are a very popular
machine learning algorithm used for data classification
• The main idea is to find a hyperplane that separates data
from two different classes with the maximum possible
margin
1 X
Minimize ||w||2 + C ξi
2
i
subject to
yi (w · xi + b) ≥ 1 − ξi , ξi ≥ 0
subject to X
0 ≤ αi ≤ C αi yi = 0
i
• From the values αi we can recover b and w. In fact
X
w= αi yi xi
i
185 / 211
Non-linear separation
Image credits: C. Moreira, “Learning To Rank Academic Experts’, Master Thesis, Technical University of Lisbon,
2011
186 / 211
The Kernel Trick
• We can easily incorporate the feature map in our
formulation of the dual problem for the SVM
X 1X
Maximize αi − yi yj αi αj φ(xi ) · φ(xj )
2
i i,j
subject to X
0 ≤ αi ≤ C αi yi = 0
i
• Again, we can obtain w as
X
w= αi yi φ(xi )
i
|0i
|0i
188 / 211
Using QSVM in High Energy Physics
189 / 211
Using QSVM in High Energy Physics (2)
190 / 211
Using QSVM in High Energy Physics (2)
191 / 211
Part XVIII
192 / 211
What is a Quantum Neural Network
• Quantum Neural Networks or Variational Quantum
Classifiers are parametrized quantum circuits that can be
“trained” on data and used for classification tasks
• The most common architecture is shown in the figure
below: a feature map that embeds the data point into the
Hilbert space and a variational form that performs the
classification
194 / 211
Gradients and the parameter shift rule
∂f (x, θ)
= r · [f (x, θ + s) − f (x, θ − s)]
∂θ
π
where s = 4r
• This requires just two extra evaluations of the same circuit
with shifted parameters
195 / 211
Choosing feature maps and variational forms
Image credits: Sim, Johnson, Aspuru-Guzik. Adv. Quantum Tech. 2(12) (2019)
196 / 211
The power of quantum neural networks
197 / 211
Quantum Neural Networks in HEP
198 / 211
Quantum Neural Networks in HEP (2)
199 / 211
Quantum Neural Networks in HEP (3)
201 / 211
Quantum Neural Networks in HEP (5)
203 / 211
GANs: Generative Adversarial Networks
• Generative Adversarial Networks (GANs) were introduced
by Ian Goodfellow and his collaborators in 2014
• The objective, is, given a training dataset, learning to
generate new, unseen data with the same distribution
• Impressive results have been achieved in several different
applications
205 / 211
GAN training
Ez [log (1 − D(G(z)))]
Ez [log D(G(z))]
206 / 211
Quantum GANs
• A Quantum GAN replaces the generator or the
discriminator (or both) with a quantum circuit
207 / 211
Using a QGAN to load a probability distribution
208 / 211
Quantum generator in IBM’s QGAN
209 / 211
Application of QGANs in HEP: Calorimeter output
210 / 211
To learn more...
211 / 211