用pySecDec进行双环积分的数值计算外文翻译资料

 2022-03-02 21:45:27

英语原文共 10 页,剩余内容已隐藏,支付完成后下载完整资料


用pySecDec进行双环积分的数值计算

S. Borowka

瑞士日内瓦CERN理论物理系

马克斯普朗克物理研究所,F#39;ohringer Ring6,80805Muuml;nchen,德国

J. Schlenk

IPPP,达勒姆大学,南路,达勒姆DH1 3LE,英国

我们描述了pySecDec程序,它将多维参数积分中的端点单位分解,并可用于计算在数值上的高阶微扰计算中出现的积分。我们专注于新功能和关于程序使用的常见问题。

1.介绍

在欧洲核子研究中心大型强子对撞机(LHC),对希格斯部门的探索才刚刚开始。正在和将要产生具有前所未有精度的数据,这使我们能够进一步探索基本问题,如电弱对称性破坏的性质,到目前为止我们只能通过发现希格斯玻色子一瞥。将这些数据与理论预测进行比较对于确定“新物理学”的效果至关重要,“新物理学”可能通过循环效应间接地表现出来。因此,高精度理论预测对于LHC计划的成功是必不可少的,在未来的对撞机中更是如此。

为了提高理论预测的精度,需要计算强和电弱耦合常数的扰动扩展的更高阶。这种校正通常涉及积分,取决于两个(或更多)环路处的几个运动学/质量标度,其中分析结果难以实现。

在这些情况下,数值方法可以提供解决方案。在存在尺寸调节单一的情况下证明有用的方法是扇形分解[1-4],因为它提供了一种算法,以自动方式对这种奇点进行分解。调节器中得到的Laurent系列的系数是参数积分,可以用数字积分。该算法已在程序SecDec [5-8]中实现,其中从2.0版[6]开始,通过将扇形分解与将多维积分轮廓变形为的方法相结合,提升了对欧几里德运动学的限制。复平面[9,10]。扇区分解算法的其他实现可以在参考文献中找到。 [11-18]。

在本文中,我们描述了SecDec程序的新版本,名为pySecDec [8]。我们特别关注用户界面,为“常见问题”提供答案。

2.该计划的结构

该程序由两个基本部分组成:基于python和FORM [19-21]的代数部分,以及基于C 代码的数字部分。调节端点奇点的隔离和随后的数值积分可以作用于一般多项式函数,其中Feynman积分是一种特殊情况。

循环积分(在Feynman参数化和动量积分之后)可以被认为是这些更通用的多项式积分的特殊情况。在python代码中,这由以下结构反映:python函数make包接受一个多项式列表,它们以各自的幂作为输入 - 对应于图1中的方框(1b)。相比之下,循环包采用a循环积分(可选地来自其图形或其传播器表示),其对应于框(1a)。在构建了循环积分的Feynman参数化之后,循环包调用使包进一步处理。步骤(1)至(7)以python和FORM执行,其中FORM生成优化的C 代码。编译的integrand函数默认组合到一个库中。对于数值积分,我们为古巴[22]图书馆的整合者提供了一个简单的界面。用户还可以直接访问被积函数,例如将它们传递给外部积分器。

2.1安装

该程序可以从http://secdec.hepforge.org 或https://github.com/mppmu/secdec下载。它依赖于python并运行版本2.7和3。它还使用包(http://www.numpy.org)和sympy(http://www.sympy.org)。

最简单的方法是从https://github.com/mppmu/secdec/releases/latest上的发行版tarball安装pySecDec。下载后,pySecDec由以下shell命令安装:tar -xf pySecDec-lt;versiongt;.tar.gz cd pySecDec-lt;versiongt;makelt;copy the highlighted output lines into your .bashrcgt;

除了pySecDec本身之外,make命令还会自动构建进一步的依赖关系。这些是多维数值积分所需的古巴图书馆[22,23],表达式代数操作的FORM [19-21]和产生优化的C 代码,Nauty [24]以找到扇区对称性和GSL图书馆[25]。要复制到.bashrc中的行定义环境变量,以确保找到pySecDec及其依赖项。强烈建议pySecDec用户在使用该程序时引用其他依赖项。

几何扇形分解策略

几何分解策略几何和几何ku需要程序Normaliz [26,27]。在pySecDec 1.3版中,已知Normaliz的3.0.0,3.1.0,3.1.1,3.3.0和3.4.0版本可以正常工作。

multiscale?

no

yes

Cmǫm

n

Sigma;

m =minus;2L

result

9

numerical integration

8

code optimization

7

contour deformation

4

subtraction of poles

5

expansion

in ǫ

6

1b parameter

integral

sector

decomposition

3

Feynman integral

2

loop integral

1a

图 1. 流程图显示了pySecDec的主要构建块

可以从https://www.normaliz.uni-osnabrueck.de下载不同系统的预编译可执行文件。我们建议将其路径导出到终端的环境,以便始终找到normaliz可执行文件。或者,可以使用normaliz executable = [normaliz]的路径将路径直接传递给调用它的函数。可以在不安装Normaliz的情况下使用策略迭代。

2.2使用

该程序附带pdf(doc / pySecDec.pdf)和html(doc / html / index.html)格式的详细文档。在线咨询可以在https://secdec.readthedocs.io/en/latest找到。在示例文件夹中,我们提供了有关如何应用程序的几种方法的示例。一种是在“独立”模式下使用pySecDec来获得单个积分的数值结果。这在很大程度上与之前的SecDec版本的使用方式相对应。另一个允许生成可以与幅度或其他表达式的计算相关联的库,以评估这些表达式中包含的积分。

要开始使用,我们建议您阅读在线文档中的“入门”部分。基本步骤可归纳如下:

1.生成一个python脚本来定义积分,运动不变量的替换规则,调节器中请求的顺序以及其他一些选项(参见例如单循环框示例box1L / generate box1L.py)。

2.使用python运行脚本。这将根据脚本中指定的名称生成子目录。

3.键入make -C lt;namegt;,其中lt;namegt;是您选择的名称。这将创建C 库。

4.使用python接口生成一个python脚本来执行数值积分(参见例如box1L / integrate box1L.py)。

进一步的使用选项,例如循环遍历多个运动点,在文档和参考文献中有所描述。 [8]。

代数包也可用于积分的符号操作。当处理非标准循环积分时,或者如果用户想要干涉代数部分的中间阶段时,这可能是特别有意义的。

2.3 新功能

除了完全重构和使用开源软件外,与SecDec 3相比还有各种新功能:这些功能可以为端点单位提供任意数量的调节器,而不仅仅是尺寸调节器。循环积分的分子处理更灵活。可以根据收缩的洛伦兹向量或反向传播器或两者的组合来定义数值。“通用函数”和“循环集成”之间的区别被删除,因为所有特征都可用于循环积分和通用多项式函数(只要它们在循环上下文之外有意义)。已经促进和扩展了包括不进入分解的附加功能。对比高于对数的极点的处理得到了改进。

已经实现了一种程序来检测和重新映射xi = 1处的奇点,这是由特殊的运动学配置产生的。已经实现了对称取景器[28],它可以检测扇区之间的等变量。可以绘制图表(可选地,基于neato [29];但是如果没有安装neato,程序将正常运行)。现在可以使用生成的C 库评估多个积分甚至幅度。

2.4 经常问的问题

在下文中,我们列出了在使用程序期间可能出现的一些问题,并给出了应该使用户无需搜索手册的答案。

bull;如何调整数值积分参数?

如果python接口用于数值积分,即像示例/集成box1L.py这样的python脚本,则可以在积分器调用的参数列表中指定积分参数。例如,使用Vegas作为集成商:

box1L.use Vegas(flags = 2,epsrel = 1e-3,epsabs = 1e-12,nstart = 5000,nincrease = 10000,maxeval = 10000000,real complex together = True)

或者,使用Divonne作为积分器:

box1L.use Divonne(flags = 2,epsrel = 1e-3,epsabs = 1e-12,maxeval = 10000000,border = 1e-8,real complex together = True)

参数real complex一起告诉积分器同时积分实部和虚部。可以在本手册第5.9节末尾找到集成商可能的选项列表。

bull;如何提高数值精度?如果满足以下任何条件,积分器将停止:

(1)达到epsrel,(2)达到epsabs,(3)达到maxeval。因此,相应地设置这些参数将使集成器进行更多迭代以获得更准确的结果。

bull;如何调整轮廓变形参数?您可以在python脚本中为积分调用的参数指定参数,例如,参见第12行示例/集成box1L.py: 没有前因子的str积分,str prefactor,

str积分与prefactor = box1L(实参数= [4。, - 0.75,1.25,1。],预采样数= 1000000,变形参数最大= 0.5)这将预采样点的数量设置为106(默认值:105),并将轮廓变形参数lambda;的最大值(变形参数最大值)设置为0.5(默认值:1)。用户应确保变形参数maximum始终大于变形参数minimum(默认值:10-5)。这些参数在第5.9节中解释。 “参数”下的手册。

·如果程序因包含错误消息而停止,我该怎么办?

“签收错误”?

如果轮廓变形导致Feynmanidelta;处方的错误符号,则会发生此错误,这通常是由于变形参数lambda;太大的事实。

为预采样数量选择较大的值,为变形参数最大值选择较小的值(例如0.5)(参见上面的项目)。如果这没有帮助,你可以试试0.1而不是0.5

变形参数最大。

bull;“附加前因子”究竟意味着什么?我们首先应该指出,用户定义的附加前缀的约定已在SecDec 3和pySecDec之间进行了更改。用户指定的前因子现在将包含在数值结果中。为了明确“附加”的含义,我们在此重复我们对Feynman积分的约定:在具有N个传播器的L环中的D维中的标量Feynman图tt,其中传播器可以具有任意的,不一定是整数的功率nu;j,在动量空间中具有以下表示:

其中qj是外部动量pi和环动量k1的线性组合。引入费曼参数可得

前因来自费曼参数化的数据将始终包含在数值结果中,对应于附加的前因子= 1(默认值),即程序将返回tt的数值。如果用户定义了额外的prefactor =#39;gamma(3-2 * eps)#39;,那么除了来自Feynman参数化的数据结果之外,这个前因子将在s中扩展并包含在pySecDec返回的数值结果中。

对于与循环积分无关的一般多项式,即在make包中,由用户提供的前因子是唯一的前因子,因为在这种情况下没有来自费曼参数化的前因子。

这就是为什么在make包中用户定义的pref-actor的关键字是prefactor的原因,而在循环包中它是附加的前因子。

·如果我得到#39;nan#39;,我该怎么办?

这意味着积分不会收敛并且可能有几个原因。当Divonne用作积分器时,重要的是对边界使用非零值,例如边界= 1E-8。拉斯维加斯一般是最强大的集成商。使用Vegas时,尝试增加nstart和nincrease的值,例如nstart = 10000(默认值:1000)和nincrease = 5000(默认值:500)。

·我可以将自己的函数包含在循环积分的分子中吗?

是的,只要函数在极限s

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[427392],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。