quantumlib / OpenFermion

The electronic structure package for quantum computers.
Apache License 2.0
1.52k stars 376 forks source link

Intelligent optimizers for variational algorithms #153

Closed babbush closed 6 years ago

babbush commented 6 years ago

Implementing variational algorithms requires some classical outer loop routine which takes as input a collection of measurements together with a specification of the variational parameters and outputs new variational parameters which should be run by the circuit.

Several papers have explored different optimizers including (https://arxiv.org/abs/1704.05018) which focuses on simultaneous perturbation stochastic approximation and (https://arxiv.org/abs/1701.02691) which explores and compares several different optimizers.

But one can imagine these schemes getting even much more sophisticated. For instance, one might start the procedure by using the 2-RDM obtained via CISD as a Bayesian prior on what the measurement outcomes should be. In such an approach, the routine should not only output what variational parameters to try next, but also which terms to measure next (as certain terms will lower the variance of the estimator of the energy more than others according to the prior).

In a real device there is parameter drift and fluctuations in T1 (which affects measurements) which suggests that one should perhaps employ some sort of Kalman filtering as well.

If anyone wants to talk about these ideas or suggest new modules along these lines, consider this an open thread.

babbush commented 6 years ago

We are working on this in another library to be released soon. OpenFermion is not really the appropriate place.