david cogen created MATH-1146:
---------------------------------

             Summary: class Mean returns incorrect result after processing an 
Infinity value
                 Key: MATH-1146
                 URL: https://issues.apache.org/jira/browse/MATH-1146
             Project: Commons Math
          Issue Type: Bug
    Affects Versions: 3.3
            Reporter: david cogen


1. Create a Mean object.
2. call increment() with Double.POSITIVE_INFINITY.
3. Call getResult(). Result is INFINITY as expected.
4. call increment() with 0.
5. Call getResult(). Result is NaN; not INFINITY as expected.

This is apparently due to the "optimization" for calculating mean described in 
the javadoc. Rather than accumulating a sum, it maintains a running mean value 
using the formula "m = m + (new value - m) / (number of observations)", which 
unlike the "definition way", fails after an infinity.

I was using Mean within a SummaryStatistics. Other statistics also seem to be 
affected; for example, the standard deviation also incorrectly gives NaN rather 
than Infinity. I don't know if that's due to the error in Mean or if the other 
stats classes have similar bugs.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to