ApartFF[amp, {q1, q2, ...}]
partial fractions loop integrals by decomposing them into simpler integrals that contain only linearly independent propagators. It uses FCApart
as a backend and is equally suitable for 1-loop and multi-loop integrals.
FCApart
implements an algorithm based on arXiv:1204.2314 by F. Feng that seems to employ a variety Leinartas’s algorithm (cf. arXiv:1206.4740). Unlike Feng’s $Apart that is applicable to general multivariate polynomials, FCApart
is tailored to work only with FeynCalc’s FeynAmpDenominator
, Pair
and CartesianPair
symbols, i.e. it is less general in this respect.
ApartFF[amp * extraPiece1, extraPiece2, {q1, q2, ...}]
is a special working mode of ApartFF
, where the final result of partial fractioning amp*extraPiece1
is multiplied by extraPiece2
. It is understood, that extraPiece1*extraPiece2
should be unity, e. g. when extraPiece1
is an FAD
, while extraPiece is an SPD
inverse to it. This mode should be useful for nonstandard integrals where the desired partial fraction decomposition can be performed only after multiplying amp
with extraPiece1
.
Overview, FCApart, FeynAmpDenominatorSimplify.
[] FCClearScalarProducts
[q, q] FAD[{q, m}]
SPD
[%, {q}] ApartFF
\frac{q^2}{q^2-m^2}
\frac{m^2}{q^2-m^2}
[q, p] SPD[q, r] FAD[{q}, {q - p}, {q - r}]
SPD
[%, {q}] ApartFF
\frac{(p\cdot q) (q\cdot r)}{q^2.(q-p)^2.(q-r)^2}
\frac{p^2 r^2}{4 q^2.(q-r)^2.(q-p)^2}+\frac{p^2+2 (q\cdot r)+2 r^2}{4 q^2.(-p+q+r)^2}+-\frac{p^2}{4 q^2.(q-p)^2}-\frac{r^2}{4 q^2.(q-r)^2}
[{q}, {q - p}, {q + p}]
FAD
[%, {q}] ApartFF
\frac{1}{q^2.(q-p)^2.(p+q)^2}
\frac{1}{p^2 q^2.(q-p)^2}-\frac{1}{p^2 q^2.(q-2 p)^2}
[p, q1] SPD[p, q2]^2 FAD[{q1, m}, {q2, m}, q1 - p, q2 - p, q1 - q2]
SPD
[%, {q1, q2}] ApartFF
\frac{(p\cdot \;\text{q1}) (p\cdot \;\text{q2})^2}{\left(\text{q1}^2-m^2\right).\left(\text{q2}^2-m^2\right).(\text{q1}-p)^2.(\text{q2}-p)^2.(\text{q1}-\text{q2})^2}
\frac{\left(m^2+p^2\right)^3}{8 \left(\text{q1}^2-m^2\right).\left(\text{q2}^2-m^2\right).(\text{q2}-p)^2.(\text{q1}-\text{q2})^2.(\text{q1}-p)^2}-\frac{\left(m^2+p^2\right)^2}{4 \left(\text{q1}^2-m^2\right).\left(\text{q2}^2-m^2\right).(\text{q1}-\text{q2})^2.(\text{q1}-p)^2}+\frac{\left(m^2+p^2\right) \left(m^2+2 p^2\right)}{4 \;\text{q2}^2.\text{q1}^2.\left((\text{q1}-p)^2-m^2\right).(\text{q1}-\text{q2})^2}-\frac{\left(m^2+p^2\right) (p\cdot \;\text{q1})}{4 \left(\text{q1}^2-m^2\right).\left(\text{q2}^2-m^2\right).(\text{q2}-p)^2.(\text{q1}-\text{q2})^2}-\frac{\left(m^2+p^2\right) (p\cdot \;\text{q1})}{4 \;\text{q2}^2.\text{q1}^2.(\text{q1}-\text{q2})^2.\left((\text{q2}-p)^2-m^2\right)}-\frac{p\cdot \;\text{q1}}{4 \left(\text{q2}^2-m^2\right).(\text{q1}-\text{q2})^2.(\text{q1}-p)^2}-\frac{m^2+p\cdot \;\text{q1}+p^2}{4 \left(\text{q1}^2-m^2\right).(\text{q2}-p)^2.(\text{q1}-\text{q2})^2}+\frac{m^2+2 (p\cdot \;\text{q1})+p^2}{8 \left(\text{q1}^2-m^2\right).\left(\text{q2}^2-m^2\right).(\text{q1}-\text{q2})^2}
[q, p] FAD[{q, m}, {q - p, 0}]
SPD
[%, {q}] ApartFF
\frac{p\cdot q}{\left(q^2-m^2\right).(q-p)^2}
\frac{m^2+p^2}{2 q^2.\left((q-p)^2-m^2\right)}-\frac{1}{2 \left(q^2-m^2\right)}
If the propagators should not be altered via momentum shifts (e.g. because they belong to a previously identified topology), use the option FDS->False
= SPD[q2, p] SPD[q1, p] FAD[{q1, m}, {q2, m}, q1 - p, q2 - p, q2 - q1] int
\frac{(p\cdot \;\text{q1}) (p\cdot \;\text{q2})}{\left(\text{q1}^2-m^2\right).\left(\text{q2}^2-m^2\right).(\text{q1}-p)^2.(\text{q2}-p)^2.(\text{q2}-\text{q1})^2}
[int, {q1, q2}] ApartFF
\frac{\left(m^2+p^2\right)^2}{4 \left(\text{q1}^2-m^2\right).\left(\text{q2}^2-m^2\right).(\text{q2}-p)^2.(\text{q1}-\text{q2})^2.(\text{q1}-p)^2}-\frac{m^2+p^2}{2 \left(\text{q1}^2-m^2\right).\left(\text{q2}^2-m^2\right).(\text{q1}-\text{q2})^2.(\text{q1}-p)^2}+\frac{m^2+p^2}{2 \;\text{q2}^2.\text{q1}^2.\left((\text{q1}-p)^2-m^2\right).(\text{q1}-\text{q2})^2}-\frac{1}{2 \left(\text{q1}^2-m^2\right).(\text{q2}-p)^2.(\text{q1}-\text{q2})^2}+\frac{1}{4 \left(\text{q1}^2-m^2\right).\left(\text{q2}^2-m^2\right).(\text{q1}-\text{q2})^2}
[int, {q1, q2}, FDS -> False] ApartFF
\frac{\left(m^2+p^2\right)^2}{4 \left(\text{q2}^2-m^2\right).(\text{q2}-p)^2.(\text{q2}-\text{q1})^2.\left(\text{q1}^2-m^2\right).(\text{q1}-p)^2}-\frac{m^2+p^2}{4 \left(\text{q1}^2-m^2\right).(\text{q1}-p)^2.\left(\text{q2}^2-m^2\right).(\text{q2}-\text{q1})^2}+\frac{m^2+p^2}{4 \left(\text{q1}^2-m^2\right).(\text{q1}-p)^2.(\text{q2}-p)^2.(\text{q2}-\text{q1})^2}-\frac{m^2+p^2}{4 \left(\text{q1}^2-m^2\right).\left(\text{q2}^2-m^2\right).(\text{q2}-p)^2.(\text{q2}-\text{q1})^2}+\frac{m^2+p^2}{4 (\text{q1}-p)^2.\left(\text{q2}^2-m^2\right).(\text{q2}-p)^2.(\text{q2}-\text{q1})^2}-\frac{1}{4 (\text{q2}-\text{q1})^2.\left(\text{q1}^2-m^2\right).(\text{q2}-p)^2}-\frac{1}{4 (\text{q2}-\text{q1})^2.(\text{q1}-p)^2.\left(\text{q2}^2-m^2\right)}+\frac{1}{4 (\text{q2}-\text{q1})^2.\left(\text{q1}^2-m^2\right).\left(\text{q2}^2-m^2\right)}+\frac{1}{4 (\text{q2}-\text{q1})^2.(\text{q1}-p)^2.(\text{q2}-p)^2}
If the partial fractioning should be performed only w. r. t. the denominators but not numerators, use the option Numerator->False
= FAD[k, p - k, {k, m}] SPD[p, k] int
\frac{k\cdot p}{k^2.(p-k)^2.\left(k^2-m^2\right)}
[int, {k}] ApartFF
\frac{m^2+p^2}{2 m^2 k^2.\left((k-p)^2-m^2\right)}+-\frac{1}{2 m^2 \left(k^2-m^2\right)}-\frac{p^2}{2 m^2 k^2.(k-p)^2}
[int, {k}, Numerator -> False] ApartFF
\frac{k\cdot p}{m^2 k^2.\left((k-p)^2-m^2\right)}-\frac{k\cdot p}{m^2 k^2.(k-p)^2}
Using the option FeynAmpDenominator ->False
we can specify that integrals without numerators should not be partial fractioned
= FAD[k, p - k, {k, m}] (SPD[q] + SPD[p, k]) int
\frac{k\cdot p+q^2}{k^2.(p-k)^2.\left(k^2-m^2\right)}
[int, {k}] ApartFF
\frac{m^2+p^2+2 q^2}{2 m^2 k^2.\left((k-p)^2-m^2\right)}+-\frac{1}{2 m^2 \left(k^2-m^2\right)}-\frac{p^2+2 q^2}{2 m^2 k^2.(k-p)^2}
[int, {k}, FeynAmpDenominator -> False] ApartFF
\frac{q^2}{k^2.(p-k)^2.\left(k^2-m^2\right)}+\frac{m^2+p^2}{2 m^2 k^2.\left((k-p)^2-m^2\right)}+-\frac{1}{2 m^2 \left(k^2-m^2\right)}-\frac{p^2}{2 m^2 k^2.(k-p)^2}
The extraPiece
-trick is useful for cases where a direct partial fractioning is not possible
= (SFAD[{{0, k . l}}, p - k] SPD[k, p]) int
\frac{k\cdot p}{(k\cdot l+i \eta ).((p-k)^2+i \eta )}
Here ApartFF
cannot do anything
[int, {k}] ApartFF
\frac{k\cdot p}{(k\cdot l+i \eta ).((p-k)^2+i \eta )}
Multiplying the integral with unity FAD[k]*SPD[k]
we can cast into a more desirable form
[int FAD[k], SPD[k], {k}] // ApartFF[#, {k}] & ApartFF
\frac{k^2}{2 (k\cdot l+i \eta ).((p-k)^2+i \eta )}+\frac{p^2}{2 (k\cdot l+i \eta ).((k-p)^2+i \eta )}
Here we need a second call to ApartFF
since the first execution doesn’t drop scaleless integrals or perform any shifts in the denominators.
Other examples of doing partial fraction decomposition for eikonal integrals (e.g. in SCET)
= SFAD[{{0, nb . k2}}, {{0, nb . (k1 + k2)}}] int1
\frac{1}{(\text{k2}\cdot \;\text{nb}+i \eta ).((\text{k1}+\text{k2})\cdot \;\text{nb}+i \eta )}
[int1, {k1, k2}] ApartFF
\frac{1}{(\text{k2}\cdot \;\text{nb}+i \eta ).(\text{k1}\cdot \;\text{nb}+\text{k2}\cdot \;\text{nb}+i \eta )}
[ApartFF[SFAD[{{0, nb . k1}}] int1, SPD[nb, k1], {k1, k2}], {k1, k2}] ApartFF
\frac{1}{(\text{k1}\cdot \;\text{nb}+i \eta ).(\text{k2}\cdot \;\text{nb}+i \eta )}-\frac{1}{(\text{k1}\cdot \;\text{nb}+i \eta ).(\text{k1}\cdot \;\text{nb}+\text{k2}\cdot \;\text{nb}+i \eta )}
= SPD[nb, k2] SFAD[{{0, nb . (k1 + k2)}}] int2
\frac{\text{k2}\cdot \;\text{nb}}{((\text{k1}+\text{k2})\cdot \;\text{nb}+i \eta )}
[int2, {k1, k2}] ApartFF
\frac{\text{k2}\cdot \;\text{nb}}{(\text{k1}\cdot \;\text{nb}+\text{k2}\cdot \;\text{nb}+i \eta )}
[ApartFF[SFAD[{{0, nb . k1}}] int2, SPD[nb, k1], {k1, k2}], {k1, k2}] ApartFF
-\frac{\text{k1}\cdot \;\text{nb}}{(\text{k1}\cdot \;\text{nb}+\text{k2}\cdot \;\text{nb}+i \eta )}
If we are working with a subset of propagators from a full integral, one should better turn off loop momentum shifts and the dropping of scaleless integrals
[ApartFF[SFAD[{{0, nb . k1}}] int2, SPD[nb, k1], {k1, k2}], {k1, k2}, FDS -> False,
ApartFF-> False] DropScaleless
1-\frac{\text{k1}\cdot \;\text{nb}}{(\text{k1}\cdot \;\text{nb}+\text{k2}\cdot \;\text{nb}+i \eta )}