虚数时间格林函数G(τ)或Matsubara格林函数G(iω_n)是有限温度量子多体理论[1]和量子蒙特卡罗模拟[2][3][4]中的关键物理量。它们通过以下拉普拉斯变换与谱函数A(ω)相关联:
其中x是虚数时间(τ)或Matsubara频率(iω_n),K(x, ω)是所谓的核函数。给定G(τ)或G(iω_n),可以通过分析延拓计算提取相应的谱函数A(ω),然后与相关实验进行比较。因此,分析延拓在量子多体计算(特别是在量子蒙特卡罗模拟中)中是一个极其重要的步骤,一直受到广泛关注。乍一看,分析延拓是一个定义明确的数学问题。我们需要解决的是像方程(1)这样的Fredholm积分方程。但这并不容易,因为G(x)通常带有噪声并且在虚数轴上表现出自相关性,而K(x, ω)往往是一个病态矩阵。在过去的几十年里,人们提出了许多分析延拓算法并开发了各种数值工具。然而,分析延拓问题尚未完全解决。研究人员仍在不断寻找更高效、更准确的算法。当然,也需要健壮且易于使用的软件工具。
两年前,我们发布了ACFlow工具包[5]。这是一个用纯Julia语言编写的开源分析延拓工具包。它支持三种最流行的分析延拓方法,即最大熵方法(MaxEnt)[6][7][8][9][10][11][12][13][14][15][16]、随机分析延拓方法(SAC)[17][18][19][20][21][22][23][24][25][26]和随机优化方法(SOM)[27][28][29][30]。特别是对于SAC方法,实现了Beach算法[17]和Sandvik算法[18][19][20][21]。这些方法都经过了高度优化。除了MaxEnt方法外,所有其他方法都支持并行计算和受限采样算法[19][21]。ACFlow工具包还包括大量示例、全面的文档和一些诊断工具。它已经在一些研究项目中得到了初步应用,并在量子多体物理学社区证明了其价值[31][32][33][34][35][36]。
最近,在分析延拓方法[37][38][39][40][41][42]方面取得了重大进展。同时,ACFlow工具包也在不断改进,持续整合最新的分析延拓方法。在本文中,我们宣布推出ACFlow 2.0。与ACFlow 1.0[5]相比,新版本的ACFlow工具包包含以下改进:
(1) 实现了新开发的重心有理函数近似法(BarRat)[43]、随机极点展开法(SPX)[44][45]和Nevanlinna分析延拓(NAC)方法[40][41][42]。
(2) 为MaxEnt方法增加了贝叶斯重构熵算法[46]和正负熵形式主义[16]的支持。
(3) 提供了基于网页的图形用户界面ACGui[47]。
(4) 可以通过ACTest代码[48]系统地检查ACFlow工具包中实现的分析延拓求解器。
(5> 用户手册和内部测试得到了显著改进。
本文的其余部分组织如下。第2节简要介绍了MaxEnt、BarRat、SPX和NAC方法的基本原理。第3节介绍了ACFlow 2.0的主要改进,包括新特性、新的后处理脚本、新的控制参数以及输入和输出文件的变化。第4节介绍了两个辅助工具ACGui和ACTest。第5节通过一个代表性示例展示了ACFlow 2.0的新特性。最后,第6节作为简要总结。