commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jason McFall (JIRA)" <j...@apache.org>
Subject [jira] Created: (MATH-294) RandomDataImpl.nextPoisson fails for means in range 6.0 - 19.99
Date Fri, 11 Sep 2009 17:34:57 GMT
RandomDataImpl.nextPoisson fails for means in range 6.0 - 19.99
---------------------------------------------------------------

                 Key: MATH-294
                 URL: https://issues.apache.org/jira/browse/MATH-294
             Project: Commons Math
          Issue Type: Bug
    Affects Versions: 2.0, 1.2
         Environment: Java 1.6 on mac osX
            Reporter: Jason McFall


math.random.RandomDataImpl.nextPoisson(double mean) fails frequently (but not always) for
values of mean between 6.0 and 19.99 inclusive. For values below 6.0 (where I see there is
a branch in the logic) and above 20.0 it seems to be okay (though I've only randomly sampled
the space and run a million trials for the values I've tried)

When it fails, the exception is as follows (this for a mean of 6.0)

org.apache.commons.math.MathRuntimeException$4: must have n >= 0 for n!, got n = -2
	at org.apache.commons.math.MathRuntimeException.createIllegalArgumentException(MathRuntimeException.java:282)
	at org.apache.commons.math.util.MathUtils.factorialLog(MathUtils.java:561)
	at org.apache.commons.math.random.RandomDataImpl.nextPoisson(RandomDataImpl.java:434) 

ie MathUtils.factorialLog is being called with a negative input

To reproduce:

    JDKRandomGenerator random = new JDKRandomGenerator();
    random.setSeed(123456);
    RandomData randomData = new RandomDataImpl(random);

    for (int i=0; i< 1000000; i++){
        randomData.nextPoisson(6.0);
    }


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message