FeynCalc manual (development version)

ApartFF

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.

See also

Overview, FCApart, FeynAmpDenominatorSimplify.

Examples

FCClearScalarProducts[]
SPD[q, q] FAD[{q, m}] 
 
ApartFF[%, {q}]

\frac{q^2}{q^2-m^2}

\frac{m^2}{q^2-m^2}

SPD[q, p] SPD[q, r] FAD[{q}, {q - p}, {q - r}] 
 
ApartFF[%, {q}]

\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}

FAD[{q}, {q - p}, {q + p}] 
 
ApartFF[%, {q}]

\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}

SPD[p, q1] SPD[p, q2]^2 FAD[{q1, m}, {q2, m}, q1 - p, q2 - p, q1 - q2] 
 
ApartFF[%, {q1, q2}]

\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}

SPD[q, p] FAD[{q, m}, {q - p, 0}] 
 
ApartFF[%, {q}]

\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

int = SPD[q2, p] SPD[q1, p] FAD[{q1, m}, {q2, m}, q1 - p, q2 - p, q2 - q1]

\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}

ApartFF[int, {q1, q2}]

\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}

ApartFF[int, {q1, q2}, FDS -> False]

\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

int = FAD[k, p - k, {k, m}] SPD[p, k]

\frac{k\cdot p}{k^2.(p-k)^2.\left(k^2-m^2\right)}

ApartFF[int, {k}]

\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}

ApartFF[int, {k}, Numerator -> False]

\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

int = FAD[k, p - k, {k, m}] (SPD[q] + SPD[p, k])

\frac{k\cdot p+q^2}{k^2.(p-k)^2.\left(k^2-m^2\right)}

ApartFF[int, {k}]

\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}

ApartFF[int, {k}, FeynAmpDenominator -> False]

\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

int = (SFAD[{{0, k . l}}, p - k] SPD[k, p])

\frac{k\cdot p}{(k\cdot l+i \eta ).((p-k)^2+i \eta )}

Here ApartFF cannot do anything

ApartFF[int, {k}]

\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

ApartFF[int FAD[k], SPD[k], {k}] // ApartFF[#, {k}] &

\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)

int1 = SFAD[{{0, nb . k2}}, {{0, nb . (k1 + k2)}}]

\frac{1}{(\text{k2}\cdot \;\text{nb}+i \eta ).((\text{k1}+\text{k2})\cdot \;\text{nb}+i \eta )}

ApartFF[int1, {k1, k2}]

\frac{1}{(\text{k2}\cdot \;\text{nb}+i \eta ).(\text{k1}\cdot \;\text{nb}+\text{k2}\cdot \;\text{nb}+i \eta )}

ApartFF[ApartFF[SFAD[{{0, nb . k1}}] int1, SPD[nb, k1], {k1, k2}], {k1, k2}]

\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 )}

int2 = SPD[nb, k2] SFAD[{{0, nb . (k1 + k2)}}]

\frac{\text{k2}\cdot \;\text{nb}}{((\text{k1}+\text{k2})\cdot \;\text{nb}+i \eta )}

ApartFF[int2, {k1, k2}]

\frac{\text{k2}\cdot \;\text{nb}}{(\text{k1}\cdot \;\text{nb}+\text{k2}\cdot \;\text{nb}+i \eta )}

ApartFF[ApartFF[SFAD[{{0, nb . k1}}] int2, SPD[nb, k1], {k1, k2}], {k1, k2}]

-\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[ApartFF[SFAD[{{0, nb . k1}}] int2, SPD[nb, k1], {k1, k2}], {k1, k2}, FDS -> False, 
  DropScaleless -> False]

1-\frac{\text{k1}\cdot \;\text{nb}}{(\text{k1}\cdot \;\text{nb}+\text{k2}\cdot \;\text{nb}+i \eta )}