Statistics.setVarianceImpl makes getStandardDeviation produce NaN -----------------------------------------------------------------
Key: MATH-691 URL: https://issues.apache.org/jira/browse/MATH-691 Project: Commons Math Issue Type: Bug Affects Versions: 2.2 Environment: Windows 7 64-bit, java version 1.6.0_23 Reporter: Warren Tang Priority: Minor Invoking SummaryStatistics.setVarianceImpl(new Variance(true/false) makes getStandardDeviation produce NaN. The code to reproduce it: int[] scores = {1, 2, 3, 4}; SummaryStatistics stats = new SummaryStatistics(); stats.setVarianceImpl(new Variance(false)); //use "population variance" for(int i : scores) { stats.addValue(i); } double sd = stats.getStandardDeviation(); System.out.println(sd); A workaround is: double sd = FastMath.sqrt(stats.getSecondMoment() / stats.getN()); as suggested by Mikkel. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira