Skip to content
Janko Boehm edited this page Sep 11, 2024 · 48 revisions

pfd‐parallel: Massively‐Parallel Partial Fraction Decomposition

Overview

This package provides a massively parallel framework for partial fraction decomposition of rational functions based on the Singular/GPI-Space framework.

The accompaning paper of pfd-parallel is:

Dominik Bendle, Janko Boehm, Murray Heymann, Rourou Ma, Mirko Rahn, Lukas Ristau, Marcel Wittmann, Zihao Wu, Hefeng Xu, and Yang Zhang: pfd-parallel, a Singular/GPI-Space package for massively parallel multivariate partial fractioning, Comput. Phys. Commun. 294 (2024) 108942

The implementation is based on a combination of the following two algorithms:

  1. our approach based on Leinartas' method as described in the paper

    J. Boehm, M. Wittmann, Z. Wu, Y. Xu, and Y. Zhang: IBP reduction coefficients made simple, JHEP 12 (2020) 054, 39pp.

    which has first been implemened in Singular in the library pfd.lib, and the

  2. the MultivariateApart algorithm described in the paper

    M. Heller and A. von Manteuffel: MultivariateApart: Generalized partial fractions, Comput. Phys. Commun. 271 (2022) 108174.

Although applicable in general, its primary aim is the partial fraction decomposition of integration-by-parts coefficients and amplitudes in high energy physics.

Our package relies on the Singular/GPI-Space framework.

Since most useful in applications in high energy physics, the main function of our framework applies the partial fraction decoposition function to a specified subset of entries of a two-dimensional array of rational functions.

Installation

To use the framework, it is required to install Singular, GPI-Space, some of their dependencies and the project code itself. The preferable way is the use the supercomputing package manager Spack, which will take care of all dependencies automatically. We also provide an instruction for a manual installation of all components, which can be used in case the installation with Spack is not possible on the target system.

Installation of pfd‐parallel using Spack

Updating pfd‐parallel using Spack

Installation of pfd‐parallel via downloading a Docker image

Appendix: Manual installation from sources

Appendix: How to create a Docker image for pfd-parallel via Spack

Example and user guide

We provide an example how to use pfd-parallel. We also discuss the options of the implementation, e.g. input formats, output formats, choice of parallelization strategy, and algorithmic options available. In the appendix section, we provide some scripts which are useful to run computations in an automatic manner.

How to use pfd‐parallel

How to use pfd‐parallel via Docker

We provide a useful tool pfd-parallel-listnumden-converter to convert Mathematica readable files to txt format readable by pfd-parallel.

How to use pfd‐parallel via the Mathematica Interface

Appendix: Convenient scripts to run a computation in pfd parallel

How to cite

If you use pfd-parallel in your research, please cite the software package:

  • Bibitem Format:

    D. Bendle, J. Boehm, M. Heymann, R. Ma, M. Rahn, L. Ristau, M. Wittmann, Z. Wu, Y. Zhang: 
    pfd-parallel, a Singular/GPI-Space package for massively parallel multivariate partial fractioning, 
    https://github.com/singular-gpispace/pfd-parallel (2024). 
  • Bibtex Format:

    @misc{pfd,
      author = {Boehm, Janko and Heymann, Murray and Ma, Rourou and Rahn, Mirko and Ristau, Lukas and Wittmann, Marcel and Wu, Zihao and Zhang, Yang},
      title = {pfd-parallel, a Singular/GPI-Space package for massively parallel multivariate partial fractioning},
      url = {https://github.com/singular-gpispace/pfd-parallel},
      year = {2024}}

the corresponding paper

  • Bibitem Format:
    Dominik Bendle, Janko Boehm, Murray Heymann, Rourou Ma, Mirko Rahn, Lukas Ristau, Marcel Wittmann, Zihao Wu, Hefeng Xu, Yang Zhang:
    pfd-parallel, a Singular/GPI-Space package for massively parallel multivariate partial fractioning, 
    Comput. Phys. Commun. 294, 2024, 108942. 
  • Bibtex Format:
    @article{pfdparallel,
      title = {pfd-parallel, a Singular/GPI-Space package for massively parallel multivariate partial fractioning},
      journal = {Computer Physics Communications},
      volume = {294},
      pages = {108942},
      year = {2024},
      issn = {0010-4655},
      doi = {https://doi.org/10.1016/j.cpc.2023.108942},
      url = {https://www.sciencedirect.com/science/article/pii/S0010465523002874},
      author = {Dominik Bendle and Janko Boehm and Murray Heymann and Rourou Ma and Mirko Rahn and Lukas Ristau and Marcel Wittmann and Zihao Wu and Hefeng Xu and Yang Zhang},
      }

and, as applicable, the papers describing the algorithms which have been used

  • Bibitem Format:

    J. Boehm, M. Wittmann, Z. Wu, Y. Xu, Y. Zhang: IBP reduction coefficients made simple, 
    JHEP (2020) 54, 39 pp, doi:10.1007/JHEP12(2020)054.
    M. Heller, A. von Manteuffel: MultivariateApart: Generalized partial fractions, 
    Comput. Phys. Commun. 271 (2022) 108174.
  • Bibtex Format:

    @article{pfd,
      author = {Boehm, Janko and Wittmann, Marcel and Wu, Zihao and Xu, Yingxuan and Zhang, Yang},
      doi = {10.1007/JHEP12(2020)054},
      isbn = {1029-8479},
      journal = {Journal of High Energy Physics},
      number = {12},
      pages = {54},
      title = {IBP reduction coefficients made simple},
      url = {https://doi.org/10.1007/JHEP12(2020)054},
      volume = {2020},
      year = {2020}}
    @article{MultivariateApart,
      title = {MultivariateApart: Generalized partial fractions},
      journal = {Computer Physics Communications},
      volume = {271},
      pages = {108174},
      year = {2022},
      issn = {0010-4655},
      doi = {https://doi.org/10.1016/j.cpc.2021.108174},
      url = {https://www.sciencedirect.com/science/article/pii/S0010465521002861},
      author = {Matthias Heller and Andreas {von Manteuffel}}}

Funding

The project is supported by Project B5 of SFB-TRR 195. Gefördert durch die Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 286237555 - TRR 195 (Funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) - Project-ID 286237555 - TRR 195). The project is also supported by SymbTools of Forschungsinitiative RLP.