Table of Contents
Fetching ...

LinApart: optimizing the univariate partial fraction decomposition

Bakar Chargeishvili, Levente Fekésházy, Gábor Somogyi, Sam Van Thurenhout

TL;DR

LinApart tackles the bottleneck of univariate partial fraction decomposition for large symbolic expressions in perturbative quantum field theory. It introduces a closed‑form, residue‑based decomposition formula for rational functions with fully factorized denominators and implements it in both Mathematica and C. The authors report dramatic performance gains over the built‑in Apart routine across diverse input classes and provide practical options to optimize large decompositions, including term pre‑collection and factorization strategies. The work enables efficient decomposition of complex expressions encountered in loop and phase space integrals and can be integrated with other tools such as FORM, though it currently omits non‑linear denominators in its core formulation and suggests future extensions to quadratic factors.

Abstract

We present LinApart, a routine designed for efficiently performing the univariate partial fraction decomposition of large symbolic expressions. Our method is based on an explicit closed formula for the decomposition of rational functions with fully factorized denominators. We provide implementations in both the Wolfram Mathematica and C languages, made available at https://github.com/fekeshazy/LinApart . The routine can provide very significant performance gains over available tools such as the Apart command in Mathematica.

LinApart: optimizing the univariate partial fraction decomposition

TL;DR

LinApart tackles the bottleneck of univariate partial fraction decomposition for large symbolic expressions in perturbative quantum field theory. It introduces a closed‑form, residue‑based decomposition formula for rational functions with fully factorized denominators and implements it in both Mathematica and C. The authors report dramatic performance gains over the built‑in Apart routine across diverse input classes and provide practical options to optimize large decompositions, including term pre‑collection and factorization strategies. The work enables efficient decomposition of complex expressions encountered in loop and phase space integrals and can be integrated with other tools such as FORM, though it currently omits non‑linear denominators in its core formulation and suggests future extensions to quadratic factors.

Abstract

We present LinApart, a routine designed for efficiently performing the univariate partial fraction decomposition of large symbolic expressions. Our method is based on an explicit closed formula for the decomposition of rational functions with fully factorized denominators. We provide implementations in both the Wolfram Mathematica and C languages, made available at https://github.com/fekeshazy/LinApart . The routine can provide very significant performance gains over available tools such as the Apart command in Mathematica.
Paper Structure (7 sections, 24 equations, 5 figures, 1 table)

This paper contains 7 sections, 24 equations, 5 figures, 1 table.

Figures (5)

  • Figure 1: Timings and memory usage of Apart and LinApart (denoted as A and LA in the legend) on rational functions of $x$ with $n$ distinct denominators of multiplicity one of the form $x-P^{(k)}(y)$. The roots $P^{(k)}(y)$ are chosen to be symbolic polynomials in the auxiliary variable $y$ of order $k$. Various curves correspond to different polynomial orders $k=0,1,2$ in the roots. The numerator has been set to 1.
  • Figure 2: Timings and memory usage of Apart and LinApart (denoted as A and LA in the legend) on rational functions of $x$ with $n$ distinct denominators of multiplicity one, except for the last denominator, whose multiplicity is $m$. The roots $a_i$ are chosen to be symbolic constants. Various curves correspond to different multiplicities $m=2,3,4$ of the last denominator. The numerator has been set to 1.
  • Figure 3: Timings and memory usage of Apart and LinApart (denoted as A and LA in the legend) on rational functions of $x$ with $n$ distinct denominators. The multiplicities of the first $n-l$ denominators are one, while the last $l$ denominators have multiplicity two. The roots $a_i$ are chosen to be symbolic constants. Various curves correspond to the different number $l=2,3,4$ of quadratic denominators . The numerator has been set to 1.
  • Figure 4: Timings and memory usage of Apart and LinApart (denoted as A and LA in the legend) on improper rational functions of $x$ with $n$ distinct denominators of multiplicity one. The roots $a_i$ are chosen to be symbolic constants, while the numerator is a symbolic polynomial $P^{(k)}$ of $x$. Various curves correspond to different polynomial orders $k=n,\lfloor3n/2\rfloor,2n$.
  • Figure 5: Timings and memory usage of Apart and LinApart (denoted as A and LA in the legend) on proper rational functions of $x$ with $n$ distinct denominators of multiplicity one. The roots $a_i$ are chosen to be symbolic constants, while the numerator is a symbolic polynomial $P^{(k)}$ of $x$. Various curves correspond to different polynomial orders $k=1,2,3$.