Hi Sebastiano,
On 8/2/21 9:00 am, Sebastiano Vigna wrote:
This program
#include <gsl/gsl_cdf.h>
#include <stdio.h>
int main() {
printf("%f\n", gsl_cdf_poisson_Q(7165697, 7168929.393553));
}
As a workaround you could use the fact that for large m, Poisson(x, m)
is approximately Gaussian(x, m, sigma=sqrt(m)), so something like
gsl_cdf_gaussian_Q( 7168929.393553 - 7165697, sqrt(7165697))
hope that helps,
Peter
prints
gsl: gamma_inc.c:181: ERROR: error in large x asymptotic
Default GSL error handler invoked.
Aborted (core dumped)
on gsl 2.6 (Fedora Linux). scipy, for instance, has no problem in evaluating it:
scipy.stats.poisson.sf(7165697, 7168929.393553);
0.8863015162515768
This kind of error is reported a bit randomly with certain large parameters
(I'm running a large number of collision tests for PRNGs, and the distribution
of collisions is approximated by a Poisson distribution, so I'm evaluating a
lot of those with different parameters). I can provide more examples if this is
useful in understanding the problem.
Ciao,
seba