[ https://issues.apache.org/jira/browse/MATH-691?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Phil Steitz resolved MATH-691. ------------------------------ Resolution: Fixed Fixed in r1206666. > 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 > Assignee: Phil Steitz > Priority: Minor > Fix For: 3.0 > > Original Estimate: 5h > Remaining Estimate: 5h > > Invoking SummaryStatistics.setVarianceImpl(new Variance(true/false) makes > getStandardDeviation produce NaN. The code to reproduce it: > {code:java} > 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); > {code} > A workaround suggested by Mikkel is: > {code:java} > double sd = FastMath.sqrt(stats.getSecondMoment() / stats.getN()); > {code} -- 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