4 个版本 (2 个重大变更)

0.11.0 2024年8月21日
0.10.0 2024年3月22日
0.9.1 2023年6月26日
0.9.0 2023年6月23日

#61 in 科学

Download history 3/week @ 2024-07-19 11/week @ 2024-07-26 104/week @ 2024-08-16

每月116次下载

GPL-3.0-or-later

88KB
2.5K SLoC

dynast

dynast 是一个用于识别费曼图拓扑(或积分族)的程序。它基于 nauty and Traces

安装

如果您的系统已安装 Rust 和 Cargo,请运行

cargo install dynast

预编译的可执行文件可在 github 上找到。

使用方法

dynast 以 YAML 或 FORM 格式读取费曼图,并为每个图打印其拓扑以及如何平移环动量以获得传播子动量的统一分配。

基本用法是

dynast -o outfile.yml diagrams.yml

可以传递多个输入文件,例如

dynast -o outfile.yml topologies.yml diagrams.yml

以确保尽可能地将 diagrams.yml 中的图映射到 topologies.yml 中定义的拓扑。

重要选项

  • 使用 -s 标志允许映射到子拓扑,即映射到其中一个或多个传播子已缩合的图。

  • 使用 -f 在 YAML 和 FORM 输出之间切换。

  • --replace-masses--replace-momenta 可用于动力学替换,例如 --replace-momenta='{p1: q, p2: q}' 将动量 p1p2 设置为 q

输入格式

YAML

YAML 格式的输入形式如下

diagram0:
  - [from0, to0, p0, m0] # first propagator
  - [from1, to1, p1, m1] # second propagator
  # further propagators ...
---
diagram1:
  # propagators ...

fromto 是非负整数顶点标签,用于指定传播线的起始和结束位置。p 是传播子动量(例如 l1 + q)和其质量 m。允许同时省略 fromto 以表示一个与图边无关的标量积。dynast 将忽略此类标量积。

文档分隔符 --- 是可选的,但在大型输入文件中建议使用,以节省内存。

dynast 包含一个 QGRAF 风格文件 share/qgraf/yaml.sty,用于生成所需的输入。如果多个字段具有相同的质量,则必须在 QGRAF 输出的相应质量中进行手动调整。

FORM

FORM 输入文件应从以下行开始

* dynast-format: FORM

文件其余部分应包含图折叠

*--#[ DIANAME:
  diagram specification
*--#] DIANAME:

在图规范中,只解释形式为 *prop(from, to, field(fieldnr, ...)) 的传播线,其中包含任意额外的空白。省略号表示任意数量的进一步参数。仅考虑 fromtofield 规范进行拓扑映射,并将 field 解释为质量。使用 --replace-masses 选项通过实际质量替换字段。

输出格式

YAML

默认 YAML 输出由记录组成

diagram: [topology, {l1: p1, ...}]

其中 diagram 是图名,而 topology 是第一个具有相同拓扑的传递图。条目的最后一部分指示如何替换循环动量,以便到达与 topology 中的相同动量分配。

FORM

或者使用 -f form 生成 FORM 的输出。在这种情况下,仅对具有整数名称的图写入映射信息。然后,可以使用以下方式使用输出文件 topologies.frm

cf dia;
#include- topologies.frm
* example diagram
* the argument of `dia` should match the name in the dynast input file
local diagrams =
+ dia(1)
* ... diagram information (propagators, vertices)
+ dia(2)
* ... more diagrams
;

id dia(?a) = dia(?a) * topology(?a);
if(match(top(?a$a)) && match(top(?b$b)));
   print "the topology of diagram %$ is %$" $a $b;
endif;
* shift momenta to canonical form
id replace(?a) = replace_(?a);
.end

许可证:GPL-3.0-or-later

依赖关系

~16MB
~303K SLoC