introduction to quantum information processing › ~cleve › courses › f11cs667 › ... · 1...

34
1 Introduction to Introduction to Quantum Information Processing Quantum Information Processing CS 467 / CS 667 CS 467 / CS 667 Phys 667 / Phys 767 Phys 667 / Phys 767 C&O 481 / C&O 681 C&O 481 / C&O 681 Richard Cleve DC 2117 [email protected] Lecture 7 (2008)

Upload: others

Post on 05-Jul-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

1

Introduction to Introduction to Quantum Information ProcessingQuantum Information Processing

CS 467 / CS 667CS 467 / CS 667Phys 667 / Phys 767Phys 667 / Phys 767C&O 481 / C&O 681C&O 481 / C&O 681

Richard Cleve DC [email protected]

Lecture 7 (2008)

Page 2: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

2

Definition of the quantum Fourier transform (QFT)

Page 3: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

3

Quantum Fourier transformQuantum Fourier transform

⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢

=

−−−−

2113121

13963

12642

132

1

111

11111

1

)()()(

)(

)(

NNNN

N

N

N

ωωωω

ωωωωωωωωωωωω

NNF

L

MOMMMM

K

L

L

K

where ω = e2πi/N (for n qubits, N = 2n)

This is unitary and F2 = H, the Hadamard transform

This generalization of H is an important component of several interesting quantum algorithms …

Page 4: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

4

Discrete log problem

Page 5: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

5

Discrete logarithm problem (Discrete logarithm problem (DLPDLP))Input: p (prime), g (generator of Z*p), a ∈ Z*p

Output: r ∈ Zp−1 such that g r mod p = a

Example: p = 7, Z*7 = {1, 2, 3, 4, 5, 6} = {30, 32, 31, 34, 35, 33} (hence 3 is a generator of Z*7)

For a = 6, since 33 = 6, the output should be r = 3

Note: No efficient classical algorithm for DLP is known (and cryptosystems exist whose security is predicated on the computational difficulty of DLP)

Efficient quantum algorithm for DLP? (Hint: it can be made to look like Simon’s problem!)

Page 6: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

6

Quantum algorithm for Quantum algorithm for DLPDLP (1)(1)Clever idea (of Shor): define f : Zp−1× Zp−1 Z*p as f (x1 , x2) = g x1 a−x2 mod p (can be efficiently computed)

We know a = g r for some r, so f (x1 , x2) = g x1 − rx2 mod p

When is f (x1 , x2) = f (y1, y2)?

Thus, f (x1 , x2) = f (y1, y2) iff x1− rx2 ≡ y1 − ry2 (mod p− 1)

iff (x1, x2)⋅(1, − r) ≡ (y1, y2)⋅(1, − r) (mod p− 1)

iff ((x1, x2)− (y1, y2))⋅(1, − r) ≡ 0 (mod p− 1)

iff (x1, x2)− (y1, y2) ≡ k(r, 1) (mod p− 1)

Zp−1× Zp−1

(1,− r)

(r, 1)

Recall Simon’s: f(x) = f(y) iff x−y = kr (mod 2)

Page 7: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

7

Quantum algorithm for Quantum algorithm for DLPDLP (2)(2)f : Zp−1× Zp−1 Z*p defined as f (x1 , x2) = g x1 a−x2 mod p

f (x1 , x2) = f (y1, y2) iff (x1 , x2)− (y1, y2) ≡ k(r, 1) (mod p− 1)

Recall Simon’s: f(x) = f(y) iff x−y = kr (mod 2)

fF

|0⟩

|0⟩F|0⟩

|0⟩

F†

F† result is a random (s , t) such that (s , t)⋅(r, 1) ≡ 0 (mod p− 1)

if gcd(s, p− 1) = 1 then r can be computed as r = − ts−1 mod p− 1

Why?

Why?Details need to be filled in, but this is a sketch of how to efficiently solve DLP on a quantum computer

Page 8: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

8

Introduction to Introduction to Quantum Information ProcessingQuantum Information Processing

CS 467 / CS 667CS 467 / CS 667Phys 667 / Phys 767Phys 667 / Phys 767C&O 481 / C&O 681C&O 481 / C&O 681

Richard Cleve DC [email protected]

Lecture 8 (2008)

Page 9: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

9

Computing the QFTfor N = 2n

Page 10: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

10

Computing the Computing the QFTQFT for for N = 2n (1)(1)

H

4

8 4

816 4

32 16 8 4

H

H

H

H

⎥⎦

⎤⎢⎣

⎡−

=1111

21

⎥⎥⎥⎥

⎢⎢⎢⎢

=

mπie /2000010000100001

Hm

Quantum circuit for F32:

Gates:

For F2n costs O(n2) gates

reverse order

Page 11: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

11

Computing the Computing the QFTQFT for for N = 2n (2)(2)

One way on seeing why this circuit works is to first note that

F2n|a1a2…an⟩

= (|0⟩+e2πiφ(0.an)|1⟩)…(|0⟩+e2πiφ(0.a2…an)|1⟩)(|0⟩+e2πiφ(0.a1a2…an)|1⟩)

It can then be checked that the circuit produces these states (with qubits in reverse order) for all computational basis states |a1a2…an⟩

Exercise: (a) prove the above equation from the definition of the QFT; (b) confirm that the circuit produces these states

Page 12: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

12

ContentsContents

Loose ends in thediscrete log algorithm

Page 13: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

13

Quantum algorithm for Quantum algorithm for DLPDLP (3)(3)Input: p (n-bit prime), g (generator of Z*p), a ∈ Z*p

Output: r ∈ Zp−1 such that g r mod p = a

Example: p = 7, Z*7 = {1, 2, 3, 4, 5, 6} = {30, 32, 31, 34, 35, 33} (hence 3 is a generator of Z*7)

Define f : Zp−1× Zp−1 Z*p as f (x , y) = gx a−y mod p

Then f (x1 , x2) = f (y1, y2) iff (x1 , x2)− (y1, y2) ≡ k(r, 1) (mod p− 1)

fF

|0⟩

|0⟩F|0⟩

|0⟩

F†

F†produces a random (s , t) such that (s , t)⋅(r, 1) ≡ 0 (mod p− 1)

sr + t ≡ 0 (mod p− 1)

(for some k)

Page 14: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

14

Quantum algorithm for Quantum algorithm for DLPDLP (4)(4)

fF

|0⟩

|0⟩F|0⟩

|0⟩

F†

F† produces a random (s , t) such that sr + t ≡ 0 (mod p− 1)

If gcd(s, p− 1) = 1 then r can be computed as r = − ts−1 mod p−1

The probability that this occurs is φ(p−1)/(p−1), where φ is Euler’s totient function

It is known that φ(N) = Ω(N/ loglogN), which implies that the above probability is at least Ω(1/ loglog p) = Ω(1/ log n)Therefore, O( log n) repetitions are sufficient

… this is not bad—but things are actually better than that …

Page 15: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

15

Quantum algorithm for Quantum algorithm for DLPDLP (5)(5)We obtain a random (s , t) such that sr + t ≡ 0 (mod p− 1)

Therefore, a constant number of repetitions suffices

Note that each s ∈ {0,…, p− 2} occurs with equal probability

Therefore, if we run the algorithm twice: we obtain two independent samples s1, s2 ∈ {0,…,p− 2}

Question: what is the probability that gcd(s1,s2) = 1?

[ ] [ ] ∑∑ >−>−prime

22prime

1 54011PrPr1qq

.q

s|qs|q

If it happens that gcd(s1,s2) = 1 then (by Euclid) there exist integers a and b such that as1 + bs2 = 1 r = − (at1 + bt2)

Page 16: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

16

Quantum algorithm for Quantum algorithm for DLPDLP (6)(6)Another loose end: our algorithm uses QFTs modulo p− 1, whereas we have only seen how to compute QFTs modulo 2n

A variation of our QFT algorithm would work for moduli of the form 3n, and, more generally, all smooth numbers (those that are products of “small” primes)

⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢

−−−−

2113121

13963

12642

132

ωωωω1

ωωωω1ωωωω1ωωωω1

11111

1

)N()N()N(N

)N(

)N(

N

N

L

MOMMMM

K

L

L

K H4

8 4

816 4

32 16 8 4

H

HH

H

Page 17: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

17

Quantum algorithm for Quantum algorithm for DLPDLP (7)(7)

Shor just used a modulus close to p− 1, and, using careful error-analysis, showed that this was good enough ...

In fact, for the case where p− 1 is smooth, there already exist polynomial-time classical algorithms for discrete log!

It’s only the case where p− 1 is not smooth that is interesting

There are also ways of attaining good approximations of QFTs for arbitrary moduli—which we will see later on (so this loose end is not yet resolved)

Page 18: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

18

On simulating black boxes

Page 19: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

19

How How notnot to simulate a black boxto simulate a black boxGiven an explicit function, such as f (x) = g x1 a−x2 mod p, over some finite domain, simulate f-queries over that domain

Easy to compute mapping |x⟩|y⟩|00...0⟩ |x⟩|y⊕f (x)⟩|g(x)⟩, where the third register is “work space” with accumulated “garbage” (e.g., two such bits arise when a Toffoli gate is used to simulate an AND gate)

If f is queried in superposition then the resulting state can be Σx αx |x⟩|y⊕f (x)⟩|g(x)⟩ can we just discard the third register?

No ... there could be entanglement ...

This works fine as long as f is not queried in superposition

Page 20: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

20

How How toto simulate a black boxsimulate a black boxSimulate the mapping |x⟩|y⟩|00...0⟩ |x⟩|y⊕f (x)⟩|00...0⟩, (i.e., clean up the “garbage”)

To do this, use an additional register and:1. compute |x⟩|y⟩|00...0⟩|00...0⟩ |x⟩|y⟩|f (x)⟩|g(x)⟩

(ignoring the 2nd register in this step)2. compute |x⟩|y⟩|f (x)⟩|g(x)⟩ |x⟩|y⊕f (x)⟩|f (x)⟩|g(x)⟩

(using CNOT gates between the 2nd and 3rd registers)3. compute |x⟩|y⊕f (x)⟩|f (x)⟩|g(x)⟩ |x⟩|y⊕f (x)⟩|00...0⟩|00...0⟩

(by reversing the procedure in step 1)

Total cost: around twice the classical cost of computing f, plus n auxiliary gates

Page 21: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

21

The “hidden subgroup” framework

Page 22: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

22

Hidden subgroup problem (1)Hidden subgroup problem (1)Let G be a known group and H be an unknown subgroup of G

Let f : G T have the property f (x) = f (y) iff x− y∈ H (i.e., x and y are in the same right coset of H )

Problem: given a black-box for computing f, determine H

Example 1: G = (Z2)n (the additive group) and H = {0,r}

Example 2: G = (Zp−1)2 and H = {(0,0), (r,1), (2r,2), …, ((p−2)r, p−2)}

Example 3: G = Z and H = rZ(Shor’s factoring algorithm can be viewed this way)

Page 23: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

23

Hidden subgroup problem (2)Hidden subgroup problem (2)Example 4: G = Sn (the symmetric group, consisting of all permutations on n objects—which is not abelian) and H is any subgroup of G

A quantum algorithm for this instance of HSP would lead to an efficient quantum algorithm for the graph isomorphism problem …

… yet no efficient quantum has been found for this instance of HSP, despite significant effort by many people

Page 24: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

24

Introduction to Introduction to Quantum Information ProcessingQuantum Information Processing

CS 467 / CS 667CS 467 / CS 667Phys 667 / Phys 767Phys 667 / Phys 767C&O 481 / C&O 681C&O 481 / C&O 681

Richard Cleve DC [email protected]

Lecture 9 (2008)

Page 25: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

25

Eigenvalue estimation problem(a.k.a. phase estimation)

Note: this is a major component of Shor’s factoring algorithm

Page 26: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

26

A simplified exampleA simplified exampleU is an unknown unitary operation on n qubits

|ψ⟩ is an eigenvector of U, with eigenvalue λ = +1 or –1

Output: the eigenvalue λ

Input: a black-box for a controlled-U

U n qubitsand a copy of the state |ψ⟩

Exercise: solve this making a single query to the controlled-U

Page 27: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

27

GeneralizedGeneralized controlledcontrolled--UU gatesgates

⎥⎦

⎤⎢⎣

⎡U

I0

0

U

|a⟩

|b⟩

|a⟩

Ua|b⟩

|a1⟩

U

:|am⟩

|a1⟩:

|am⟩

|b1⟩:

|bn⟩Ua1 …am |b⟩

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

−12

2

000

000000000

m

U

UU

I

L

MOMMM

L

L

L

Example: |1101⟩|0101⟩ |1101⟩U 1101|0101⟩

Page 28: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

28

EigenvalueEigenvalue estimation problemestimation problemU is a unitary operation on n qubits

|ψ⟩ is an eigenvector of U, with eigenvalue e2πiφ

(0 ≤ φ < 1)

Output: φ (m-bit approximation)

Input: black-box for

U n qubits

m qubitsand a copy of |ψ⟩

Page 29: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

29

Algorithm for Algorithm for eigenvalueeigenvalue estimation (1)estimation (1)

U|ψ⟩

HHH

|0⟩|0⟩

Starts off as:|0⟩

(|0⟩ + |1⟩) (|0⟩ + |1⟩) …(|0⟩ + |1⟩) |ψ⟩= (|000⟩ + |001⟩ + |010⟩ + |011⟩ + … + |111⟩) |ψ⟩= (|0⟩ + |1⟩ + |2⟩ + |3⟩ + … + |2m −1⟩) |ψ⟩

|00 … 0⟩|ψ⟩

(|0⟩+e2πiφ|1⟩+ (e2πiφ)2|2⟩+ (e2πiφ)3|3⟩+…+ (e2πiφ)2m−1|2m−1⟩) |ψ⟩

|a⟩|b⟩ |a⟩Ua|b⟩

|ψ⟩

( )∑−

=

12

0

2m

x

xi xe φπ

Page 30: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

30

Algorithm for Algorithm for eigenvalueeigenvalue estimation (2)estimation (2)

U|ψ⟩

HHH

|0⟩|0⟩|0⟩

|ψ⟩

( )∑−

=

12

0

2m

x

xi xe φπ

⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢

−−−−−−−−

−−−−−

−−−−−

−−−−−

=−

2)1()1(3)1(2)1(

)1(3963

)1(2642

)1(321

1

111

11111

11

MMMM

M

M

M

MMFωωωω

ωωωωωωωωωωωω

L

MOMMMM

K

L

L

K

When φ = 0.a1a2…am : ( )∑−

=

=12

0

221

m

x

ximM xeaaaF φπK

Therefore, applying the inverse of FM

yields the digits of φ

Page 31: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

31

Algorithm for Algorithm for eigenvalueeigenvalue estimation (3)estimation (3)

If φ = 0.a1a2…am then the aabove procedure yields |a1a2…am⟩ (from which φ can be deduced exactly)

What φ if is not of this nice form?

Example: φ = ⅓ = 0.0101010101010101…

U|ψ⟩

HHH

|0⟩|0⟩|0⟩

|ψ⟩FM

|a1a2…am⟩–1

Page 32: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

32

Algorithm for Algorithm for eigenvalueeigenvalue estimation (4)estimation (4)What if φ is not of the nice form φ = 0.a1a2…am?Example: φ = ⅓ = 0.0101010101010101…

Let’s calculate what the previously-described procedure does:

( ) ( )∑−

=

−12

0

21m

x

xiM xeF φπ ∑ ∑

=

=

−=12

0

12

0

222

21 m m

m

y x

xiyixm yee φππ

∑ ∑−

=

=

⎟⎠⎞

⎜⎝⎛ +

−=12

0

12

0

22

22

21 m m

mm

y x

xaiyix

m yeeδπ

π

Let a/2m = 0.a1a2…am be an m-bit approximation of φ, in the sense that φ = a/2m + δ , where |δ| ≤ 1/2m+1

( )∑ ∑−

=

=

−=12

0

12

0

222

21 m m

m

y x

xixyaim yee δππ

What is the amplitude of|a1a2…am⟩ ?

Page 33: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

33

Algorithm for Algorithm for eigenvalueeigenvalue estimation (5)estimation (5)geometric

series!

The amplitude of |y⟩ , for y = a is ∑−

=

12

0

2

21 m

x

xim e δπ

( )∑ ∑−

=

=

−12

0

12

0

222

21 m m

m

y x

xixyaim yee δππState is:

( )δπ

δπ

i

i

m ee

m

2

22

11

21

−−

=

Numerator:1e2πiδ

lower bounded by 2πiδ2m(2/π) > 4δ2m

Denominator:1

e2πiδ2m

upper bounded by 2πδ

Therefore, the absolute value of the amplitude of |y⟩ is at least the quotient of (1/2m)(numerator/denominator), which is 2/π

Page 34: Introduction to Quantum Information Processing › ~cleve › courses › F11CS667 › ... · 1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 667 / Phys 767

34

Algorithm for Algorithm for eigenvalueeigenvalue estimation (6)estimation (6)Therefore, the probability of measuring an m-bit approximation of φ is always at least 4/π2 ≈ 0.4

For example, when φ = ⅓ = 0.01010101010101… , the outcome probabilities look roughly like this:

4π2

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1000 1101 1110 1111

φ