The purpose of analytic continuation is to establish a real frequency spectral representation of single-particle or two-particle correlation function (such as Green's function, self-energy function, spin and charge susceptibilities) from noisy data generated in finite temperature quantum Monte Carlo simulations. It requires numerical solutions of a family of Fredholm integral equations of the first kind, which is indeed a challenging task. In this paper, an open source toolkit (dubbed ACFlow) for analytic continuation of quantum Monte Carlo data is presented. We first give a short introduction to the analytic continuation problem. Next, three popular analytic continuation algorithms, including the maximum entropy method, the stochastic analytic continuation, and the stochastic optimization method, as implemented in this toolkit are reviewed. And then we elaborate on the major features, implementation details, basic usage, inputs, and outputs of this toolkit. Finally, four representative examples, including analytic continuations of Matsubara self-energy function, Matsubara and imaginary time Green's functions, and current-current correlation function, are shown to demonstrate the usefulness and flexibility of the ACFlow toolkit. Program summaryProgram Title: ACFlowCPC Library link to program files:https://doi.org/10.17632/th6w74gwjm.1Developer's repository link:https://github.com/huangli712/ACFlowLicensing provisions: GNU General Public License Version 3Programming language: JuliaNature of problem: Most of the quantum Monte Carlo methods work on imaginary axis. In order to extract physical observables and compare them with the experimental results, analytic continuation must be done in the post-processing stage to convert the quantum Monte Carlo simulated data from imaginary axis to real axis.Solution method: Three well-established analytic continuation methods, including the maximum entropy method, the stochastic analytic continuation (both A. W. Sandvik's and K. S. D. Beach's algorithms), and the stochastic optimization method, have been implemented in the ACFlow toolkit.Additional comments including restrictions and unusual features: The ACFlow toolkit is written in pure Julia language. It is highly optimized and parallelized. It can be executed interactively in a Jupyter notebook environment.
Read full abstract