Toward the first quantum simulation with quantum speedup Andrew - - PowerPoint PPT Presentation

toward the first quantum simulation with quantum speedup
SMART_READER_LITE
LIVE PREVIEW

Toward the first quantum simulation with quantum speedup Andrew - - PowerPoint PPT Presentation

Toward the first quantum simulation with quantum speedup Andrew Childs University of Maryland Dmitri Maslov Yuan Su Yunseong Nam Neil Julien Ross arXiv:1711.10980; PNAS 2018 Toward practical quantum speedup IBM Google/UCSB Delft


slide-1
SLIDE 1

Toward the first quantum simulation with quantum speedup

Andrew Childs University of Maryland

Dmitri Maslov Yunseong Nam Neil Julien Ross Yuan Su

arXiv:1711.10980; PNAS 2018

slide-2
SLIDE 2

Toward practical quantum speedup

IBM Google/UCSB Maryland Delft

slide-3
SLIDE 3

Toward practical quantum speedup

IBM Google/UCSB Maryland Delft

Important early goal: demonstrate quantum computational advantage

slide-4
SLIDE 4

Toward practical quantum speedup

IBM Google/UCSB Maryland Delft

Important early goal: demonstrate quantum computational advantage … but can we find a practical application of near-term devices?

slide-5
SLIDE 5

Toward practical quantum speedup

IBM Google/UCSB Maryland Delft

Important early goal: demonstrate quantum computational advantage … but can we find a practical application of near-term devices? Challenges

  • Improve experimental systems
  • Improve algorithms and their implementation, making the best use of available hardware
slide-6
SLIDE 6

Toward practical quantum speedup

IBM Google/UCSB Maryland Delft

Important early goal: demonstrate quantum computational advantage … but can we find a practical application of near-term devices? Challenges

  • Improve experimental systems
  • Improve algorithms and their implementation, making the best use of available hardware

Our goal: Produce concrete resource estimates for the simplest possible practical application

  • f quantum computers
slide-7
SLIDE 7

Quantum simulation

“… nature isn’t classical, dammit, and if you want to make a simulation of nature, you’d better make it quantum mechanical, and by golly it’s a wonderful problem, because it doesn’t look so easy.” Richard Feynman (1981) Simulating physics with computers

slide-8
SLIDE 8

Quantum simulation

“… nature isn’t classical, dammit, and if you want to make a simulation of nature, you’d better make it quantum mechanical, and by golly it’s a wonderful problem, because it doesn’t look so easy.” Richard Feynman (1981) Simulating physics with computers

Quantum simulation problem: Given a description of the Hamiltonian H, an evolution time t, and an initial state , produce the final state (to within some error tolerance ²)

|ψ(0)i |ψ(t)i

slide-9
SLIDE 9

Quantum simulation

“… nature isn’t classical, dammit, and if you want to make a simulation of nature, you’d better make it quantum mechanical, and by golly it’s a wonderful problem, because it doesn’t look so easy.” Richard Feynman (1981) Simulating physics with computers

Quantum simulation problem: Given a description of the Hamiltonian H, an evolution time t, and an initial state , produce the final state (to within some error tolerance ²)

|ψ(0)i |ψ(t)i

A classical computer cannot even represent the state efficiently.

slide-10
SLIDE 10

Quantum simulation

“… nature isn’t classical, dammit, and if you want to make a simulation of nature, you’d better make it quantum mechanical, and by golly it’s a wonderful problem, because it doesn’t look so easy.” Richard Feynman (1981) Simulating physics with computers

Quantum simulation problem: Given a description of the Hamiltonian H, an evolution time t, and an initial state , produce the final state (to within some error tolerance ²)

|ψ(0)i |ψ(t)i

A classical computer cannot even represent the state efficiently. A quantum computer cannot produce a complete description of the state.

slide-11
SLIDE 11

Quantum simulation

“… nature isn’t classical, dammit, and if you want to make a simulation of nature, you’d better make it quantum mechanical, and by golly it’s a wonderful problem, because it doesn’t look so easy.” Richard Feynman (1981) Simulating physics with computers

Quantum simulation problem: Given a description of the Hamiltonian H, an evolution time t, and an initial state , produce the final state (to within some error tolerance ²)

|ψ(0)i |ψ(t)i

A classical computer cannot even represent the state efficiently. A quantum computer cannot produce a complete description of the state. But given succinct descriptions of

  • the initial state (suitable for a quantum

computer to prepare it efficiently) and

  • a final measurement (say, measurements
  • f the individual qubits in some basis),

a quantum computer can efficiently answer questions that (apparently) a classical one cannot.

slide-12
SLIDE 12

Product formula simulation

[Lloyd 96]

Suppose we want to simulate H =

L

X

`=1

H`

slide-13
SLIDE 13

Product formula simulation

[Lloyd 96]

Combine individual simulations with the Lie product formula. E.g., with two terms:

lim

r→∞

  • e−iAt/re−iBt/rr = e−i(A+B)t

Suppose we want to simulate H =

L

X

`=1

H`

slide-14
SLIDE 14

Product formula simulation

[Lloyd 96]

  • e−iAt/re−iBt/rr = e−i(A+B)t + O(t2/r)

Combine individual simulations with the Lie product formula. E.g., with two terms:

lim

r→∞

  • e−iAt/re−iBt/rr = e−i(A+B)t

Suppose we want to simulate H =

L

X

`=1

H`

slide-15
SLIDE 15

Product formula simulation

[Lloyd 96]

  • e−iAt/re−iBt/rr = e−i(A+B)t + O(t2/r)

Combine individual simulations with the Lie product formula. E.g., with two terms:

lim

r→∞

  • e−iAt/re−iBt/rr = e−i(A+B)t

To ensure error at most ², take

r = O

  • (kHkt)2/✏
  • Suppose we want to simulate H =

L

X

`=1

H`

slide-16
SLIDE 16

Product formula simulation

[Lloyd 96]

  • e−iAt/re−iBt/rr = e−i(A+B)t + O(t2/r)

Combine individual simulations with the Lie product formula. E.g., with two terms:

lim

r→∞

  • e−iAt/re−iBt/rr = e−i(A+B)t

To ensure error at most ², take

r = O

  • (kHkt)2/✏
  • To get a better approximation, use higher-order

formulas.

[Berry, Ahokas, Cleve, Sanders 07]

E.g., second order: (e−iAt/2re−iBte−iAt/2r)r = e−i(A+B)t + O(t3/r2) Suppose we want to simulate H =

L

X

`=1

H`

slide-17
SLIDE 17

Product formula simulation

[Lloyd 96]

  • e−iAt/re−iBt/rr = e−i(A+B)t + O(t2/r)

Combine individual simulations with the Lie product formula. E.g., with two terms:

lim

r→∞

  • e−iAt/re−iBt/rr = e−i(A+B)t

To ensure error at most ², take

r = O

  • (kHkt)2/✏
  • To get a better approximation, use higher-order

formulas.

[Berry, Ahokas, Cleve, Sanders 07]

E.g., second order: (e−iAt/2re−iBte−iAt/2r)r = e−i(A+B)t + O(t3/r2) Suppose we want to simulate H =

L

X

`=1

H` Systematic expansions to arbitrary order are known [Suzuki 92] Using the 2kth order expansion, the number of exponentials required for an approximation with error at most ² is at most 52kL2kHkt ⇣

LkHkt ✏

⌘1/2k

slide-18
SLIDE 18

Quantum walk simulation

[Childs10; Berry, Childs 12]

slide-19
SLIDE 19

Quantum walk simulation

[Childs10; Berry, Childs 12]

Quantum walk corresponding to H span{|ψji}N

j=1

Alternately reflect about ,

|ψji := |ji ⌦ ✓ ν

N

X

k=1

q H∗

jk|ki + νj|N + 1i

and swap the two registers. ,

slide-20
SLIDE 20

Quantum walk simulation

[Childs10; Berry, Childs 12]

Quantum walk corresponding to H span{|ψji}N

j=1

Alternately reflect about ,

|ψji := |ji ⌦ ✓ ν

N

X

k=1

q H∗

jk|ki + νj|N + 1i

and swap the two registers. , If H is sparse, this walk is easy to implement.

slide-21
SLIDE 21

Quantum walk simulation

[Childs10; Berry, Childs 12]

Spectral theorem: Each eigenvalue ¸ of H corresponds to two eigenvalues

  • f the walk operator (with eigenvectors

closely related to those of H). ±e±i arcsin λ Quantum walk corresponding to H span{|ψji}N

j=1

Alternately reflect about ,

|ψji := |ji ⌦ ✓ ν

N

X

k=1

q H∗

jk|ki + νj|N + 1i

and swap the two registers. , If H is sparse, this walk is easy to implement.

slide-22
SLIDE 22

Quantum walk simulation

[Childs10; Berry, Childs 12]

Spectral theorem: Each eigenvalue ¸ of H corresponds to two eigenvalues

  • f the walk operator (with eigenvectors

closely related to those of H). ±e±i arcsin λ Quantum walk corresponding to H span{|ψji}N

j=1

Alternately reflect about ,

|ψji := |ji ⌦ ✓ ν

N

X

k=1

q H∗

jk|ki + νj|N + 1i

and swap the two registers. , Simulation by phase estimation |λi 7! |λi| ^ arcsin λi 7! e−iλt|λi| ^ arcsin λi 7! e−iλt|λi (phase estimation) (inverse phase est) If H is sparse, this walk is easy to implement.

slide-23
SLIDE 23

Quantum walk simulation

[Childs10; Berry, Childs 12]

Spectral theorem: Each eigenvalue ¸ of H corresponds to two eigenvalues

  • f the walk operator (with eigenvectors

closely related to those of H). ±e±i arcsin λ Quantum walk corresponding to H span{|ψji}N

j=1

Alternately reflect about ,

|ψji := |ji ⌦ ✓ ν

N

X

k=1

q H∗

jk|ki + νj|N + 1i

and swap the two registers. , Simulation by phase estimation |λi 7! |λi| ^ arcsin λi 7! e−iλt|λi| ^ arcsin λi 7! e−iλt|λi (phase estimation) (inverse phase est) If H is sparse, this walk is easy to implement. Theorem: steps of this walk suffice to simulate H for time t with error at most ². O(t/√✏)

slide-24
SLIDE 24

Taylor series simulation

[Berry, Childs, Cleve, Kothari, Somma 14 & 15]

e−iHt =

X

k=0

(−iHt)k k!

Main idea: Directly implement the series

slide-25
SLIDE 25

Taylor series simulation

[Berry, Childs, Cleve, Kothari, Somma 14 & 15]

e−iHt =

X

k=0

(−iHt)k k! ≈

K

X

k=0

(−iHt)k k!

Main idea: Directly implement the series

slide-26
SLIDE 26

Taylor series simulation

[Berry, Childs, Cleve, Kothari, Somma 14 & 15]

e−iHt =

X

k=0

(−iHt)k k! ≈

K

X

k=0

(−iHt)k k!

Write with unitary.

H = P

` α`H`

H`

Main idea: Directly implement the series

slide-27
SLIDE 27

Taylor series simulation

[Berry, Childs, Cleve, Kothari, Somma 14 & 15]

e−iHt =

X

k=0

(−iHt)k k! ≈

K

X

k=0

(−iHt)k k!

Write with unitary.

H = P

` α`H`

H`

Main idea: Directly implement the series Then is a linear combination of unitaries.

K

X

k=0

X

`1,...,`k (−it)k k!

α`1 · · · α`kH`1 · · · H`k

slide-28
SLIDE 28

Taylor series simulation

[Berry, Childs, Cleve, Kothari, Somma 14 & 15]

e−iHt =

X

k=0

(−iHt)k k! ≈

K

X

k=0

(−iHt)k k!

Write with unitary.

H = P

` α`H`

H`

LCU Lemma: Given the ability to perform unitaries Vj with unit complexity, one can perform the operation with complexity . Furthermore, if U is (nearly) unitary then this implementation can be made (nearly) deterministic.

U = P

j βjVj

O(P

j |βj|)

Main idea: Directly implement the series Then is a linear combination of unitaries.

K

X

k=0

X

`1,...,`k (−it)k k!

α`1 · · · α`kH`1 · · · H`k

slide-29
SLIDE 29

Taylor series simulation

[Berry, Childs, Cleve, Kothari, Somma 14 & 15]

e−iHt =

X

k=0

(−iHt)k k! ≈

K

X

k=0

(−iHt)k k!

Write with unitary.

H = P

` α`H`

H`

LCU Lemma: Given the ability to perform unitaries Vj with unit complexity, one can perform the operation with complexity . Furthermore, if U is (nearly) unitary then this implementation can be made (nearly) deterministic.

U = P

j βjVj

O(P

j |βj|)

Main idea: Directly implement the series Then is a linear combination of unitaries.

K

X

k=0

X

`1,...,`k (−it)k k!

α`1 · · · α`kH`1 · · · H`k Main ideas:

  • Boost the amplitude for success by oblivious

amplitude amplification

|0i|ψi 7! sin θ|0iU|ψi + cos θ|Φi

  • Implement U with some amplitude:
slide-30
SLIDE 30

Taylor series simulation

[Berry, Childs, Cleve, Kothari, Somma 14 & 15]

e−iHt =

X

k=0

(−iHt)k k! ≈

K

X

k=0

(−iHt)k k!

Write with unitary.

H = P

` α`H`

H`

LCU Lemma: Given the ability to perform unitaries Vj with unit complexity, one can perform the operation with complexity . Furthermore, if U is (nearly) unitary then this implementation can be made (nearly) deterministic.

U = P

j βjVj

O(P

j |βj|)

Main idea: Directly implement the series Then is a linear combination of unitaries.

K

X

k=0

X

`1,...,`k (−it)k k!

α`1 · · · α`kH`1 · · · H`k Query complexity: O

  • t

log(t/✏) log log(t/✏)

  • Main ideas:
  • Boost the amplitude for success by oblivious

amplitude amplification

|0i|ψi 7! sin θ|0iU|ψi + cos θ|Φi

  • Implement U with some amplitude:
slide-31
SLIDE 31

Quantum signal processing

Combining known lower bounds on the complexity of simulation as a function of t and ² gives

Ω ⇣ t +

log 1

log log 1

⌘ O ⇣ t

log t

log log t

  • vs. upper bound of

[Low, Chuang 16]

slide-32
SLIDE 32

Quantum signal processing

Combining known lower bounds on the complexity of simulation as a function of t and ² gives

Ω ⇣ t +

log 1

log log 1

⌘ O ⇣ t

log t

log log t

  • vs. upper bound of

Recent work, using an alternative method for implementing a linear combination of quantum walk steps, gives an optimal tradeoff.

[Low, Chuang 16]

slide-33
SLIDE 33

Quantum signal processing

Combining known lower bounds on the complexity of simulation as a function of t and ² gives

Ω ⇣ t +

log 1

log log 1

⌘ O ⇣ t

log t

log log t

  • vs. upper bound of

Recent work, using an alternative method for implementing a linear combination of quantum walk steps, gives an optimal tradeoff.

[Low, Chuang 16]

Main idea: Encode the eigenvalues of H in a two-dimensional subspace; use a carefully-chosen sequence of single-qubit rotations to manipulate those eigenvalues, performing the desired evolution.

slide-34
SLIDE 34

Algorithm comparison

Algorithm Query complexity Gate complexity Product formula, 1st order Product formula, (2k)th order Quantum walk Fractional-query simulation Taylor series Linear combination of q. walk steps Quantum signal processing O

  • d2t

log(dt/✏) log log(dt/✏)

  • O
  • d2t log2(dt/✏)

log log(dt/✏)

  • O(d4t2/✏)

O(d4t2/✏) O

  • 52kd3t( dt

✏ )1/2k

O

  • 52kd3t( dt

✏ )1/2k

O

  • d2t

log(dt/✏) log log(dt/✏)

  • O
  • d2t log2(dt/✏)

log log(dt/✏)

  • O(dt/√✏)

O

  • dt log3.5(dt/✏)

log log(dt/✏)

  • O(dt/√✏)

O

  • dt +

log(1/✏) log log(1/✏)

  • O
  • dt +

log(1/✏) log log(1/✏)

  • O
  • dt

log(dt/✏) log log(dt/✏)

slide-35
SLIDE 35

Algorithm comparison

Algorithm Query complexity Gate complexity Product formula, 1st order Product formula, (2k)th order Quantum walk Fractional-query simulation Taylor series Linear combination of q. walk steps Quantum signal processing O

  • d2t

log(dt/✏) log log(dt/✏)

  • O
  • d2t log2(dt/✏)

log log(dt/✏)

  • O(d4t2/✏)

O(d4t2/✏) O

  • 52kd3t( dt

✏ )1/2k

O

  • 52kd3t( dt

✏ )1/2k

O

  • d2t

log(dt/✏) log log(dt/✏)

  • O
  • d2t log2(dt/✏)

log log(dt/✏)

  • O(dt/√✏)

O

  • dt log3.5(dt/✏)

log log(dt/✏)

  • O(dt/√✏)

O

  • dt +

log(1/✏) log log(1/✏)

  • O
  • dt +

log(1/✏) log log(1/✏)

  • O
  • dt

log(dt/✏) log log(dt/✏)

  • O

P T I M A L !

slide-36
SLIDE 36

What to simulate?

Quantum chemistry?

slide-37
SLIDE 37

What to simulate?

Quantum chemistry? Spin systems!

slide-38
SLIDE 38

What to simulate?

Quantum chemistry? Spin systems! Heisenberg model on a ring: H =

n

X

j=1

  • ~

j · ~ j+1 + hjz

j

  • hj ∈ [−h, h] uniformly random
slide-39
SLIDE 39

What to simulate?

Quantum chemistry? Spin systems! Heisenberg model on a ring: H =

n

X

j=1

  • ~

j · ~ j+1 + hjz

j

  • hj ∈ [−h, h] uniformly random

This provides a model of self-thermalization and many-body localization. The transition between thermalized and localized phases (as a function of h) is poorly

  • understood. Most extensive numerical study: fewer than 25 spins. [Luitz, Laflorencie, Alet 15]
slide-40
SLIDE 40

What to simulate?

Quantum chemistry? Spin systems! Heisenberg model on a ring: H =

n

X

j=1

  • ~

j · ~ j+1 + hjz

j

  • hj ∈ [−h, h] uniformly random

This provides a model of self-thermalization and many-body localization. The transition between thermalized and localized phases (as a function of h) is poorly

  • understood. Most extensive numerical study: fewer than 25 spins. [Luitz, Laflorencie, Alet 15]

Could explore the transition by preparing a simple initial state, evolving, and performing a simple final measurement. Focus on the cost of simulating dynamics.

slide-41
SLIDE 41

What to simulate?

Quantum chemistry? Spin systems! Heisenberg model on a ring: H =

n

X

j=1

  • ~

j · ~ j+1 + hjz

j

  • hj ∈ [−h, h] uniformly random

This provides a model of self-thermalization and many-body localization. The transition between thermalized and localized phases (as a function of h) is poorly

  • understood. Most extensive numerical study: fewer than 25 spins. [Luitz, Laflorencie, Alet 15]

Could explore the transition by preparing a simple initial state, evolving, and performing a simple final measurement. Focus on the cost of simulating dynamics. For concreteness: h = 1, t = n, ✏ = 10−3, 20 ≤ n ≤ 100

slide-42
SLIDE 42

Algorithms

Algorithm Gate complexity (t, ²) Gate complexity (n) Product formula (PF), 1st order Product formula (PF), (2k)th order Quantum walk Fractional-query simulation Taylor series (TS) Linear combination of q. walk steps Quantum signal processing (QSP) O(t2/✏) O(52kt1+1/2k/✏1/2k) O(t/√✏) O(n5) O(52kn3+1/k) O(n4 log n) O

  • t log2(t/✏)

log log(t/✏)

  • O
  • n4

log2 n log log n

  • O
  • t log2(t/✏)

log log(t/✏)

  • O
  • n3

log2 n log log n

  • O
  • t log3.5(t/✏)

log log(t/✏)

  • O
  • n4

log2 n log log n

  • O(t + log(1/✏))

O(n3)

slide-43
SLIDE 43

Algorithms

Algorithm Gate complexity (t, ²) Gate complexity (n) Product formula (PF), 1st order Product formula (PF), (2k)th order Quantum walk Fractional-query simulation Taylor series (TS) Linear combination of q. walk steps Quantum signal processing (QSP) O(t2/✏) O(52kt1+1/2k/✏1/2k) O(t/√✏) O(n5) O(52kn3+1/k) O(n4 log n) O

  • t log2(t/✏)

log log(t/✏)

  • O
  • n4

log2 n log log n

  • O
  • t log2(t/✏)

log log(t/✏)

  • O
  • n3

log2 n log log n

  • O
  • t log3.5(t/✏)

log log(t/✏)

  • O
  • n4

log2 n log log n

  • O(t + log(1/✏))

O(n3)

slide-44
SLIDE 44

Circuit synthesis

multiplexor :: [Double] -> [Qubit] -> Qubit -> Circ ([Qubit], Qubit) multiplexor as controls target = case controls of
  • - No controls.
[] -> do let angle = as !! 0 expYt (- angle) target return ([], target)
  • - One control.
[q0] -> do let (as0, as1) = split_angles as ([], target) <- multiplexor as0 [] target target <- qnot target `controlled` q0 ([], target) <- multiplexor as1 [] target target <- qnot target `controlled` q0 return ([q0], target)
  • - Two controls.
[q0,q1] -> do let (as0, as1) = split_angles as ([q1], target) <- multiplexor as0 [q1] target target <- qnot target `controlled` q0 ([q1], target) <- multiplexor as1 [q1] target target <- qnot target `controlled` q0 return ([q0,q1], target)
  • - Three controls.
[q0,q1,q2] -> do let (as0, as1, as2, as3) = split_angles_3 as ([q2], target) <- multiplexor as0 [q2] target target <- qnot target `controlled` q1 ([q2], target) <- multiplexor as1 [q2] target target <- qnot target `controlled` q0 ([q2], target) <- multiplexor as3 [q2] target target <- qnot target `controlled` q1 ([q2], target) <- multiplexor as2 [q2] target target <- qnot target `controlled` q0 return ([q0,q1,q2], target)
  • - Four or more controls.
qs -> do let (as0, as1) = split_angles as let (qhead:qtail) = qs (qtail, target) <- multiplexor as0 qtail target target <- qnot target `controlled` qhead (qtail, target) <- multiplexor as1 qtail target target <- qnot target `controlled` qhead return (qs, target) where
  • - Compute angles for recursive decomposition of a multiplexor.
split_angles :: [Double] -> ([Double], [Double]) split_angles l = let (l1, l2) = splitIn2 l in let p w x = (w + x) / 2 in let m w x = (w - x) / 2 in (zipWith p l1 l2, zipWith m l1 l2)
  • - Compute the angles for recursive decomposition of a multiplexor
  • - with three controls, saving 2 CNOT gates, as in the
  • - optimization in Fig. 2 of Shende et.al.
split_angles_3 :: [Double] -> ([Double],[Double],[Double],[Double]) split_angles_3 l = let (l1, l2, l3, l4) = splitIn4 l in let pp w x y z = (w + x + y + z) / 4 in let pm w x y z = (w + x - y - z) / 4 in let mp w x y z = (w - x - y + z) / 4 in let mm w x y z = (w - x + y - z) / 4 in let lpp = zipWith4 pp l1 l2 l3 l4 in let lpm = zipWith4 pm l1 l2 l3 l4 in let lmp = zipWith4 mp l1 l2 l3 l4 in let lmm = zipWith4 mm l1 l2 l3 l4 in (lpp, lmm, lpm, lmp)

We implemented these algorithms using Quipper, a quantum circuit description language that facilitates concrete resource counts.

slide-45
SLIDE 45

Circuit synthesis

multiplexor :: [Double] -> [Qubit] -> Qubit -> Circ ([Qubit], Qubit) multiplexor as controls target = case controls of
  • - No controls.
[] -> do let angle = as !! 0 expYt (- angle) target return ([], target)
  • - One control.
[q0] -> do let (as0, as1) = split_angles as ([], target) <- multiplexor as0 [] target target <- qnot target `controlled` q0 ([], target) <- multiplexor as1 [] target target <- qnot target `controlled` q0 return ([q0], target)
  • - Two controls.
[q0,q1] -> do let (as0, as1) = split_angles as ([q1], target) <- multiplexor as0 [q1] target target <- qnot target `controlled` q0 ([q1], target) <- multiplexor as1 [q1] target target <- qnot target `controlled` q0 return ([q0,q1], target)
  • - Three controls.
[q0,q1,q2] -> do let (as0, as1, as2, as3) = split_angles_3 as ([q2], target) <- multiplexor as0 [q2] target target <- qnot target `controlled` q1 ([q2], target) <- multiplexor as1 [q2] target target <- qnot target `controlled` q0 ([q2], target) <- multiplexor as3 [q2] target target <- qnot target `controlled` q1 ([q2], target) <- multiplexor as2 [q2] target target <- qnot target `controlled` q0 return ([q0,q1,q2], target)
  • - Four or more controls.
qs -> do let (as0, as1) = split_angles as let (qhead:qtail) = qs (qtail, target) <- multiplexor as0 qtail target target <- qnot target `controlled` qhead (qtail, target) <- multiplexor as1 qtail target target <- qnot target `controlled` qhead return (qs, target) where
  • - Compute angles for recursive decomposition of a multiplexor.
split_angles :: [Double] -> ([Double], [Double]) split_angles l = let (l1, l2) = splitIn2 l in let p w x = (w + x) / 2 in let m w x = (w - x) / 2 in (zipWith p l1 l2, zipWith m l1 l2)
  • - Compute the angles for recursive decomposition of a multiplexor
  • - with three controls, saving 2 CNOT gates, as in the
  • - optimization in Fig. 2 of Shende et.al.
split_angles_3 :: [Double] -> ([Double],[Double],[Double],[Double]) split_angles_3 l = let (l1, l2, l3, l4) = splitIn4 l in let pp w x y z = (w + x + y + z) / 4 in let pm w x y z = (w + x - y - z) / 4 in let mp w x y z = (w - x - y + z) / 4 in let mm w x y z = (w - x + y - z) / 4 in let lpp = zipWith4 pp l1 l2 l3 l4 in let lpm = zipWith4 pm l1 l2 l3 l4 in let lmp = zipWith4 mp l1 l2 l3 l4 in let lmm = zipWith4 mm l1 l2 l3 l4 in (lpp, lmm, lpm, lmp)

We implemented these algorithms using Quipper, a quantum circuit description language that facilitates concrete resource counts. Gate sets:

  • Clifford+Rz
  • Clifford+T

Quipper can produce Clifford+T circuits using recent optimal synthesis algorithms

[Kliuchnikov, Maslov, Mosca 13; Ross, Selinger 16].

slide-46
SLIDE 46

Circuit synthesis

multiplexor :: [Double] -> [Qubit] -> Qubit -> Circ ([Qubit], Qubit) multiplexor as controls target = case controls of
  • - No controls.
[] -> do let angle = as !! 0 expYt (- angle) target return ([], target)
  • - One control.
[q0] -> do let (as0, as1) = split_angles as ([], target) <- multiplexor as0 [] target target <- qnot target `controlled` q0 ([], target) <- multiplexor as1 [] target target <- qnot target `controlled` q0 return ([q0], target)
  • - Two controls.
[q0,q1] -> do let (as0, as1) = split_angles as ([q1], target) <- multiplexor as0 [q1] target target <- qnot target `controlled` q0 ([q1], target) <- multiplexor as1 [q1] target target <- qnot target `controlled` q0 return ([q0,q1], target)
  • - Three controls.
[q0,q1,q2] -> do let (as0, as1, as2, as3) = split_angles_3 as ([q2], target) <- multiplexor as0 [q2] target target <- qnot target `controlled` q1 ([q2], target) <- multiplexor as1 [q2] target target <- qnot target `controlled` q0 ([q2], target) <- multiplexor as3 [q2] target target <- qnot target `controlled` q1 ([q2], target) <- multiplexor as2 [q2] target target <- qnot target `controlled` q0 return ([q0,q1,q2], target)
  • - Four or more controls.
qs -> do let (as0, as1) = split_angles as let (qhead:qtail) = qs (qtail, target) <- multiplexor as0 qtail target target <- qnot target `controlled` qhead (qtail, target) <- multiplexor as1 qtail target target <- qnot target `controlled` qhead return (qs, target) where
  • - Compute angles for recursive decomposition of a multiplexor.
split_angles :: [Double] -> ([Double], [Double]) split_angles l = let (l1, l2) = splitIn2 l in let p w x = (w + x) / 2 in let m w x = (w - x) / 2 in (zipWith p l1 l2, zipWith m l1 l2)
  • - Compute the angles for recursive decomposition of a multiplexor
  • - with three controls, saving 2 CNOT gates, as in the
  • - optimization in Fig. 2 of Shende et.al.
split_angles_3 :: [Double] -> ([Double],[Double],[Double],[Double]) split_angles_3 l = let (l1, l2, l3, l4) = splitIn4 l in let pp w x y z = (w + x + y + z) / 4 in let pm w x y z = (w + x - y - z) / 4 in let mp w x y z = (w - x - y + z) / 4 in let mm w x y z = (w - x + y - z) / 4 in let lpp = zipWith4 pp l1 l2 l3 l4 in let lpm = zipWith4 pm l1 l2 l3 l4 in let lmp = zipWith4 mp l1 l2 l3 l4 in let lmm = zipWith4 mm l1 l2 l3 l4 in (lpp, lmm, lpm, lmp)

We implemented these algorithms using Quipper, a quantum circuit description language that facilitates concrete resource counts. Gate sets:

  • Clifford+Rz
  • Clifford+T

Quipper can produce Clifford+T circuits using recent optimal synthesis algorithms

[Kliuchnikov, Maslov, Mosca 13; Ross, Selinger 16].

We verified correctness by simulating subroutines and small instances.

slide-47
SLIDE 47

Circuit synthesis

multiplexor :: [Double] -> [Qubit] -> Qubit -> Circ ([Qubit], Qubit) multiplexor as controls target = case controls of
  • - No controls.
[] -> do let angle = as !! 0 expYt (- angle) target return ([], target)
  • - One control.
[q0] -> do let (as0, as1) = split_angles as ([], target) <- multiplexor as0 [] target target <- qnot target `controlled` q0 ([], target) <- multiplexor as1 [] target target <- qnot target `controlled` q0 return ([q0], target)
  • - Two controls.
[q0,q1] -> do let (as0, as1) = split_angles as ([q1], target) <- multiplexor as0 [q1] target target <- qnot target `controlled` q0 ([q1], target) <- multiplexor as1 [q1] target target <- qnot target `controlled` q0 return ([q0,q1], target)
  • - Three controls.
[q0,q1,q2] -> do let (as0, as1, as2, as3) = split_angles_3 as ([q2], target) <- multiplexor as0 [q2] target target <- qnot target `controlled` q1 ([q2], target) <- multiplexor as1 [q2] target target <- qnot target `controlled` q0 ([q2], target) <- multiplexor as3 [q2] target target <- qnot target `controlled` q1 ([q2], target) <- multiplexor as2 [q2] target target <- qnot target `controlled` q0 return ([q0,q1,q2], target)
  • - Four or more controls.
qs -> do let (as0, as1) = split_angles as let (qhead:qtail) = qs (qtail, target) <- multiplexor as0 qtail target target <- qnot target `controlled` qhead (qtail, target) <- multiplexor as1 qtail target target <- qnot target `controlled` qhead return (qs, target) where
  • - Compute angles for recursive decomposition of a multiplexor.
split_angles :: [Double] -> ([Double], [Double]) split_angles l = let (l1, l2) = splitIn2 l in let p w x = (w + x) / 2 in let m w x = (w - x) / 2 in (zipWith p l1 l2, zipWith m l1 l2)
  • - Compute the angles for recursive decomposition of a multiplexor
  • - with three controls, saving 2 CNOT gates, as in the
  • - optimization in Fig. 2 of Shende et.al.
split_angles_3 :: [Double] -> ([Double],[Double],[Double],[Double]) split_angles_3 l = let (l1, l2, l3, l4) = splitIn4 l in let pp w x y z = (w + x + y + z) / 4 in let pm w x y z = (w + x - y - z) / 4 in let mp w x y z = (w - x - y + z) / 4 in let mm w x y z = (w - x + y - z) / 4 in let lpp = zipWith4 pp l1 l2 l3 l4 in let lpm = zipWith4 pm l1 l2 l3 l4 in let lmp = zipWith4 mp l1 l2 l3 l4 in let lmm = zipWith4 mm l1 l2 l3 l4 in (lpp, lmm, lpm, lmp)

We implemented these algorithms using Quipper, a quantum circuit description language that facilitates concrete resource counts. Gate sets:

  • Clifford+Rz
  • Clifford+T

Quipper can produce Clifford+T circuits using recent optimal synthesis algorithms

[Kliuchnikov, Maslov, Mosca 13; Ross, Selinger 16].

We verified correctness by simulating subroutines and small instances. Implementation available at github.com/njross/simcount

slide-48
SLIDE 48

Circuit synthesis

multiplexor :: [Double] -> [Qubit] -> Qubit -> Circ ([Qubit], Qubit) multiplexor as controls target = case controls of
  • - No controls.
[] -> do let angle = as !! 0 expYt (- angle) target return ([], target)
  • - One control.
[q0] -> do let (as0, as1) = split_angles as ([], target) <- multiplexor as0 [] target target <- qnot target `controlled` q0 ([], target) <- multiplexor as1 [] target target <- qnot target `controlled` q0 return ([q0], target)
  • - Two controls.
[q0,q1] -> do let (as0, as1) = split_angles as ([q1], target) <- multiplexor as0 [q1] target target <- qnot target `controlled` q0 ([q1], target) <- multiplexor as1 [q1] target target <- qnot target `controlled` q0 return ([q0,q1], target)
  • - Three controls.
[q0,q1,q2] -> do let (as0, as1, as2, as3) = split_angles_3 as ([q2], target) <- multiplexor as0 [q2] target target <- qnot target `controlled` q1 ([q2], target) <- multiplexor as1 [q2] target target <- qnot target `controlled` q0 ([q2], target) <- multiplexor as3 [q2] target target <- qnot target `controlled` q1 ([q2], target) <- multiplexor as2 [q2] target target <- qnot target `controlled` q0 return ([q0,q1,q2], target)
  • - Four or more controls.
qs -> do let (as0, as1) = split_angles as let (qhead:qtail) = qs (qtail, target) <- multiplexor as0 qtail target target <- qnot target `controlled` qhead (qtail, target) <- multiplexor as1 qtail target target <- qnot target `controlled` qhead return (qs, target) where
  • - Compute angles for recursive decomposition of a multiplexor.
split_angles :: [Double] -> ([Double], [Double]) split_angles l = let (l1, l2) = splitIn2 l in let p w x = (w + x) / 2 in let m w x = (w - x) / 2 in (zipWith p l1 l2, zipWith m l1 l2)
  • - Compute the angles for recursive decomposition of a multiplexor
  • - with three controls, saving 2 CNOT gates, as in the
  • - optimization in Fig. 2 of Shende et.al.
split_angles_3 :: [Double] -> ([Double],[Double],[Double],[Double]) split_angles_3 l = let (l1, l2, l3, l4) = splitIn4 l in let pp w x y z = (w + x + y + z) / 4 in let pm w x y z = (w + x - y - z) / 4 in let mp w x y z = (w - x - y + z) / 4 in let mm w x y z = (w - x + y - z) / 4 in let lpp = zipWith4 pp l1 l2 l3 l4 in let lpm = zipWith4 pm l1 l2 l3 l4 in let lmp = zipWith4 mp l1 l2 l3 l4 in let lmm = zipWith4 mm l1 l2 l3 l4 in (lpp, lmm, lpm, lmp)

We implemented these algorithms using Quipper, a quantum circuit description language that facilitates concrete resource counts. Gate sets:

  • Clifford+Rz
  • Clifford+T

Quipper can produce Clifford+T circuits using recent optimal synthesis algorithms

[Kliuchnikov, Maslov, Mosca 13; Ross, Selinger 16].

We verified correctness by simulating subroutines and small instances. Implementation available at github.com/njross/simcount We also applied an automated quantum circuit optimizer that we developed [arXiv:1710.07345]. cnot/T gate counts improve by about 30% for PF. Less significant improvement for TS/QSP .

slide-49
SLIDE 49

Product formula implementation

We consider four methods for choosing the parameters of the PF algorithm:

slide-50
SLIDE 50

Product formula implementation

We consider four methods for choosing the parameters of the PF algorithm: Analytic and Minimized error bounds: tightened versions of previous analysis

slide-51
SLIDE 51

Product formula implementation

We consider four methods for choosing the parameters of the PF algorithm: Analytic and Minimized error bounds: tightened versions of previous analysis Commutator error bound: exploit commutation relations among terms in the Hamiltonian Involves extensive analysis to derive the bound and compute it for our model system O(n3+1/k) → O(n3+2/(2k+1)) Improved asymptotic performance:

slide-52
SLIDE 52

Product formula implementation

Empirical error bound: extrapolate performance from small instances

5 6 7 8 9 10 11 12 101 102 103 104 105

n r

Fourth order Commutator bound Empirical bound

We consider four methods for choosing the parameters of the PF algorithm: Analytic and Minimized error bounds: tightened versions of previous analysis Commutator error bound: exploit commutation relations among terms in the Hamiltonian Involves extensive analysis to derive the bound and compute it for our model system O(n3+1/k) → O(n3+2/(2k+1)) Improved asymptotic performance:

slide-53
SLIDE 53

Product formula comparisons

10 100 108 1010 1012 1014 1016 1018 1020 30 300 System size Total gate count

Minimized First order Second order Fourth order Sixth order Eighth order

10 100 108 109 1010 1011 1012 1013 1014 1015 1016 1017 30 300 System size Total gate count

Commutator First order Second order Fourth order

10 100 106 107 108 109 1010 1011 1012 1013 30 300 System size Total gate count

Empirical First order Second order Fourth order Sixth order Eighth order
slide-54
SLIDE 54

Product formula comparisons

Order Bound 1 2 4 6 8 Analytic/Minimized 5 4 3.5 3.333 3.25 Commutator 4 3.667 3.4 3.286 3.222 Empirical 2.964 2.883 2.555 2.311 2.141

2 4 6 8 2 3 4 5 1

Order Exponent

10 100 108 1010 1012 1014 1016 1018 1020 30 300 System size Total gate count

Minimized First order Second order Fourth order Sixth order Eighth order

10 100 108 109 1010 1011 1012 1013 1014 1015 1016 1017 30 300 System size Total gate count

Commutator First order Second order Fourth order

10 100 106 107 108 109 1010 1011 1012 1013 30 300 System size Total gate count

Empirical First order Second order Fourth order Sixth order Eighth order
slide-55
SLIDE 55

Taylor series implementation

Also give concrete error analysis. Empirical error bounds are infeasible but probably not helpful.

q0 q1 q2 q3 q4

*

x1x2x3x4 x1x2x3¯ x4 x1x2¯ x3x4 x1x2¯ x3¯ x4 x1¯ x2x3x4 x1¯ x2x3¯ x4 x1¯ x2¯ x3x4 x1¯ x2¯ x3¯ x4 ¯ x1x2x3x4 ¯ x1x2x3¯ x4 ¯ x1x2¯ x3x4 ¯ x1x2¯ x3¯ x4 ¯ x1¯ x2x3x4 ¯ x1¯ x2x3¯ x4 ¯ x1¯ x2¯ x3x4 ¯ x1¯ x2¯ x3¯ x4

select(V ) = PΓ

j=1 |jihj| ⌦ Vj

Main implementation issue: construct circuits for the operation We construct an optimized walk on a binary tree that encodes the control into a single qubit, saving a factor of about log ¡ (between 5 and 9 in our instances).

slide-56
SLIDE 56

Quantum signal processing implementation

QSP is built from the same basic subroutines as TS (state preparation, reflection, select(V)).

slide-57
SLIDE 57

Quantum signal processing implementation

QSP is built from the same basic subroutines as TS (state preparation, reflection, select(V)). To compute a sequence of rotation angles that define the algorithm, we must find the roots of a high-degree polynomial to high precision. This can be done in polynomial time (classically), but it’s expensive in practice.

slide-58
SLIDE 58

Quantum signal processing implementation

QSP is built from the same basic subroutines as TS (state preparation, reflection, select(V)). To compute a sequence of rotation angles that define the algorithm, we must find the roots of a high-degree polynomial to high precision. This can be done in polynomial time (classically), but it’s expensive in practice. Workarounds:

  • Compute the gate count using placeholder angles
  • Consider a segmented version of the algorithm: concatenate segments that are short enough

to be simulated. Modest overhead: with M angles, O(n3+4/M) vs. O(n3) for full QSP .

slide-59
SLIDE 59

Quantum signal processing implementation

  • Empirical estimate of the error in the Jacobi-Anger expansion saves about 30-45%.
  • Comprehensive empirical error bounds are just barefly feasible and probably not helpful.

Empirical error bounds: QSP is built from the same basic subroutines as TS (state preparation, reflection, select(V)). To compute a sequence of rotation angles that define the algorithm, we must find the roots of a high-degree polynomial to high precision. This can be done in polynomial time (classically), but it’s expensive in practice. Workarounds:

  • Compute the gate count using placeholder angles
  • Consider a segmented version of the algorithm: concatenate segments that are short enough

to be simulated. Modest overhead: with M angles, O(n3+4/M) vs. O(n3) for full QSP .

slide-60
SLIDE 60

Phased iterate for QSP algorithm

  • Rz(−φ)

Had Rz(π) Had Rz(φ) \ (H) 2 |G⟩ ⟨G| − I \

slide-61
SLIDE 61

10 100 105 106 107 108 109 1010 20 30 50 70 System size cnot gate count (Clifford+Rz)

PF (com 4) TS QSP (seg)

Resource estimates (physical level)

20 40 60 80 100 50 100 150 200 250 System size Qubits PF TS QSP

slide-62
SLIDE 62

10 100 105 106 107 108 109 1010 20 30 50 70 System size cnot gate count (Clifford+Rz)

PF (com 4) TS QSP (seg)

Resource estimates (physical level)

20 40 60 80 100 50 100 150 200 250 System size Qubits PF TS QSP 10 100 105 106 107 108 109 1010 20 30 50 70 System size cnot gate count (Clifford+Rz)

PF (com 4) PF (emp) TS QSP (seg) QSP (JA emp)

slide-63
SLIDE 63

Resource estimates (logical level)

20 40 60 80 100 50 100 150 200 250 System size Qubits PF TS QSP 10 100 107 108 109 1010 1011 1012 20 30 50 70 System size T gate count (Clifford+T)

PF (com 4) PF (emp) TS QSP (seg) QSP (JA emp)

slide-64
SLIDE 64

Comparisons

Simulating 50 spins (PF6 empirical)

  • 50 qubits
  • 1.8×108 T gates

Factoring a 1024-bit number [Kutin 06]

  • 3132 qubits
  • 5.7×109 T gates

Simulating FeMoco [Reiher et al. 16]

  • 111 qubits
  • 1.0×1014 T gates

Simulating 50 spins (segmented QSP)

  • 67 qubits
  • 2.4×109 T gates

10 100 1,000 10,000 108 1010 1012 1014 qubits T gates

slide-65
SLIDE 65

Summary

This work establishes benchmarks for a simple quantum simulation that would be useful and that is classically hard.

slide-66
SLIDE 66

Summary

This work establishes benchmarks for a simple quantum simulation that would be useful and that is classically hard. Spin systems are much easier than factoring or quantum chemistry…

slide-67
SLIDE 67

Summary

This work establishes benchmarks for a simple quantum simulation that would be useful and that is classically hard. Spin systems are much easier than factoring or quantum chemistry… … but may still be out of reach of pre-fault tolerant digital quantum computers.

slide-68
SLIDE 68

Summary

This work establishes benchmarks for a simple quantum simulation that would be useful and that is classically hard. Spin systems are much easier than factoring or quantum chemistry… … but may still be out of reach of pre-fault tolerant digital quantum computers. Higher-order product formulas are useful even at very small sizes.

slide-69
SLIDE 69

Summary

This work establishes benchmarks for a simple quantum simulation that would be useful and that is classically hard. Spin systems are much easier than factoring or quantum chemistry… … but may still be out of reach of pre-fault tolerant digital quantum computers. Higher-order product formulas are useful even at very small sizes. Exisiting analysis of product formulas is very loose.

slide-70
SLIDE 70

Summary

This work establishes benchmarks for a simple quantum simulation that would be useful and that is classically hard. More sophisticated algorithms (especially quantum signal processing) are competitive at surprisingly small sizes and give the best approach with rigorous guarantees. Spin systems are much easier than factoring or quantum chemistry… … but may still be out of reach of pre-fault tolerant digital quantum computers. Higher-order product formulas are useful even at very small sizes. Exisiting analysis of product formulas is very loose.

slide-71
SLIDE 71

Lattice Hamiltonians

Can we use the geometry of the system to improve the dependence on system size?

slide-72
SLIDE 72

Lattice Hamiltonians

Can we use the geometry of the system to improve the dependence on system size? Consider a system of n spins with nearest-neighbor interactions on a grid of fixed dimension. To simulate for constant time, best previous methods (TS, QSP , high-order PF) give:

  • total number of gates: O(n2)
  • circuit depth (execution time with parallel gates): O(n)
slide-73
SLIDE 73

Lattice Hamiltonians

Can we use the geometry of the system to improve the dependence on system size? Consider a system of n spins with nearest-neighbor interactions on a grid of fixed dimension. To simulate for constant time, best previous methods (TS, QSP , high-order PF) give:

  • total number of gates: O(n2)
  • circuit depth (execution time with parallel gates): O(n)

Execution time should not have to be extensive!

slide-74
SLIDE 74

Lattice Hamiltonians

Can we use the geometry of the system to improve the dependence on system size? Consider a system of n spins with nearest-neighbor interactions on a grid of fixed dimension. To simulate for constant time, best previous methods (TS, QSP , high-order PF) give:

  • total number of gates: O(n2)
  • circuit depth (execution time with parallel gates): O(n)

Execution time should not have to be extensive!

𝑓−𝑗𝑢𝐼 𝑓−𝑗𝑢𝐼𝐵 𝑓𝑗𝑢𝐼𝑍 𝑓−𝑗𝑢𝐼𝑍∪𝐶 ≈ a) ⇓ ⇓ ⇑ ⇑ ⇓ ⇑ ⇓ ⇑ ⇑ b) ⇑ ⇓ ⇓ ⇑ ⇑ ⇓ ⇑ ⇑ ⇓ site index 𝑓−𝑗𝑢𝐼𝐵 𝑓𝑗𝑢𝐼𝑍 𝑓−𝑗𝑢𝐼𝑍∪𝑎 𝑚 ≈ 𝑓𝑗𝑢𝐼𝑎 𝑓−𝑗𝑢𝐼𝐶

  • Lieb-Robinson bound limits the speed of propagation
  • Simulate small regions with negative-time evolutions to

correct the boundaries Recent improvement: simulation with O(n) gates, O(1) depth (optimal!) [Haah, Hastings, Kothari, Low 18]

slide-75
SLIDE 75

Lattice Hamiltonians

Can we use the geometry of the system to improve the dependence on system size? Consider a system of n spins with nearest-neighbor interactions on a grid of fixed dimension. To simulate for constant time, best previous methods (TS, QSP , high-order PF) give:

  • total number of gates: O(n2)
  • circuit depth (execution time with parallel gates): O(n)

Execution time should not have to be extensive!

𝑓−𝑗𝑢𝐼 𝑓−𝑗𝑢𝐼𝐵 𝑓𝑗𝑢𝐼𝑍 𝑓−𝑗𝑢𝐼𝑍∪𝐶 ≈ a) ⇓ ⇓ ⇑ ⇑ ⇓ ⇑ ⇓ ⇑ ⇑ b) ⇑ ⇓ ⇓ ⇑ ⇑ ⇓ ⇑ ⇑ ⇓ site index 𝑓−𝑗𝑢𝐼𝐵 𝑓𝑗𝑢𝐼𝑍 𝑓−𝑗𝑢𝐼𝑍∪𝑎 𝑚 ≈ 𝑓𝑗𝑢𝐼𝑎 𝑓−𝑗𝑢𝐼𝐶

  • Lieb-Robinson bound limits the speed of propagation
  • Simulate small regions with negative-time evolutions to

correct the boundaries Recent improvement: simulation with O(n) gates, O(1) depth (optimal!) [Haah, Hastings, Kothari, Low 18] In fact, product formulas achieve nearly the same complexity [Childs, Su 19]

slide-76
SLIDE 76

Outlook

Super-classical quantum simulation without invoking fault tolerance?

  • Improved algorithms/implementations
  • Alternative target systems
  • Noise-tolerant algorithms

Better provable bounds for simulation algorithms

  • Tighter error bounds for product formulas (e.g., go beyond the triangle inequality)
  • More efficient synthesis of the QSP circuit

Resource estimates for more practical models

  • Architectural constraints, parallelism
  • Fault-tolerant implementations

Quantum simulation as an algorithmic tool

  • Linear algebra in Hilbert space: linear systems, differential equations, convex optimization, ...
  • Find new applications of quantum simulation
slide-77
SLIDE 77