What Quantum Does Best: Simulating Quantum Dynamics With Quantum Algorithms

Qiskit
Qiskit
Published in
5 min readFeb 8, 2023
Molecular spectroscopy as a typical example of a realistic experimental situation where quantum computational techniques could assist in modeling, interpreting, and verifying results.

By Alexander Miessen and Francesco Tacchino, IBM

Quantum dynamics simulations are very hard to do on classical computers. At the same time, they appear to be the most natural application of quantum computers, and could be among the first applications to show quantum speed-ups. Therefore, developing algorithms to simulate quantum dynamics on quantum computers is an active field of research, and scientists are eagerly looking for problems with efficient quantum solutions.

We recently wrote a Perspective paper in Nature Computational Science on exactly these developments, summarizing both quantum algorithms for quantum dynamics, and the state-of-the-art in applications of these algorithms to relevant problems. Below, we summarize some of the points of that paper and discuss how to get started exploring quantum dynamics with Qiskit.

What does it mean to (quantum) simulate?

Simulating natural phenomena means constructing an accurate, yet preferably simpler mathematical model to represent a problem in terms of a set of variables and underlying equations. The numerical solution of these equations allows us to, in a way, conduct an experiment on a computer. Thus, we can support both theory and experiments through idealized modeling of the real world.

Universal quantum computers could potentially outperform classical computers at modeling quantum mechanical problems, since the quantum computer, as a quantum mechanical system itself, is much closer to the system we hope to model. Of course, one can try and build a computer that is very good at encoding one specific kind of problem in the mean time — this is the goal of analog (quantum) computers. On the contrary, a digital quantum computer like those at IBM Quantum would be able to deal with arbitrary problems and not be restricted to certain applications. Such a system would not differentiate between problems from quantum chemistry, many-body quantum systems, or particle physics.

What is quantum dynamics?

Quantum dynamics refers to the study of time-evolving quantum systems. Understanding and simulating such processes is important for many applications, such as verifying experimental data or understanding how systems interact with their environments.

The central task in quantum dynamics simulations is to solve the time-dependent Schrödinger equation:

If the Hamiltonian H is not itself time-dependent, the solution of this equation (for a state at time t, |Ψ(t)⟩, is simply:

This simple-looking equation is, in reality, extremely hard to solve. In fact, except for small, idealized systems, it cannot be solved exactly. And while scientists are developing increasingly smart algorithms for simulating the time-dependent Schrodinger equation (TDSE) on on classical computers, even the best algorithms fail for more than a few hundred particles. They fail for even fewer particles if the entanglement in the system grows rapidly during the simulation, meaning particles far away from each other become correlated rapidly.

Since quantum computers are themselves essentially time-evolving quantum systems, it seems intuitive to think that the TDSE could be efficiently solved on a quantum computer. But first, we must figure out how to efficiently encode the problem we want to study onto qubits and efficiently measure the properties we are interested in. Therefore, there has been increasing focus on both the development of quantum algorithms for quantum dynamics and on identifying interesting time-dependent problems to study with a quantum computer — those that are hard for classical computers.

In our recent paper, we summarized recent algorithmic developments for quantum dynamics, and discussed opportunities and challenges in the quest for quantum advantage across various areas of applications. Those areas include quantum many-body systems, quantum chemistry, open quantum systems, and particle physics.

Qiskit’s new Time Evolution module

Let’s explore which of these developments we can tackle with Qiskit, and which algorithms can be used out-of-the-box with Qiskit’s recently introduced Time Evolvers as part of the Algorithms module.

Algorithms can be broadly classified into two categories; those that approximately implement the evolution operator e^(-iHt) (“decomposition methods”) and those that aim to variationally approximate the time-evolved state |Ψ(t)⟩ directly (“variational methods”).

Decomposition methods offer a systematic way of estimating simulation errors and resources, but tend to be more resource intensive (longer circuits and extra qubits). Nonetheless, certain kinds of decomposition methods called product formulas (PFs) appear to be the most widely adopted — most famously their simplest derivative, the Trotter formula. This is due to their simplicity and versatility, and the fact that their error and resource requirements crucially depend on the mathematics of the problem, the Hamiltonian commutators.

In Qiskit, you can construct PFs of any given order using qiskit.synthesis.ProductFormula and subsequently evolve a state using qiskit.algorithms.trotterization.TrotterQRTE(product_formula=…. In addition, qiskit.synthesis.QDrift offers randomized product formulas.

Variational methods, on the other hand, offer no systematic way of approximating error and resource cost prior to simulation but could potentially offer shorter circuits at the cost of higher measurement counts. Despite this, a lot of effort is spent developing smarter and less measurement-intensive variational methods for time evolution, hoping that these methods could prove useful for problem instances where decomposition methods still require circuits too deep for today’s noisy hardware.

Qiskit’s Time Evolvers module currently offers two variational methods for time evolution. Variational quantum real time evolution (VarQRTE) integrates an equation of motion for the implicitly time-dependent variational parameters. Note that, based on the same method, variational quantum imaginary time evolution (VarQITE) can be used for ground state search or to prepare thermal states. The projective variational quantum dynamics algorithm (p-VQD), on the other hand, evolves variational parameters by optimizing them at each time step to resemble a small Trotter step.

Applications in Qiskit Nature

In our Perspective paper, we argue that one area of application in particular, quantum many-body dynamics, is well-suited for simulation using quantum computers. This is because a lot of problems in this domain can be easily represented by a quantum computer and, at the same time, exhibit complicated physical properties that make them hard to simulate with conventional computers.

Such problems include the dynamics of lattice spin systems or of electrons in quantum chemistry. Qiskit Nature and its Second Quantization module already offers a variety of useful functionalities in this domain, specifically the lattices submodule, which can be used to construct arbitrary lattices and subsequently define second quantization operators. The IsingModel, HeisenbergModel, and FermiHubbardModel classes all leverage the lattices module to construct the respective Hamiltonians in second quantization. These can then be mapped to Pauli operators using the Mappers module to obtain a representation of the problem for use in combination with Qiskit’s Algorithms module, including the above time evolution methods, and eventually be simulated on a quantum processor.

In the future, problems from other areas of application such as quantum chemistry, open quantum systems or particle physics may just as well be efficiently simulated on quantum computers.

--

--

Qiskit
Qiskit

An open source quantum computing framework for writing quantum experiments and applications