-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbanana_3L_2mass_eps001_black_box_amflow_mma.wl
More file actions
89 lines (77 loc) · 2.22 KB
/
Copy pathbanana_3L_2mass_eps001_black_box_amflow_mma.wl
File metadata and controls
89 lines (77 loc) · 2.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
(* ::Package:: *)
(*
3L banana 2mass (alt placement, s=1/2).
*)
current = If[$FrontEnd === Null, $InputFileName, NotebookFileName[]] // DirectoryName;
repo = FileNameJoin[{current, "..", ".."}];
Get[FileNameJoin[{repo, "reference", "amflow-master", "AMFlow.m"}]];
SetReductionOptions[
"IBPReducer" -> "Kira",
"BlackBoxRank" -> 0,
"BlackBoxDot" -> 3,
"DeleteBlackBoxDirectory" -> False
];
Kira`$KiraExecutable = "/usr/local/bin/kira";
Kira`$FermatExecutable = "/usr/share/Ferl7/fer64";
SetAMFOptions[
"AMFMode" -> {"Prescription", "Mass", "Propagator"},
"EndingScheme" -> {"Tradition", "SingleMass"},
"WorkingPre" -> 120, "ChopPre" -> 20, "RationalizePre" -> 100,
"XOrder" -> 200, "ExtraXOrder" -> 240,
"LearnXOrder" -> -1, "TestXOrder" -> 5
];
AMFlowInfo["Family"] = ban32m;
AMFlowInfo["Loop"] = {l1, l2, l3};
AMFlowInfo["Leg"] = {p1};
AMFlowInfo["Conservation"] = {};
AMFlowInfo["Replacement"] = {
p1^2 -> psq
};
AMFlowInfo["Propagator"] = {
l1^2 - mAsq,
l2^2 - mBsq,
l3^2,
(l1 + l2 + l3 - p1)^2,
(l1 + p1)^2,
(l2 + p1)^2,
(l3 + p1)^2,
(l1 - l2)^2,
(l1 - l3)^2
};
AMFlowInfo["Numeric"] = {
psq -> 1/2,
mAsq -> 1,
mBsq -> 4
};
AMFlowInfo["NThread"] = 4;
targets = { j[ban32m, 1, 1, 1, 1, 0, 0, 0, 0, 0] };
epslist = {1/1000};
cache = Environment["AMF_BENCH_MMA_CACHE"];
If[cache === $Failed || cache === None,
cache = FileNameJoin[{repo, "tools", "bench", "mma_refs",
"banana_3L_2mass_eps001_mma_cache"}]];
Print["==BENCH== mma 3L banana 2mass (alt placement, s=1/2)."];
Print["==CACHE== ", cache];
Print["==EPS== ", epslist // InputForm];
elapsed = AbsoluteTiming[
sol = BlackBoxAMFlow[targets, epslist, cache];
][[1]];
Print["==TIME== ", elapsed];
Print["==RESULT_INPUTFORM== ", sol // InputForm];
Do[
key = Keys[sol][[i]];
val = Values[sol][[i, 1]];
Print["==VALUE== ", key // InputForm, " :: ",
N[Re[val], 50] // InputForm, " :: ", N[Im[val], 50] // InputForm],
{i, Length[Keys[sol]]}
];
sysSol = Get[FileNameJoin[{cache, "1", "solution"}]];
If[Head[sysSol] === List,
Do[
key = sysSol[[i, 1]];
val = sysSol[[i, 2, 1]];
Print["==SAMPLED== ", key // InputForm, " :: ",
N[Re[val], 50] // InputForm, " :: ", N[Im[val], 50] // InputForm],
{i, Length[sysSol]}
]];
Quit[];