This repository contains the implementation of a Quantum Hamiltonian Learning protocol. The protocol aims to estimate the coefficients of a sparsely interacting Hamiltonian by leveraging the dynamics of the system under unitary evolution. Details are in the manuscript.
The Hamiltonian learning problem involves inferring the coefficients of a Hamiltonian on an
Consider a Hamiltonian
Here, each
The Hamiltonian learning problem can be approached using two types of data access:
-
Unitary Evolution: The system can be prepared in an initial product state
$\rho_0$ and evolved for a specified time$t$ . Measurements of Pauli observables can be made on the time-evolved state. -
Gibbs States: The system can be prepared in a Gibbs state at a specified temperature
$\beta^{-1}$ . Measurements of Pauli observables can be made on the Gibbs state.
The objective of the Hamiltonian learning problem is to estimate the coefficients ε
multiplied by the maximum absolute value of the coefficients. The estimation should have a success probability of at least
A key notion in this work is a `sparsely interacting Hamiltonian'. This refers to a Hamiltonian with a specific structure in its interactions. The interaction graph of the Hamiltonian provides insights into its sparsity.
The interaction graph (also known as the "dual" interaction graph) of a Hamiltonian
- Vertices: Each vertex represents a Pauli operator
$P_m$ in the Hamiltonian, where$m$ ranges from$1$ to$r$ (the total number of Pauli operators). - Edges: Edges exist between vertices
$P_i,P_j$ if the support of their corresponding Pauli operators overlap, and$i \neq j$ .
The support of a Pauli operator
The degree
A sparsely interacting Hamiltonian is characterized by having a degree
For instance, the following is the interaction graph for a 10-qubit transverse field Ising model.
The coloring shown on the right is used to do simultaneous inference of many Hamiltonian coefficients (see Section IV B of the manuscript).
We include a notebook simulations.ipynb
that simulates an 80-qubit transverse field Ising model. The function ham_learn
accepts three parameters: a graph G
representing the Hamiltonian interaction graph, eps
corresponding to delta
corresponding to add_noise
which simply tells us whether we want to add the effects of shot noise into the simulation, and finally optimizations
. The optimizations
parameter is a boolean array of length 3, and indicates whether we want to activate the three heuristic optimizations discussed in Appendix F of the manuscript.