Simulating Hamiltonian dynamics on a small quantum computer
Andrew Childs Department of Combinatorics & Optimization and Institute for Quantum Computing University of Waterloo
based in part on joint work with Dominic Berry, Richard Cleve, Robin Kothari, and Rolando Somma “... 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 Simulating physics with computers (1981) Outline • The Hamiltonian simulation problem • Three approaches to simulation - Product formulas - Quantum walk - Fractional queries • Comparison of methods for small-scale simulations Hamiltonian simulation
Problem: Given* a Hamiltonian H, a time t, and an error tolerance ² (say, with respect to trace distance), find a quantum circuit that performs the unitary operation e—iHt (on an unknown quantum state) with error at most ².
* For an efficient simulation, H should be concisely specified.
More generally, H can be time-dependent.
Applications: • Simulating physics • Implementing continuous-time quantum algorithms (quantum walk, adiabatic optimization, linear equations, ...) Local and sparse Hamiltonians
Local Hamiltonians [Lloyd 96]
m H = j=1 Hj where each H j acts on k = O(1) qubits P Sparse Hamiltonians [Aharonov, Ta-Shma 03]
At most d nonzero entries per row, d = poly(log N) (where H is N N) £ In any given row, the location of the jth nonzero entry and its value can be computed efficiently (or is given by a black box)
k Note: A k-local Hamiltonian with m terms is d-sparse with d = 2 m What should we simulate? Consider a two-dimensional grid of n qubits, with interactions only between nearest neighbors (at most 2n terms). • Initialize system in a product state • Evolve for time t • Measure a local observable for each spin This is probably hard to do with a classical computer for more than about 30 qubits.
Related question: How can we apply quantum simulation to solve computational problems in quantum chemistry, materials science, etc.? (See, e.g., the talks by Alán and Matthias.) Overview of simulation methods Product formulas • Decompose Hamiltonian into a sum of terms and recombine by alternating between them • With high-order formulas, complexity can be close to linear in t, but with an exponential prefactor Quantum walk • Implement a unitary operation whose spectrum is related to the Hamiltonian; use phase estimation to adjust the eigenvalues • Complexity is linear in t with no large prefactor; also improved dependence on sparsity Fractional queries • Perform a compressed simulation of a very accurate product formula • Strictly improves over product formulas, with no large prefactors • Dependence on error is poly(log (1/²)) instead of poly(1/²) Product formulas Simulating a sum of terms
m Suppose we want to simulate H = i=1 Hi Combine individual simulations withP the Lie product formula:
iAt/r iBt/r r i(A+B)t lim e e = e r !1 iAt/r iBt/r r i(A+B)t 2 e e = e + O(t /r)
To ensure error at most ², take r = O ( H t ) 2 / ✏ k k
[Lloyd 96] High-order product formulas To get a better approximation, use higher-order formulas:
iAt/r iBt/r r i(A+B)t 2 e e = e + O(t /r)
iAt/2r iBt/r iAt/2r r i(A+B)t 3 2 e e e = e + O(t /r )