• Medientyp: E-Artikel
  • Titel: Algorithm 1006 : Fast and Accurate Evaluation of a Generalized Incomplete Gamma Function : Fast and Accurate Evaluation of a Generalized Incomplete Gamma Function
  • Beteiligte: Abergel, Rémy; Moisan, Lionel
  • Erschienen: Association for Computing Machinery (ACM), 2020
  • Erschienen in: ACM Transactions on Mathematical Software
  • Sprache: Englisch
  • DOI: 10.1145/3365983
  • ISSN: 0098-3500; 1557-7295
  • Schlagwörter: Applied Mathematics ; Software
  • Entstehung:
  • Anmerkungen:
  • Beschreibung: <jats:p> We present a computational procedure to evaluate the integral ∫ <jats:sup>y</jats:sup> <jats:sub>x</jats:sub> <jats:italic>s</jats:italic> <jats:sup> <jats:italic>p</jats:italic> -1 </jats:sup> <jats:italic>e</jats:italic> <jats:sup>-μs</jats:sup> <jats:italic>ds</jats:italic> for 0 ≤ <jats:italic>x</jats:italic> &lt; <jats:italic>y</jats:italic> ≤ +∞,μ = ±1, <jats:italic>p</jats:italic> &gt; 0, which generalizes the lower ( <jats:italic>x</jats:italic> =0) and upper ( <jats:italic>y</jats:italic> =+∞) incomplete gamma functions. To allow for large values of <jats:italic>x</jats:italic> , <jats:italic>y</jats:italic> , and <jats:italic>p</jats:italic> while avoiding under/overflow issues in the standard double precision floating point arithmetic, we use an explicit normalization that is much more efficient than the classical ratio with the complete gamma function. The generalized incomplete gamma function is estimated with continued fractions, with integrations by parts, or, when <jats:italic>x ≈ y</jats:italic> , with the Romberg numerical integration algorithm. We show that the accuracy reached by our algorithm improves a recent state-of-the-art method by two orders of magnitude, and it is essentially optimal considering the limitations imposed by floating point arithmetic. Moreover, the admissible parameter range of our algorithm (0 ≤ <jats:italic>p,x,y</jats:italic> ≤ 10 <jats:sup>15</jats:sup> ) is much larger than competing algorithms, and its robustness is assessed through massive usage in an image processing application. </jats:p>