Skip to content

Commit

Permalink
Modified the behavior of FCE not to apply MomentumCombine to GFADs.
Browse files Browse the repository at this point in the history
  • Loading branch information
vsht committed Aug 7, 2024
1 parent 4b30ada commit 7baa076
Show file tree
Hide file tree
Showing 7 changed files with 61 additions and 60 deletions.
9 changes: 8 additions & 1 deletion FeynCalc/Shared/FeynCalcExternal.m
Original file line number Diff line number Diff line change
Expand Up @@ -109,12 +109,19 @@
TemporalPair,
Power2
} /. sequence -> Sequence];
rv = Map[(# -> ((MomentumCombine[#])/.ru ) )&, vv]//Dispatch;

rv = Map[(# -> ((momentumCombine[#])/.ru ) )&, vv]//Dispatch;
revru = Map[Reverse, SelectFree[ru,Power]];

x /. rv /. Dispatch[revru]
];

momentumCombine[x_]:=
x /; !FreeQ[x,GenericPropagatorDenominator];

momentumCombine[x_]:=
MomentumCombine[x] /; FreeQ[x,GenericPropagatorDenominator];

diracdelta[i_,j_]:=
DIDelta[i,j] /. (DiracIndex|ExplicitDiracIndex) -> iDent;

Expand Down
30 changes: 8 additions & 22 deletions Tests/LoopIntegrals/FCLoopAddScalingParameter.test
Original file line number Diff line number Diff line change
Expand Up @@ -28,32 +28,24 @@ mb^2}, {}]"},
p1,0},{-mc^2,-1},1}],SFAD[{{I \
(p1-q),0},{-mc^2,-1},1}]},{p1},{q},{SPD[q,q]->mb^2},{}],la,{q->la^0 \
q,mc->la^1 mc},FCVerbose->-1,FCE->True]",
"FCTopology[prop1LtopoC11, {GFAD[{{la^2*mc^2 - SPD[p1, p1], -1}, \
1}], GFAD[{{-mb^2 + la^2*mc^2 + SPD[p1, -p1 + 2*q], -1}, 1}]}, {p1}, \
{q}, {SPD[q, q] -> mb^2}, {}]"},
"FCTopology[prop1LtopoC11, {GFAD[{{la^2*mc^2 - SPD[p1, p1], -1}, 1}], GFAD[{{-mb^2 + la^2*mc^2 - SPD[p1, p1] + 2*SPD[p1, q], -1}, 1}]}, {p1}, {q}, {SPD[q, q] -> mb^2}, {}]"},
{"fcstFCLoopAddScalingParameter-ID3",
"FCLoopAddScalingParameter[FCTopology[prop1LtopoC11,{SFAD[{{I \
p1,0},{-mc^2,-1},1}],SFAD[{{I \
(p1-q),0},{-mc^2,-1},1}]},{p1},{q},{SPD[q,q]->mb^2},{}],la,{q->la^0 \
q,mc->la^1 \
mc},Names->Function[{x},ToExpression[ToString[x]<>\"ff\"]],FCVerbose->-\
1,FCE->True]",
"FCTopology[prop1LtopoC11ff, {GFAD[{{la^2*mc^2 - SPD[p1, p1], -1}, \
1}], GFAD[{{-mb^2 + la^2*mc^2 + SPD[p1, -p1 + 2*q], -1}, 1}]}, {p1}, \
{q}, {SPD[q, q] -> mb^2}, {}]"},
"FCTopology[prop1LtopoC11ff, {GFAD[{{la^2*mc^2 - SPD[p1, p1], -1}, 1}], GFAD[{{-mb^2 + la^2*mc^2 - SPD[p1, p1] + 2*SPD[p1, q], -1}, 1}]}, {p1}, {q}, {SPD[q, q] -> mb^2}, {}]"},
{"fcstFCLoopAddScalingParameter-ID4",
"FCLoopAddScalingParameter[FCTopology[prop2Ltopo22012,{SFAD[{{I \
(p1-q),0},{-mc^2,-1},1}],SFAD[{{I p1,0},{-mc^2,-1},1}],SFAD[{{I \
(p1+p3-q),0},{0,-1},1}],SFAD[{{I (p1+p3),0},{-mb^2,-1},1}],SFAD[{{-I \
p3,0},{-mc^2,-1},1}]},{p1,p3},{q},{SPD[q,q]->mb^2},{}],la,{mc->la^1 \
mc,p1->la^1 p1,p3->la^0 p3},FCVerbose->-1,FCE->True]",
"FCTopology[prop2Ltopo22012, {GFAD[{{-mb^2 + la^2*mc^2 - \
la^2*SPD[p1, p1] + 2*la*SPD[p1, q], -1}, 1}], SFAD[{{I*p1, 0}, \
{-mc^2, -1}, 1}], GFAD[{{-mb^2 - la^2*SPD[p1, p1] - 2*la*SPD[p1, p3] \
+ 2*la*SPD[p1, q] + SPD[p3, -p3 + 2*q], -1}, 1}], GFAD[{{mb^2 - \
la^2*SPD[p1, p1] - 2*la*SPD[p1, p3] - SPD[p3, p3], -1}, 1}], \
GFAD[{{la^2*mc^2 - SPD[p3, p3], -1}, 1}]}, {p1, p3}, {q}, {SPD[q, q] -> \
mb^2}, {}]"},
"FCTopology[prop2Ltopo22012, {GFAD[{{-mb^2 + la^2*mc^2 - la^2*SPD[p1, p1] + 2*la*SPD[p1, q], -1}, 1}], SFAD[{{I*p1, 0}, {-mc^2, -1}, 1}], GFAD[{{-mb^2 - la^2*SPD[p1, p1] - 2*la*SPD[p1, p3] + 2*la*SPD[p1, q] - SPD[p3, p3] + 2*SPD[p3, q], -1}, 1}],
GFAD[{{mb^2 - la^2*SPD[p1, p1] - 2*la*SPD[p1, p3] - SPD[p3, p3], -1}, 1}],
GFAD[{{la^2*mc^2 - SPD[p3, p3], -1}, 1}]}, {p1, p3}, {q}, {SPD[q, q] -> mb^2}, {}]"},
{"fcstFCLoopAddScalingParameter-ID5",
"FCLoopAddScalingParameter[{FCTopology[prop1LtopoC11,{SFAD[{{I \
p1,0},{-mc^2,-1},1}],SFAD[{{I \
Expand All @@ -63,15 +55,9 @@ p1,0},{-mc^2,-1},1}],SFAD[{{I (p1+p3-q),0},{0,-1},1}],SFAD[{{I \
(p1+p3),0},{-mb^2,-1},1}],SFAD[{{-I \
p3,0},{-mc^2,-1},1}]},{p1,p3},{q},{SPD[q,q]->mb^2},{}]},la,{mc->la^1 \
mc,p1->la^1 p1,p3->la^0 p3},FCVerbose->-1,FCE->True]",
"{FCTopology[prop1LtopoC11, {SFAD[{{I*p1, 0}, {-mc^2, -1}, 1}], \
GFAD[{{-mb^2 + la^2*mc^2 - la^2*SPD[p1, p1] + 2*la*SPD[p1, q], -1}, \
1}]}, {p1}, {q}, {SPD[q, q] -> mb^2}, {}], \
FCTopology[prop2Ltopo22012, {GFAD[{{-mb^2 + la^2*mc^2 - la^2*SPD[p1, \
p1] + 2*la*SPD[p1, q], -1}, 1}], SFAD[{{I*p1, 0}, {-mc^2, -1}, 1}], \
GFAD[{{-mb^2 - la^2*SPD[p1, p1] - 2*la*SPD[p1, p3] + 2*la*SPD[p1, q] \
+ SPD[p3, -p3 + 2*q], -1}, 1}], GFAD[{{mb^2 - la^2*SPD[p1, p1] - \
2*la*SPD[p1, p3] - SPD[p3, p3], -1}, 1}], GFAD[{{la^2*mc^2 - SPD[p3, \
p3], -1}, 1}]}, {p1, p3}, {q}, {SPD[q, q] -> mb^2}, {}]}"},
"{FCTopology[prop1LtopoC11, {SFAD[{{I*p1, 0}, {-mc^2, -1}, 1}], GFAD[{{-mb^2 + la^2*mc^2 - la^2*SPD[p1, p1] + 2*la*SPD[p1, q], -1}, 1}]}, {p1}, {q}, {SPD[q, q] -> mb^2}, {}],
FCTopology[prop2Ltopo22012, {GFAD[{{-mb^2 + la^2*mc^2 - la^2*SPD[p1, p1] + 2*la*SPD[p1, q], -1}, 1}], SFAD[{{I*p1, 0}, {-mc^2, -1}, 1}], GFAD[{{-mb^2 - la^2*SPD[p1, p1] - 2*la*SPD[p1, p3] + 2*la*SPD[p1, q] - SPD[p3, p3] + 2*SPD[p3, q], -1}, 1}],
GFAD[{{mb^2 - la^2*SPD[p1, p1] - 2*la*SPD[p1, p3] - SPD[p3, p3], -1}, 1}], GFAD[{{la^2*mc^2 - SPD[p3, p3], -1}, 1}]}, {p1, p3}, {q}, {SPD[q, q] -> mb^2}, {}]}"},
{"fcstFCLoopAddScalingParameter-ID6",
"FCLoopAddScalingParameter[
FCTopology[
Expand Down
5 changes: 3 additions & 2 deletions Tests/LoopIntegrals/FCLoopBasis.test
Original file line number Diff line number Diff line change
Expand Up @@ -731,8 +731,9 @@ q2]},{q1,q2},FCE\[Rule]True]",
{"fcstFCLoopBasisExtract-ID23",
"FCLoopBasisExtract[
GFAD[{{CSPD[k, k] x[1] + (CSPD[k, k - 2 p] + CSPD[p, p]) x[2], -1}, 1 + s}] CFAD[{k, -c^2}], {k}, FCE -> True]",
"{{CSPD[k, k]*x[1] + CSPD[k, k]*x[2] - 2*CSPD[k, p]*x[2] + CSPD[p, p]*x[2], -c^2 + CSPD[k, k]}, {CSPD[k, k], CSPD[k, p]}, {1 + s, 1},
{GFAD[{{CSPD[k, k]*x[1] + (CSPD[k, k - 2*p] + CSPD[p, p])*x[2], -1}, 1}], CFAD[{{k, 0}, {-c^2, -1}, 1}]}}"},
"{{CSPD[k, k]*x[1] + CSPD[k, k]*x[2] - 2*CSPD[k, p]*x[2] + CSPD[p, p]*x[2], -c^2 + CSPD[k, k]}, {CSPD[k, k],
CSPD[k, p]}, {1 + s, 1}, {GFAD[{{CSPD[k, k]*x[1] + (CSPD[k, k] - 2*CSPD[k, p] + CSPD[p, p])*x[2], -1}, 1}],
CFAD[{{k, 0}, {-c^2, -1}, 1}]}}"},
{"fcstFCLoopBasisExtract-ID24","FCLoopBasisExtract[SFAD[p, p - q] SPD[p, q], {p},
SortBy -> Function[x, x[[2]] < 0], FCE -> True]",
"{{SPD[p, p], SPD[p, p] - 2 SPD[p, q] + SPD[q, q],
Expand Down
14 changes: 7 additions & 7 deletions Tests/LoopIntegrals/FCLoopGLIExpand.test
Original file line number Diff line number Diff line change
Expand Up @@ -39,17 +39,17 @@ FAD[p2], FAD[{p1 - p2, m3}]}, {p1, p2}, {}, {}, {}]}}"},
{"fcstFCLoopGLIExpand-ID4", "FCLoopGLIExpand[ GLI[prop1l,{1,1}],
{FCTopology[prop1l, {FAD[{p1, m1}], FAD[{p1+q, m2}]}, {p1}, {q}, {}, \
{}]},{SPD[q],0,1},FCE->True]",
"{GLI[prop1l, {1, 1}] - GLI[prop1l, {1, 2}]*SPD[q, q], \
{FCTopology[prop1l, {GFAD[{{-m1^2 + SPD[p1, p1], 1}, 1}], \
GFAD[{{-m2^2 + SPD[p1, p1 + 2*q], 1}, 1}]}, {p1}, {q}, {}, {}]}}"},
"{GLI[prop1l, {1, 1}] - GLI[prop1l, {1, 2}]*SPD[q, q],
{FCTopology[prop1l, {GFAD[{{-m1^2 + SPD[p1, p1], 1}, 1}],
GFAD[{{-m2^2 + SPD[p1, p1] + 2*SPD[p1, q], 1}, 1}]}, {p1}, {q}, {}, {}]}}"},
{"fcstFCLoopGLIExpand-ID5",
"FCLoopGLIExpand[ GLI[prop1l,{1,1}]+SPD[q] GLI[prop1l,{1,0}],
{FCTopology[prop1l, {FAD[{p1, m1}], FAD[{p1+q, m2}]}, {p1}, {q}, {}, \
{}]},{SPD[q],0,2},FCE->True,Collecting->False]",
"{GLI[prop1l, {1, 1}] + GLI[prop1l, {1, 0}]*SPD[q, q] - \
GLI[prop1l, {1, 2}]*SPD[q, q] + GLI[prop1l, {1, 3}]*SPD[q, q]^2, \
{FCTopology[prop1l, {GFAD[{{-m1^2 + SPD[p1, p1], 1}, 1}], \
GFAD[{{-m2^2 + SPD[p1, p1 + 2*q], 1}, 1}]}, {p1}, {q}, {}, {}]}}"},
"{GLI[prop1l, {1, 1}] + GLI[prop1l, {1, 0}]*SPD[q, q] - GLI[prop1l, {1, 2}]*SPD[q, q] +
GLI[prop1l, {1, 3}]*SPD[q, q]^2, {FCTopology[prop1l,
{GFAD[{{-m1^2 + SPD[p1, p1], 1}, 1}], GFAD[{{-m2^2 +
SPD[p1, p1] + 2*SPD[p1, q], 1}, 1}]}, {p1}, {q}, {}, {}]}}"},
{"fcstFCLoopGLIExpand-ID6","FCLoopGLIExpand[
GLI[prop2Ltopo13011, {1, 1, 0, 1, 1}], {FCTopology[
prop2Ltopo13011, {SFAD[{{I*(p1 - q), 0}, {-mb^2, -1}, 1}],
Expand Down
43 changes: 20 additions & 23 deletions Tests/LoopIntegrals/FCMellinJoin.test
Original file line number Diff line number Diff line change
Expand Up @@ -19,47 +19,44 @@ Tests`LoopIntegrals`fcstFCMellinJoin =
"FCMellinJoin[pr \
FAD[q,{-p1+q,m},{-p1+q,m},{-p2+q,m}],{q},{SFAD[{q-p1,m^2}],SFAD[{q-p2,\
m^2}]},Names->z,FCE->True]",
"{-1/4*(pr*Gamma[-z[1]]*Gamma[2 + z[1]]*Gamma[-z[2]]*Gamma[1 + \
z[2]])/Pi^2, GFAD[{{SPD[p1, p1 - 2*q] + SPD[q, q], 1}, 2 + z[1]}, \
{{SPD[p2, p2 - 2*q] + SPD[q, q], 1}, 1 + z[2]}]*SFAD[{{q, 0}, {0, 1}, \
1}]*(-m^2 + I*SMP[\"Eta\"])^(z[1] + z[2])}"},
"{-1/4*(pr*Gamma[-z[1]]*Gamma[2 + z[1]]*Gamma[-z[2]]*Gamma[1 + z[2]])/Pi^2, GFAD[{{SPD[p1, p1] -
2*SPD[p1, q] + SPD[q, q], 1}, 2 + z[1]}, {{SPD[p2, p2] - 2*SPD[p2, q] + SPD[q, q], 1}, 1 +
z[2]}]*SFAD[{{q, 0}, {0, 1}, 1}]*(-m^2 + I*SMP[\"Eta\"])^(z[1] + z[2])}"},
{"fcstFCMellinJoin-ID2",
"FCMellinJoin[pr FVD[q,mu] \
FAD[q,{-p1+q,m},{-p1+q,m},{-p2+q,m}],{q},{SFAD[{q-p1,m^2}],SFAD[{q-p2,\
m^2}]},Names->z,FCE->True]",
"{-1/4*(pr*Gamma[-z[1]]*Gamma[2 + z[1]]*Gamma[-z[2]]*Gamma[1 + \
z[2]])/Pi^2, FVD[q, mu]*GFAD[{{SPD[p1, p1 - 2*q] + SPD[q, q], 1}, 2 + \
z[1]}, {{SPD[p2, p2 - 2*q] + SPD[q, q], 1}, 1 + z[2]}]*SFAD[{{q, 0}, \
{0, 1}, 1}]*(-m^2 + I*SMP[\"Eta\"])^(z[1] + z[2])}"},
"{-1/4*(pr*Gamma[-z[1]]*Gamma[2 + z[1]]*Gamma[-z[2]]*Gamma[1 + z[2]])/Pi^2, FVD[q, mu]*GFAD[{{SPD[p1, p1] - 2*SPD[p1,
q] + SPD[q, q], 1}, 2 + z[1]}, {{SPD[p2, p2] - 2*SPD[p2, q] + SPD[q, q], 1}, 1 + z[2]}]*SFAD[{{q, 0}, {0, 1},
1}]*(-m^2 + I*SMP[\"Eta\"])^(z[1] + z[2])}"},
{"fcstFCMellinJoin-ID3",
"FCMellinJoin[FAD[q,{-p1+q,m},{-p1+q,m},{-p2+q,m}],{q},{SFAD[{q-p1,\
m^2}],SFAD[{q-p2,m^2}]},Names->z,FCE->True]",
"{-1/4*(Gamma[-z[1]]*Gamma[2 + z[1]]*Gamma[-z[2]]*Gamma[1 + \
z[2]])/Pi^2, GFAD[{{SPD[p1, p1 - 2*q] + SPD[q, q], 1}, 2 + z[1]}, \
{{SPD[p2, p2 - 2*q] + SPD[q, q], 1}, 1 + z[2]}]*SFAD[{{q, 0}, {0, 1}, \
1}]*(-m^2 + I*SMP[\"Eta\"])^(z[1] + z[2])}"},
"{-1/4*(Gamma[-z[1]]*Gamma[2 + z[1]]*Gamma[-z[2]]*Gamma[1 + z[2]])/Pi^2, GFAD[{{SPD[p1, p1] - 2*SPD[p1,
q] + SPD[q, q], 1}, 2 + z[1]}, {{SPD[p2, p2] - 2*SPD[p2, q] + SPD[q, q], 1},
1 + z[2]}]*SFAD[{{q, 0}, {0, 1}, 1}]*(-m^2 + I*SMP[\"Eta\"])^(z[1] + z[2])}"},
{"fcstFCMellinJoin-ID4",
"FCMellinJoin[FAD[q,{-p1+q,m},{-p1+q,m},{-p2+q,m}],{q},{SFAD[{q-p1,\
m^2}],SFAD[{q-p2,m^2}]},FCLoopGetEtaSigns->False,Names->z,FCE->True]",
"{-1/4*(Gamma[-z[1]]*Gamma[2 + z[1]]*Gamma[-z[2]]*Gamma[1 + \
z[2]])/Pi^2, GFAD[{{SPD[p1, p1 - 2*q] + SPD[q, q], 1}, 2 + z[1]}, \
{{SPD[p2, p2 - 2*q] + SPD[q, q], 1}, 1 + z[2]}]*SFAD[{{q, 0}, {0, 1}, \
"{-1/4*(Gamma[-z[1]]*Gamma[2 + z[1]]*Gamma[-z[2]]*Gamma[1 + z[2]])/Pi^2,
GFAD[{{SPD[p1, p1] - 2*SPD[p1, q] + SPD[q, q], 1}, 2 + z[1]}, {{SPD[p2, p2] - 2*SPD[p2,
q] + SPD[q, q], 1}, 1 + z[2]}]*SFAD[{{q, 0}, {0, 1},
1}]*(-m^2 + I*SMP[\"Eta\"])^(z[1] + z[2])}"},
{"fcstFCMellinJoin-ID5",
"FCMellinJoin[FAD[q,{-p1+q,m},{-p1+q,m},{-p2+q,m}],{q},{SFAD[{q-p1,\
m^2}],SFAD[{q-p2,m^2}]},FCLoopGetEtaSigns->False,Names->z,\
Indexed->False,FCE->True]",
"{-1/4*(Gamma[-z1]*Gamma[2 + z1]*Gamma[-z2]*Gamma[1 + z2])/Pi^2, \
GFAD[{{SPD[p1, p1 - 2*q] + SPD[q, q], 1}, 2 + z1}, {{SPD[p2, p2 - \
2*q] + SPD[q, q], 1}, 1 + z2}]*SFAD[{{q, 0}, {0, 1}, 1}]*(-m^2 + \
I*SMP[\"Eta\"])^(z1 + z2)}"},
"{-1/4*(Gamma[-z1]*Gamma[2 + z1]*Gamma[-z2]*Gamma[1 + z2])/Pi^2,
GFAD[{{SPD[p1, p1] - 2*SPD[p1, q] + SPD[q, q], 1}, 2 + z1},
{{SPD[p2, p2] - 2*SPD[p2, q] + SPD[q, q], 1}, 1 + z2}]*SFAD[{{q,
0}, {0, 1}, 1}]*(-m^2 + I*SMP[\"Eta\"])^(z1 + z2)}"},
{"fcstFCMellinJoin-ID6",
"FCMellinJoin[FAD[q,{-p1+q,m},{-p1+q,m},{-p2+q,m}],{q},{SFAD[{q-p1,\
m^2}],SFAD[{q-p2,m^2}]},Names->z,List->False,FCE->True]",
"-1/4*(Gamma[-z[1]]*Gamma[2 + z[1]]*Gamma[-z[2]]*Gamma[1 + \
z[2]]*GFAD[{{SPD[p1, p1 - 2*q] + SPD[q, q], 1}, 2 + z[1]}, {{SPD[p2, \
p2 - 2*q] + SPD[q, q], 1}, 1 + z[2]}]*SFAD[{{q, 0}, {0, 1}, 1}]*(-m^2 \
+ I*SMP[\"Eta\"])^(z[1] + z[2]))/Pi^2"},
"-1/4*(Gamma[-z[1]]*Gamma[2 + z[1]]*Gamma[-z[2]]*Gamma[1 +
z[2]]*GFAD[{{SPD[p1, p1] - 2*SPD[p1, q] + SPD[q, q], 1},
2 + z[1]}, {{SPD[p2, p2] - 2*SPD[p2, q] + SPD[q, q], 1},
1 + z[2]}]*SFAD[{{q, 0}, {0, 1}, 1}]*(-m^2 + I*SMP[\"Eta\"])^(z[1] + z[2]))/Pi^2"},
{"fcstFCMellinJoin-ID7",
"FCMellinJoin[FAD[q,{-p1+q,m},{-p1+q,m},{-p2+q,m}],{q},{SFAD[{q-p1,\
m^2}],SFAD[{q-p2,m^2}]},Names->z,FCSplit->{{q,m,p1},{q,m,p2}},\
Expand Down
8 changes: 4 additions & 4 deletions Tests/LoopIntegrals/TID.test
Original file line number Diff line number Diff line change
Expand Up @@ -1053,8 +1053,8 @@ CFAD[{{k, 0}, {m2^2 - TC[k]^2, -1}, 1}, {{k - pH, 0}, {m2^2 - TC[k - pH]^2, -1},
{"fcstTID-ID67","TID[FAD[l1] GFAD[{{TC[l1 - p], 1}, 1}] GFAD[{{TC[l1 - p], 1},
1}] CFAD[{{l1 - p + q, 0}, {0, -1}, 1}] CSPD[l1, l1], l1,
FCE -> True]",
"-1/2*(CFAD[{{l1, 0}, {-TC[l1]^2, -1}, 1}, {{l1 - p + q, 0}, {0, -1}, 1}]*
(3*CSPD[p, p] - 2*D*CSPD[p, p] - 6*CSPD[p, q] + 4*D*CSPD[p, q] + 3*CSPD[q, q] - 2*D*CSPD[q, q] -
(-1 + D)*(CSPD[p, p] - 2*CSPD[p, q] + CSPD[q, q]) + D*(CSPD[p, p] - 2*CSPD[p, q] + CSPD[q, q]))*
GFAD[{{TC[l1 - p], 1}, 1}, {{TC[l1 - p], 1}, 1}]*TC[l1]^2)/((2 - D)*(CSPD[p, p] - 2*CSPD[p, q] + CSPD[q, q]))"}
"-1/2*(CFAD[{{l1, 0}, {-TC[l1]^2, -1}, 1}, {{l1 - p + q, 0}, {0, -1}, 1}]*(3*CSPD[p, p] - 2*D*CSPD[p,
p] - 6*CSPD[p, q] + 4*D*CSPD[p, q] + 3*CSPD[q, q] - 2*D*CSPD[q, q] - (-1 + D)*(CSPD[p, p] - 2*CSPD[p,
q] + CSPD[q, q]) + D*(CSPD[p, p] - 2*CSPD[p, q] + CSPD[q, q]))*GFAD[{{TC[l1] - TC[p], 1}, 1},
{{TC[l1] - TC[p], 1}, 1}]*TC[l1]^2)/((2 - D)*(CSPD[p, p] - 2*CSPD[p, q] + CSPD[q, q]))"}
};
12 changes: 11 additions & 1 deletion Tests/Shared/FeynCalcExternal.test
Original file line number Diff line number Diff line change
Expand Up @@ -1758,7 +1758,17 @@ Momentum[n, D], Momentum[nb, d]], d]"},
"DiracGamma[LightConePerpendicularComponent[Momentum[p,d],Momentum[\
n,d],Momentum[nb,d]],d]//FCE",
"DiracGamma[LightConePerpendicularComponent[Momentum[p, d], \
Momentum[n, d], Momentum[nb, d]], d]"}
Momentum[n, d], Momentum[nb, d]], d]"},
{"fcstFeynCalcExternal-ID444",
"FCE[FeynAmpDenominator[
GenericPropagatorDenominator[
Pair[Momentum[k1, D], Momentum[k1, D]] +
2 Pair[Momentum[k1, D], Momentum[k2, D]] +
Pair[Momentum[k2, D], Momentum[k2, D]] +
2 gkin meta (Pair[Momentum[k1, D], Momentum[n, D]] +
Pair[Momentum[k2, D], Momentum[n, D]]), {1, 1}]]]",
"GFAD[{{SPD[k1, k1] + 2 SPD[k1, k2] + SPD[k2, k2] +
2 gkin meta (SPD[k1, n] + SPD[k2, n]), 1}, 1}]"}
};


Expand Down

0 comments on commit 7baa076

Please sign in to comment.