0% found this document useful (0 votes)
62 views

PIQC Lecture 3

The document provides an introduction to quantum computing concepts including: 1) Qubits can exist in superpositions of states unlike classical bits which are either 0 or 1. 2) Quantum gates perform unitary transformations on qubits and include operations like NOT, Z, and Hadamard. 3) Measuring a qubit causes wavefunction collapse and yields a random classical bit value.

Uploaded by

Philippe Deniel
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
62 views

PIQC Lecture 3

The document provides an introduction to quantum computing concepts including: 1) Qubits can exist in superpositions of states unlike classical bits which are either 0 or 1. 2) Quantum gates perform unitary transformations on qubits and include operations like NOT, Z, and Hadamard. 3) Measuring a qubit causes wavefunction collapse and yields a random classical bit value.

Uploaded by

Philippe Deniel
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 100

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 / 100
I, for one, welcome our new quantum overlords

Image credits: sciencenews.org


3 / 100
Philosophy of the course

Image credits: Modified from an Instagram image by Bob MacGuffie

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


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

Image credits: Created with wordclouds.com

7 / 100
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 / 100
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 / 100
Quantum and classical computational complexity

Image credits: wikipedia.org

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

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

11 / 100
What is a quantum computer like?

Image credits: IBM

The Sounds of IBM: IBM Q


12 / 100
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 / 100
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 / 100
Part II

One-qubit systems: one qubit to


rule them all

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


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


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

The BB84 protocol: Alice and Bob’s


hotline

32 / 100
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 / 100
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 / 100
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 / 100
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 / 100
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 / 100
BB84: The protocol in an image

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

38 / 100
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 / 100
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 / 100
QKD at CERN

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

41 / 100
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 / 100
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 / 100
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 / 100
Part IV

Two-qubit systems: more than the


sum of their parts

45 / 100
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 / 100
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 / 100
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 / 100
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 / 100
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 / 100
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 / 100
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 / 100
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 / 100
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 / 100
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 / 100
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 / 100
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 / 100
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 / 100
Part V

The CHSH game: Nature isn’t


classical, dammit

59 / 100
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 / 100
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 / 100
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 / 100
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 / 100
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 / 100
Part VI

Quantum teleportation and


superdense coding: entangled up in
blue

65 / 100
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 / 100
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 / 100
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 / 100
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 / 100
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 / 100
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 / 100
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 / 100
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 / 100
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 / 100
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 / 100
Part VII

Deutsch’s algorithm: the


grandfather of all quantum
algorithms

76 / 100
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 / 100
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 / 100
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 / 100
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 / 100
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 / 100
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 / 100
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 / 100
Part VIII

Multiqubit systems: growing up!

84 / 100
n-qubit systems
• Each of the n qubits 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 / 100
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 / 100
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 / 100
n-qubit quantum gates
• A n-qubit state is

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


• We can represent it by
 
α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 / 100
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 / 100
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 / 100
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 / 100
Equivalence of the Toffoli gate

H T† T T† T H

• • T T†

• • • T •

92 / 100
Part IX

Everything you always wanted to


know about quantum parallelism but
were afraid to ask

93 / 100
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 / 100
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 / 100
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 / 100
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 / 100
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 / 100
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 99 / 100
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 100 / 100

You might also like