Motivation
In quantum many-body computations, analytic continuation usually plays a vital role. Its objective is to convert Green's function $G$ from imaginary time ($\tau$) or Matsubara frequency ($i\omega_n$) axis to real time ($t$) or real frequency ($\omega$) axis, extracting spectral function $A(\omega)$ for comparison with experimental data. From a mathematical perspective, $G(\tau)$ or $G(i\omega_n)$ is related to $A(\omega)$ through the well-known Laplace transformation. Given $G(\tau)$ or $G(i\omega_n)$, analytic continuation calculation is essentially finding the associated $A(\omega)$ that satisfies the Laplace transformation. This is a typical inverse problem. Note that the solution, i.e., $A(\omega)$, is particularly sensitive to numerical fluctuations or noises in the input data, i.e., $G(\tau)$ or $G(i\omega_n)$. This poses a severe challenge to the analytic continuation methods.
Over the past few decades, people have developed many analytic continuation methods, including the Pad\'{e} approximation, maximum entropy method, stochastic analytic continuation, stochastic optimization method, stochastic pole expansion, Nevanlinna analytical continuation, sparse modeling, causal projections, Prony fits, and machine learning-aided methods, to name a few. Unfortunately, nowadays there is no perfect and universal method for solving analytic continuation problems. The existing methods have their own advantages and disadvantages, as well as their scopes of applications. We need a quantitative comparison standard to determine their relative merits. In addition, people have developed several analytic continuation toolkits, such as ACFlow, $\Omega$Maxent, ana_cont, Nevanlnna.jl, maxent (in ALPSCore), Nevanlinna (in TRIQS), SOM (in TRIQS), Stoch (in ALF), SmoQyDEAC.jl, etc. Are these analytic continuation toolkits reliable? Can their accuracy meet the requirements? These are open questions that need to be addressed.
To answer or solve the aforementioned questions, we would like to introduce an open-source toolkit ACTest in this paper. ACTest can randomly generate a large number of $A(\omega)$, along with the corresponding $G(\tau)$ or $G(i\omega_n)$. It is worth emphasizing that $G(\tau)$ or $G(i\omega_n)$ should be supplemented with artificial noises to mimic input data from realistic quantum many-body calculations. The synthetic $A(\omega)$ and $G(\tau)$ [or $G(i\omega_n)$] can be used to benchmark the existing or newly developed analytic continuation methods, examining their computational accuracies and efficiencies. The ACTest toolkit comes with a standard dataset containing 100 spectral functions, known as ACT100. This built-in dataset can be used to assess the merits of different analytic continuation methods in a relatively fair, reproducible, and quantitative manner. People can also employ the ACTest toolkit to create large datasets, which can serve as training and testing datasets for machine learning-aided methods. Currently, the ACTest toolkit has been integrated with the ACFlow toolkit. Thus, it allows direct calls of various methods as implemented in the ACFlow toolkit for analytic continuation calculations.