# Quantum Boltzmann machine: How do you sample from the Boltzmann distribution on a quantum computer?

I am reading through the following article https://arxiv.org/abs/1601.02036.

Eq. (22) describes one of the terms of the gradient of the log-likelihood cost function, which can be estimated using Boltzmann averaging.

Eq. (22) looks like this

$$\frac{Tr[e^{-H}\delta_\theta H]}{Tr[e^{-H}]},$$ and the article states that this term can be estimated by sampling from eq. (12).

Eq. (12) looks like this

$$\rho = \frac{e^{-H}}{Tr[e^{-H}]}.$$

Can someone give me an explanation of how this is done on a quantum computer? I was thinking that the expectation of the truncated Taylor expansion term $$e^{-H} \approx I - H$$ could be evaluated $$\langle v| I - H |v \rangle,$$ for every basis state $$|v \rangle$$ and this would make it possible to estimate the diagonal of $$\rho$$. However, this task would be exponential in the number of qubits so I suspect that this is not how to do it. Any ideas?

• reading section V in the paper, it seems like they are saying that these types of $\rho$ can be generated using e.g. annealer devices, but it's not that easy a task
– glS
Nov 13 '20 at 17:11