FCLoopBasisFindCompletion
FCLoopBasisFindCompletion[int, {q1, q2, ...}]
determines propagators that need to be included in the loop integral int
(that depends on the loop momenta q1
, q2
, …), to ensure that the propagators of int
form a basis.
For integrals with propagators that do not form a basis, such a completion must be found prior to processing those integrals with tools that do Integration-By-Parts (IBP) reduction (e.g. FIRE, KIRA or LiteRed). Furthermore, int
may not contain linearly dependent propagators.
The input can also consist of an FCTopology
object or a list thereof.
See also
Overview, FCLoopBasisIncompleteQ.
Examples
FAD[q, {q - p + l, m}]
FCLoopBasisFindCompletion[%, {q}]
q2.((l−p+q)2−m2)1
{q2.((l−p+q)2−m2)1,{l⋅q}}
FAD[{q1, m1}, {q2, m2}]
FCLoopBasisFindCompletion[%, {q1, q2}]
(q12−m12).(q22−m22)1
{(q12−m12).(q22−m22)1,{q1⋅q2}}
FAD[q1 + p, q2 - k] SPD[q1, q2]
FCLoopBasisFindCompletion[%, {q1, q2}, Method -> {FAD[{q2 + k, m}], FAD[{q1 - p, m}], SPD[p, q2], SPD[k, q1]}]
(p+q1)2.(q2−k)2q1⋅q2
{(p+q1)2.(q2−k)2q1⋅q2,{(k+q2)2−m21,(q1−p)2−m21,p⋅q2,k⋅q1}}
Cartesian integrals are also supported.
CFAD[q1, q2, {q1 - l1, m1}, {q2 - l2, m2}]
FCLoopBasisFindCompletion[%, {q1, q2}]
(q12−iη).(q22−iη).((q1−l1)2+m1−iη).((q2−l2)2+m2−iη)1
{(q12−iη).(q22−iη).((q1−l1)2+m1−iη).((q2−l2)2+m2−iη)1,{l1⋅q2,l2⋅q1,q1⋅q2}}
Extending FCTopology
objects
FCLoopBasisFindCompletion[FCTopology[topo, {FAD[p1], FAD[p2], FAD[p1 - q], FAD[p2 - q]}, {p1, p2}, {q}, {}, {}]]
FCTopology(topo,{p121,p221,(p1−q)21,(p2−q)21,(p1⋅p2+iη)1},{p1,p2},{q},{},{})
FCLoopBasisFindCompletion[{
FCTopology[topo1, {FAD[p1], FAD[p2], FAD[p1 - q], FAD[p2 - q]}, {p1, p2}, {q}, {}, {}],
FCTopology[topo2, {FAD[p1], FAD[p2], FAD[p1 - q], FAD[p2 - p1]}, {p1, p2}, {q}, {}, {}]
}]
{FCTopology(topo1,{p121,p221,(p1−q)21,(p2−q)21,(p1⋅p2+iη)1},{p1,p2},{q},{},{}),FCTopology(topo2,{p121,p221,(p1−q)21,(p2−p1)21,(p2⋅q+iη)1},{p1,p2},{q},{},{})}
The function pays attention to the iη signs in the propagators
FCLoopBasisFindCompletion[{FCTopology[
asyR1prop2Ltopo13011X11011NAux1, {SFAD[{{I*p1, 0}, {0, {-1}}, 1}],
SFAD[{{(-I)*p3, 0}, {-mb^2, -1}, 1}],
SFAD[{{I*(p1 + p3), 0}, {-mb^2, -1}, 1}],
SFAD[{{I*(p1 - q), 0}, {-mb^2, -1}, 1}]}, {p1,
p3}, {q}, {SPD[q, q] -> mb^2}, {}]}, FCE -> True]
{FCTopology(asyR1prop2Ltopo13011X11011NAux1,{(−p12−iη)1,(−p32+mb2−iη)1,(−(p1+p3)2+mb2−iη)1,(−(p1−q)2+mb2−iη)1,(p3⋅q−iη)1},{p1,p3},{q},{q2→mb2},{})}