QFlow - Quantum Variational Monte Carlo Framework¶
Warning
This package, including these documentation pages, are under acive development. If you somehow stumbled across this now, you should make a reminder to check back in in a month or two.
This package provides convenient functionality to solve quantum mechanical many-body systems using the Variational Monte Carlo technique. It provides a modular interface which allows any combination of trial wavefunctions, Hamiltonians, sampling strategies and optimization algorithm.
qflow
provides a kind Python API to an efficient C++ backend. The Python API
is simply a near-zero cost abstraction layer to the underlying machinery, and
performance can be just as good as using the C++ sources directly.
Features¶
Convenient and consistent Python API
Optimized C++ backend
Support for near perfect parallelization with MPI
A generic Feed-Forward Neural Network implementation which allows to include arbitrary deep networks as part of trail wavefunctions
The main selling point of qflow
, as opposed to the _many_ VMC implementations
that exist, is the support for arbitrary Feed-Forward Neural Networks. To our
knowledge, no other package allows you to introduce such networks into the
trail wavefunctions for real-valued quantum systems.
The recent project NetKet is a more mature package, with far more contributors working on it. They similarly provide facilities to do VMC with neural networks, although they seem to be dependent on a _graph_ of possible sites. This seems to discard systems of freely moving particles, where particles are to be described by their spacial coordinates, rather than a set of quantum numbers.
Note
This is entirely based on the understanding of the author of this package, and might be incorrect. Please consider NetKet for yourself, as it very well might be a better fit for your application.