0% found this document useful (0 votes)
57 views133 pages

PIQC Lecture 4

The document provides an introduction to quantum computing, including explanations of qubits, quantum gates, and one-qubit systems. It defines qubits as continuous states that exist in superposition, and explains how quantum gates represent unitary transformations on qubits. Common one-qubit gates like X, Z, and H are defined through their matrix representations and actions on qubit states.

Uploaded by

Philippe Deniel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
57 views133 pages

PIQC Lecture 4

The document provides an introduction to quantum computing, including explanations of qubits, quantum gates, and one-qubit systems. It defines qubits as continuous states that exist in superposition, and explains how quantum gates represent unitary transformations on qubits. Common one-qubit gates like X, Z, and H are defined through their matrix representations and actions on qubit states.

Uploaded by

Philippe Deniel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 133

A Practical Introduction to Quantum

Computing: From Qubits to Quantum


Machine Learning and Beyond

Elı́as F. Combarro
[email protected]

CERN openlab (Geneva, Switzerland) - University of Oviedo (Oviedo, Spain)

CERN - November/December 2020


Part I

Introduction: quantum computing...


the end of the world as we know it?

2 / 133
I, for one, welcome our new quantum overlords

Image credits: sciencenews.org


3 / 133
Philosophy of the course

Image credits: Modified from an Instagram image by Bob MacGuffie

4 / 133
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/

Image credits: IBM 5 / 133


Tools and resources (2)

• 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 / 133
The shape of things to come

Image credits: Created with wordclouds.com

7 / 133
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

Image credits: Erik Lucero

8 / 133
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)

Image credits: Getty Images


9 / 133
Quantum and classical computational complexity

Image credits: wikipedia.org

10 / 133
What technologies are used to build quantum
computers?

Image credits: Graphic by C. Bickle/Science data by Gabriel Popkin

11 / 133
What is a quantum computer like?

Image credits: IBM

The Sounds of IBM: IBM Q


12 / 133
Programming a quantum computer
• Different frameworks and programming languages:
• qasm
• Qiskit (IBM)
• Cirq (Google)
• Forest/pyqil (Rigetti)
• Q# (Microsoft)
• Ocean (D-Wave)
• ...
• Most of them for quantum circuit specification

Image credits: IBM

13 / 133
What are the elements of a quantum circuit?

• Every computation has three elements: data, operations


and results
• In quantum circuits:
• Data = qubits
• Operations = quantum gates (unitary transformations)
• Results = measurements

Image credits: Adobe Stock

14 / 133
Part II

One-qubit systems: one qubit to


rule them all

15 / 133
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

Image credits: https://prateekvjoshi.com/ 16 / 133


Measuring a qubit
• The way to know the value of a qubit is to perform a
measurement. However
• The result of the measurement is random
• When we measure, we only obtain one (classical) bit of
information
• If we measure the state |ψi = α |0i + β |1i we get 0 with
probability |α|2 and 1 with probability |β|2 .
• Moreover, the new state after the measurement will be |0i
or |1i depending of the result we have obtained
(wavefunction colapse)
• We cannot perform several independent measurements of
|ψi because we cannot copy the state (no-cloning
theorem)

17 / 133
What are quantum gates?

• Quantum mechanics tells us that the evolution of an


isolated state is given by the Schrödinger equation

• In the case of quantum circuits, this implies that the


operations that can be carried out are given by unitary
matrices. That is, matrices U of complex numbers verifying

UU † = U † U = I

where U † is the conjugate transpose of U.


• Each such matrix is a possible quantum gate in a quantum
circuit

18 / 133
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)

Image credits: wikipedia.org 19 / 133


One-qubit gates

• When we have just one qubit |ψi = α |0i + β |1i, we usually


 
α
represent it as a column vector
β
• Then, a one-qubit gate can be identified with a matrix
 
a b
U= that satisfies
c d
    
a b a c 1 0
=
c d b d 0 1

where a, b, c, d are the conjugates of complex numbers


a, b, c, d.

20 / 133
Action of a one-qubit gate

• A state |ψi = α |0i + β |1i is transformed into


    
a b α aα + bβ
=
c d β cα + dβ

that is, into the state |ψi = (aα + bβ) |0i + (cα + dβ) |1i
• Since U is unitary, it holds that

|(aα + bβ)|2 + |(cα + dβ)|2 = 1

21 / 133
The X or NOT gate

• The X gate is defined by the (unitary) matrix


 
0 1
1 0

• Its action (in quantum circuit notation) is

|0i X |1i

|1i X |0i
that is, it acts like the classical NOT gate
• On a general qubit its action is

α |0i + β |1i X β |0i + α |1i

22 / 133
The Z gate

• The Z gate is defined by the (unitary) matrix


 
1 0
0 −1

• Its action is
|0i Z |0i

|1i Z − |1i

23 / 133
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 / 133
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 / 133
The Bloch sphere

• A common way of representing the state of a qubit is by


means of a point in the surface of the Bloch sphere
• If |ψi = α |0i + β |1i with |α|2 + |β|2 = 1 we can find angles
γ, δ, θ such that
θ
α = eiγ cos
2
θ
β = eiδ sin
2
• Since an overall phase is physically irrelevant, we can
rewrite
θ θ
|ψi = cos |0i + eiϕ sin |1i
2 2
with 0 ≤ θ ≤ π and 0 ≤ ϕ < 2π.

26 / 133
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 θ)

Image credits: wikipedia.org


27 / 133
Rotation gates

• We can define the following rotation gates

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θ

• Notice that RX (π) ≡ X , RY (π) ≡ Y , RZ (π) ≡ Z ,


RZ ( π2 ) ≡ S, RZ ( π4 ) ≡ T

28 / 133
Using rotation gates to generate one-qubit gates

• For any one-qubit gate U there exist a unit vector


r = (rx , ry , rz ) and an angle θ such that

θ θ θ
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

U ≡ RZ (α)RY (β)RZ (γ)

29 / 133
Inner product, Dirac’s notation and Bloch sphere

• The inner product of two states |ψ1 i = α1 |0i + β1 |1i and


|ψ2 i = α2 |0i + β2 |1i is given by
 
 α2
hψ1 |ψ2 i = α1 β1 = α1 α2 + β 1 β 2
β2

• Notice that h0|0i = h1|1i = 1 and h0|1i = h1|0i = 0


• This allows us to compute

hψ1 |ψ2 i = α1 h0| + β1 h1| (α2 |0i + β2 |1i)
= α1 α2 h0|0i + α1 β2 h0|1i + β1 α2 h1|0i + β1 β2 h1|1i
= α1 α2 + β1 β2

• Orthogonal states are antipodal on the Bloch sphere

30 / 133
Hello, quantum world!

• Our very first quantum circuit!

|0i H

• After applying the H gate the qubit state is

|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 / 133
Part III

The BB84 protocol: Alice and Bob’s


hotline

32 / 133
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?

Image credits: nullprogram.com

33 / 133
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 / 133
BB84: Alice’s part

• In 1984, Charles Bennett and Gilles Brassard proposed


the first protocol for quantum key distribution (QKD)
• Alice generates a (private) string of random bits
• She could even do this with a quantum computer (H gate +
measure)
• Then, for each bit she randomly chooses if she encodes it
in the {|0i , |1i} basis or in the {|+i , |−i} basis (remember
that |+i = √1 (|0i + |1i) and |−i = √1 (|0i − |1i))
2 2
• She can easily do this by using H and X gates (recall that
H |0i = |+i , H |1i = |−i , X |0i = |1i , X |1i = |0i)
• Alice sends the resulting qubits to Bob (through a quantum
but not necessarily secure channel)

35 / 133
BB84: Bob’s part

• Each time Bob receives a qubit, he randomly decides


whether he will measure it in the {|0i , |1i} basis or in the
{|+i , |−i} basis
• He does this by applying (or not) the H gate before
measuring
• He writes down the results and the basis he used:
• If he used {|0i , |1i} he writes down 0 if he gets |0i and 1 if
he gets |1i
• If he used {|+i , |−i} he writes down 0 if he gets |+i and 1
if he gets |−i

36 / 133
BB84: Alice and Bob on the phone

• After this process, Alice and Bob talk on a classical


channel (authenticated but not necessarily secure)
• Bob announces the bases he has used for the
measurements and Alice announces the bases she used
to code the bits
• Bob does NOT announce the results of his measurements
• For those bits in which Bob measured with the same basis
that Alice used for coding, he has got the bit that Alice
intended to send
• The rest are discarded (they will keep about half of the bits)

37 / 133
BB84: The protocol in an image

Image credits: A. Carrasco-Casado, V. Fernández, N. Denisenko

38 / 133
Eve tries to intercept and resend...

• Imagine Eve has access to the qubits that Alice sends to


Bob
• Eve could try to measure and resend the qubit to Bob
• It is imposible for Eve to distinguish the four possibilities
{|0i , |1i , |+i , |−i} because she does not know the basis
that Alice has chosen
• If Eve chooses a basis at random, she will make an error
half of the time and Alice and Bob may detect it (by sharing
some of the bits of the key to check that they are equal)
• Eve cannot copy the qubits and wait to check the basis that
Alice and Bob have used (no cloning theorem)
• Other more complex attacks are possible, but can be
shown to fail

39 / 133
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)

Image credits: hikingandcoding.wordpress.com


40 / 133
QKD at CERN

Image credits: https://arxiv.org/pdf/1203.4940.pdf

41 / 133
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 )

Image credits: wikipedia.org

42 / 133
The quantum one-time pad

• The analagous of the one-time pad with quantum


operations would be to choose a ∈ {0, 1} at random and
encode |xi ∈ {|0i , |1i} as

X a |xi = |x ⊕ ai

• This cannot be extended to general qubits |ψi because


X |+i = |+i and X |−i ≡ |−i
• We need to choose two bits a and b at random and encode
|ψi as
Z b X a |ψi
• Bob can now recover |ψi by applying X a Z b
• It can be proved that this is unconditionally secure
• The QOTP is the basis of some blind quantum computing
protocols
43 / 133
Other protocols that use independent qubits
• The use of independent qubits does not fully exploit the
possibilities of quantum information, but there are some
additional interesting applications
• For instance:
• Other QKD protocols: B92, SARG04, Six-state protocol...
• The concept of quantum money (Wiesner)
• The Elitzur-Vaidman bomb tester
• Quantum position verification
• One-qubit classifier

Image credits: The American Association for the Advancement of Science


44 / 133
Part IV

Two-qubit systems: more than the


sum of their parts

45 / 133
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 / 133
Measuring a two-qubit system

• Suppose we have a state

|ψi = α00 |00i + α01 |01i + α10 |10i + α11 |11i


• If we measure both qubits, we will obtain:
• 00 with probability |α00 |2 and the new state will be |00i
• 01 with probability |α01 |2 and the new state will be |01i
• 10 with probability |α10 |2 and the new state will be |10i
• 11 with probability |α11 |2 and the new state will be |11i
• It is an analogous situation to what we had with one qubit,
but now with four possibilities

47 / 133
Measuring just one qubit in a two-qubit system
• If we have a state

|ψi = α00 |00i + α01 |01i + α10 |10i + α11 |11i

we can also measure just one qubit


• If we measure the first qubit (for the second one is
analogous):
• We will get 0 with probability |α00 |2 + |α01 |2
• In that case, the new state of |ψi will be

α00 |00i + α01 |01i


p
|α00 |2 + |α01 |2

• We will get 1 with probability |α10 |2 + |α11 |2


• In that case, the new state of |ψi will be

α10 |10i + α11 |11i


p
|α10 |2 + |α11 |2

48 / 133
Two-qubit states and vector representation
• A general two-qubit quantum state is

|ψi = α00 |00i + α01 |01i + α10 |10i + α11 |11i

• We can represent with the column vector


 
α00
α01 
 
α10 
α11

• We can compute inner products by noticing that

h00|00i = h01|01i = h10|10i = h11|11i = 1

h00|01i = h00|10i = h00|11i = · · · = h11|00i = 0


• A two-qubit quantum gate is a unitary matrix U of size 4 × 4
49 / 133
Tensor product of one-qubit gates
• The simplest way of obtaining a two-qubit gate is by having
a pair of one-qubit gates A and B acting on each of the
qubits
• In this case, the matrix for the two-qubit gate is the tensor
product A ⊗ B
• It holds that
(A ⊗ B)(|ψ1 i ⊗ |ψ2 i) = (A |ψ1 i) ⊗ (B |ψ2 i)
• Of course, either A or B may be the identity
• This does NOT exhaust all posible two-qubit gates

Image credits: wikipedia.org

50 / 133
The CNOT gate

• The CNOT (or controlled-NOT or cX ) gate is given by the


(unitary) matrix  
1 0 0 0
0 1 0 0
 
0 0 0 1
0 0 1 0
• If the first qubit is |0i, nothing changes. If it is |1i, we flip
the second bit (and the first stays the same)
• That is:
|00i → |00i |01i → |01i
|10i → |11i |11i → |10i

51 / 133
Action of the CNOT gate

• Its action on x, y ∈ {0, 1} is, then:

|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 / 133
Equivalences with CNOT gates

• Sometimes, CNOT gates are not implemented between all


pairs of qubits in a quantum computer
• We can use H gates to change the control and target of a
CNOT gate
H • H

H H

• We can swap states using three CNOT gates

• •

53 / 133
Constructing controlled gates by using the CNOT gate

• Any one-qubit gate U can be decomposed in the form

eiθ AXBXC

with ABC = I
• Then, the circuit

• • RZ (θ)

C B A

implements a U gate on the lower qubit controlled by the


upper qubit

54 / 133
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 / 133
Quantum entanglement: the spooky action at a
distance

• We say that a state |ψi is a product state if it can be written


in the form
|ψi = |ψ1 i |ψ2 i
where |ψ1 i and |ψ2 i are two states (of at least one qubit)
• An entangled state is a state that is not a product state
• Example of entangled states (Bell states):

|00i + |11i |00i − |11i


√ √
2 2
|01i + |10i |01i − |10i
√ √
2 2

56 / 133
Hello, entangled world!

• We can construct (and measure) Bell states with simple


circuits
|0i H •

|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 / 133
Hello, entangled world!

|0i H •

|0i

• Before we measure the first qubit, we have the state


|00i+|11i

2
• We will get 0 or 1, each with probability 21
• Suppose we obtain 0. Then, the new state will be |00i
• Then, when we measure the second qubit we will obtain 0
with probability 1!
• Also, if we obtain 1 in the first qubit, in the second we will
also obtain 1!

58 / 133
Part V

The CHSH game: Nature isn’t


classical, dammit

59 / 133
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

Image credits: quantumcomputing.stackexchange.com

60 / 133
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

Image credits: Ryan O’Donnell

61 / 133
Quantum strategy for the CHSH game

• Alice and Bob share a Bell pair |00i+|11i


√ before the start of
2
the game
• If Alice receives 0, she measures her qubit and ouputs the
result
• If she receives 1, she applies RY ( π2 ) to her qubit and then
she measures it
• If Bob receives 0, he applies RY ( π4 ). Else, he applies
RY (− π4 ).
• Then, he measures his qubit
• The probability of winning is now cos2 ( π8 ) ≈ 0.85 > 0.75

|0i H • RY ( π2 )

|0i RY ( π4 )

62 / 133
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

Image credits: George Stamatiou based on png file of C.Thompson

63 / 133
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 / 133
Part VI

Quantum teleportation and


superdense coding: entangled up in
blue

65 / 133
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

Image credits: www.geeksaresexy.net

66 / 133
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 / 133
Quantum teleportation: Bob’s part

• Bob uses the second bit received from Alice to decide if he


applies X to his qubit
• And he uses the first bit to decide if he applies Z

Image credits: ProjectQ

68 / 133
Quantum teleportation: some comments

• It is not matter that is teleported but information


• When Alice measure her qubit, she looses it (if not, we
would be contradicting the no-cloning theorem)
• To teleport a qubit, we need two classical bits and one
entangled pair:

2bits + 1ebit ≥ 1qubit

• Teleportation is not instantaneous, we need classical


communication (no-communication theorem)
• Quantum teleportation has been shown experimentally
(current record is 1,400 km)
• Demonstration of quantum teleportation in Quirk

69 / 133
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 / 133
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 / 133
Superdense coding: two for the price of one (more or
less)

• As we have seen, in the presence of a Bell pair, we can


send a qubit with just two classical bits
• But... how many classical bits can we communicate with
one qubit?
• Holevo’s bound: the accesible information of one qubit is
just one bit
• However, if Alice and Bob share in advance a Bell pair...
we can send two bits of information with just one qubit!

1qubit + 1ebit ≥ 2bits

• This protocol is, in some sense, the inverse of quantum


teleportation

72 / 133
Superdense coding: Alice’s part

• Alice and Bob share a Bell pair in advance √1 (|00i + |11i)


2
• Alice wants to send to Bob two classical bits b1 and b2
• If b2 = 1, she applies X to her qubit
• If b1 = 1, she applies Z to her qubit
• Then, she sends her qubit to Bob

Image credits: www.quantum-bits.org

73 / 133
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

Image credits: www.quantum-bits.org

74 / 133
Superdense coding: an example

• Suppose Alice wants to send 11


• We start with √1 (|00i + |11i)
2
• After Alice’s operations, we will have √1 (|01i − |10i)
2
• When Bob applies CNOT he obtains

1 1
√ (|01i − |11i) = √ (|0i − |1i) |1i
2 2
• And with the H gate he gets |11i that now he can measure

75 / 133
Part VII

Deutsch’s algorithm: the


grandfather of all quantum
algorithms

76 / 133
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 / 133
Deutsch’s algorithm: the oracle

• An oracle is treated as a black box, a circuit whose interior


we cannot know
• This circuit computes, in a reversible way, a certain
function f (in our case, of just one input)
• For the computation to be reversible, it uses as many
inputs as outputs and “writes the result” with an XOR

|xi |xi
Of
|y i |y ⊕ f (x)i

78 / 133
Deutsch’s algorithm: the circuit

• The quantum circuit that we need to use to solve the


problem is very simple

|0i H H
Of
|1i H

• If the function is constant, we will measure 0


• If the function is balanced, we will measure 1

79 / 133
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 / 133
Deutsch’s algorithm: the magic (2)

|0i H H
Of
|1i H

• If f (0) = 0, we have

|0 ⊕ f (0)i − |1 ⊕ f (0)i = |0i − |1i

• However, if f (0) = 1 we get

|0 + f (0)i−|1 ⊕ f (0)i = |0 ⊕ 1i−|1 ⊕ 1i = |1i−|0i = −(|0i−|1i)

• For f (1) the situation is the same so the global state is

(−1)f (0) |0i (|0i − |1i) (−1)f (1) |1i (|0i − |1i)
+
2 2

81 / 133
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 / 133
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)

Image credits: Wikipedia

83 / 133
Part VIII

Multiqubit systems: growing up!

84 / 133
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:

|00 . . . 0i , |00 . . . 1i , . . . , |11 . . . 1i

or simply
|0i , |1i , . . . , 2n − 1

• A generic state of the system will be

|ψi = α0 |0i + α1 |1i + . . . + α2n −1 2n − 1


where αi are complex numbers such that


n −1
2X
|αi |2 = 1
i=0

85 / 133
Measuring a n-qubit state

• Suppose we have the n-qubit state

|ψi = α0 |0i + α1 |1i + . . . + α2n −1 2n − 1


• If we measure all its qubits, we obtain:


• 0 with probability |α0 |2 and the new state will be |0 . . . 00i
• 1 with probability |α1 |2 and the new state will be |0 . . . 01i
• ...
• 2n − 1 with probability |α2n −1 |2 and the new state will be
|1 . . . 11i
• It is analogous to what we had with one and two qubits, but
now with 2n possibilities

86 / 133
Measuring one qubit in a n-qubit state

• We have

|ψi = α0 |0i + α1 |1i + . . . + α2n −1 2n − 1


• If we measure the j-th qubit


• We will get 0 with probability
X
|αi |2
i∈I0

where I0 is the set of numbers whose j-th bit is 0


• In that case, the new state |ψi will be
P
i∈I0 αi |ii
qP
2
i∈I0 |αi |

• The case in which we obtain 1 is analogous

87 / 133
n-qubit quantum gates
• A n-qubit state is

|ψi = α0 |0i + α1 |1i + . . . + α2n −1 2n − 1


• We can represent it by the column vector


 
α0
 α1 
 
 α2 
 
 .. 
 . 
α2n −1

• To compute inner products with Dirac notation we only


need to note that
hi|ji = δij
• Thus, a n-qubit quantum gate is a unitary matrix U of size
2n × 2n
88 / 133
The Toffoli gate

• The Toffoli gate (or CCNOT ) is a 3-qubit gate. Thus, it can


be represented as a 8 × 8 matrix
• Its action on elements x, y, z ∈ {0, 1} 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 / 133
Universal gates in quantum computing

• The number of quantum gates (even for a single qubit) is


uncountably infinite. Thus, no finite set of gates is universal
in the classical sense
• However, we can obtain finite sets of gates that allow us to
approximate any other gate as much as we want

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 / 133
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

However, Z , S, Y , S † and T † are usually included among the


available gates in most quantum computers (such as the ones
in the IBM Q Experience).

91 / 133
Equivalence of the Toffoli gate

H T† T T† T H

• • T T†

• • • T •

92 / 133
Part IX

Everything you always wanted to


know about quantum parallelism but
were afraid to ask

93 / 133
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!)

Image credits: The Talk, by Scott Aaronson and Zach Weinersmith

94 / 133
Evaluating a function: querying the oracle

• As we know, in quantum computing every gate is reversible


• To compute a function f we keep the inputs unchanged
and xor the result to the output qubits
• This type of circuit is called and oracle for f (we have
already used an oracle for a one-bit function in Deutsch’s
algorithm)

 
 

 
|xi |xi

 Of 

|yi |y ⊕ f (x)i

95 / 133
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 / 133
Evaluating a function in parallel: the tensor-product
abracadabra

• We can do something similar with a function


f (x1 , x2 , . . . , xn ) on n-variables by using the following circuit
H




|0i⊗n H


 Of
H
|0i

• When we apply the H gates we obtain

(|0i + |1i)(|0i + |1i) · · · (|0i + |1i) |0i



2n

97 / 133
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 / 133
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 / 133
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 / 133
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 / 133
Part X

The Deutsch-Jozsa algorithm: a


very fast way of solving a problem
that nobody asked to solve

102 / 133
Reminder: Deutsch’s algorithm

• We have an oracle Of for a boolean function f (x)


• f can be constant (returns the same value for all inputs) or
balanced (returns 1 on one input and 0 on the other)
• Distinguishing one situation from the other requires, in the
classical case, evaluating the function on the two possible
inputs
• With a quantum computer, we can solve the problem with
just one call to Of
• The key is to use quantum parallelism together with
interference
|0i H H
Of
|1i H

103 / 133
Upping the ante: the Deutsch-Jozsa algorithm

• The Deutsch-Jozsa algorithm solves a type of problem


called promise problem
• We are given a boolean function f (x1 , . . . , xn )
• We are promised that f is either constant (always 0 or 1) or
balanced (0 for half of the inputs and 1 for the rest)
• We have to decide which of the two cases we are in by
calling the function as few times as possible
• With a classical deterministic algorithm we need (in the
worst case) 2n−1 + 1 calls to f
• With the Deutsch-Jozsa quantum algorithm it is enough to
evaluate f just once

104 / 133
Circuit for the Deutsch-Jozsa algorithm

H H





|0i⊗n H H
Of




H H
|1i H

105 / 133
Steps in the Deutsch-Jozsa algorithm

1 We create the state |0 . . . 0i |1i


2 We use Hadamard gates to create the superposition
X 1
√ |xi (|0i − |1i)
x∈{0,1}n
2n+1

3 We apply the oracle, getting


X 1
√ |xi (|0 ⊕ f (x)i − |1 ⊕ f (x)i) =
x∈{0,1}n
2n+1

X (−1)f (x)
√ |xi (|0i − |1i)
x∈{0,1}n
2n+1

106 / 133
Steps in the Deutsch-Jozsa algorithm (2)

4 We apply again Hadamard gates to the n first qubits and


we obtain
X X (−1)f (x)+x·y
√ |yi (|0i − |1i)
y∈{0,1}n x∈{0,1}n
2n 2

5 Finally, we measure the n first qubits.


6 If the function is constant, we will obtain |0i. Otherwise (if
the function is balanced), we will get a string different from
|0i.

107 / 133
Correctness of the algorithm

• The probability of measuring |0i is exactly


 2  2

X (−1)f (x)+x·0  =
X (−1)f (x) 
2n 2n
x∈{0,1}n x∈{0,1}n

• If f is constant, the sum is 1


• If f is balanced, the sum is 0

108 / 133
Some comments on the Deutsch-Jozsa algorithm

• The problem we have solved is academical, with no


practical interest
• But... it shows how quantum computing can obtain global
information about a function with just one evaluation
• The key is to use:
• Quantum parallelism (because of superposition)
• Interference (constructive and destructive)
• Similar ideas are used in other algorithms, like the
Bernstein-Vazirani and Simon methods

109 / 133
Part XI

Grover’s algorithm: finding the


needle in the haystack

110 / 133
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

Image credits: Downloaded from www.usnewsglobaleducation.com

111 / 133
The oracle

• As in Deutsch-Jozsa’s algorithm, we will use an oracle


• This oracle computes the function f : {0, 1}n ⇒ {0, 1} (with
N = 2n )
• The element we want to find is the one that verifies
f (x) = 1
 
 

|xi  |xi
Of  

|yi |y ⊕ f (x)i

112 / 133
The idea behind the algorithm

• Grover’s algorithm is based on the idea of inversion about


the mean

Image credits: quantumcomputing.stackexchange.com

113 / 133
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 / 133
Grover’s algorithm as a rotation

• Let us denote by |x1 i the marked element


• Then, the initial state of the upper n qubits is
r r
N −1 1
|x0 i + |x1 i
N N
where r
X 1
|x0 i = |xi
N −1
x∈{0,1}n ,x6=x1

• We can choose θ ∈ (0, π2 ) such that


r r
N −1 1
cos θ = sin θ =
N N

115 / 133
Grover’s algorithm as a rotation (2)

• Define D to be Grover’s diffusion operator and G = DOf


• It can be shown that G acts on the 2-dimensional space
spawned by |x0 i and |x1 i as a rotation of angle 2θ
• That is
G |x0 i = cos 2θ |x0 i + sin 2θ |x1 i
G |x1 i = − sin 2θ |x0 i + cos 2θ |x1 i
r
X 1
|x0 i = |xi
n
N −1
x∈{0,1} ,x6=x1

• Since the initial state is cos θ |x0 i + sin θ |x1 i, after m


iterations we will have

cos (2m + 1)θ |x0 i + sin (2m + 1)θ |x1 i

116 / 133
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 / 133
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 / 133
The case with unknown number of marked elements

• If we do not know how many elements are marked, we can


still user Grover’s algorithm
• We can use Grover’s circuit combined with the Quantum
Fourier Transform to estimate k
• Or we can choose m at random.lFor instance:
√ m
• Uniformly from the set {0, . . . , N +1 }
• With an incremental scheme, starting with an upper√bound
for m of b = 1 and increasing it exponentially up to N
• In all the cases, it can be shown that a√marked element will
be found with high probability with O( N) queries to the
oracle

119 / 133
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 / 133
Part XII

Shor’s algorithm: breaking the


Internet

121 / 133
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)

Image credits: Jose-Luis Olivares/MIT 122 / 133


Steps of Shor’s algorithm

1 Given N, check that N is not a prime or power of a prime. If


it is, stop.
2 Choose 1 < a < N at random
3 If b = gcd(a, N) > 1, output b and stop
4 Find the order of a mod N, that is, r > 0 such that ar ≡ 1
mod N
5 If r is odd, go to 2
6 Compute
r
x = a2 + 1 mod N
r
y = a − 1 mod N
2

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 / 133
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

• This means that x · y is a multiple of N


• Since neither x nor y are multiples of N, either p or q
divides N
• It can be proved that step 8 will be reached with high
probability

124 / 133
Implementation of Shor’s algorithm

• Every step but number 4 are carried out on a classical


computer (efficient algorithms exist)
• For step 4, there exists a quantum circuit with a number of
gates that is polynomial on n (the number of bits of N)

|0i H ··· •
.. .. ..
. . .
QFT†m
|0i H • ···

|0i H • ···

|1i /n Ua2
0
Ua2
1
··· m−1
Ua2

125 / 133
Preparing a periodic sequence

• The first part of the circuit computes


m
2 −1
1 X
√ |xi |ax mod Ni
2m x=0

• When we measure the bottom qubits, we obtain

1 X
p |xi |ci
|C| x∈C

where c is some value in {0, . . . , N − 1} and C = {x : ax


mod N = c}.

126 / 133
Preparing a periodic sequence (2)

• For example, if a = 2, N = 5, m = 4, we would have

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 / 133
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

Image credits: Umesh Vazirani


128 / 133
Quantum Fourier Transform: definition and circuit
• The QFT of order m is the unitary transformation defined
by
2m −1
1 X 2πijk
QFT |ji = √ e 2m |k i
2m k=0
• The circuit in the figure implements the QFT
• The Rk gates in the circuit are what we call RZ ( 2πk )
2
• The number of gates is quadratic in m, an exponential
speed-up over the classical case (FFT)
• For Shor, m can be chosen to be about 2n

Image credits: Jurgen Van Gael

129 / 133
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 θ

Image credits: Wikipedia

130 / 133
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

where r is the period of a


• It is not easy to prepare one of the eigenvectors |ψk i of the
unitary operation
• But we use the fact that
r −1
1 X
|1i = √ |ψk i
r k=0

• We will then measure a value close to 2m k


r for some k
131 / 133
Using quantum phase estimation to count the number
of marked elements
• We can use Grover’s algorithm together with the QFT to
count the number of elements marked by a boolean
function
• The eigenvalues of Grover’s operator are e±2iθ where
q
sin θ = Nk
• Then, with quantum phase estimation we can recover k,
the number of marked elements

Image credits: Wikipedia

132 / 133
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)

Image credits: Niel de Beaudrap


133 / 133

You might also like