Commons Math Release Notes
Made ComplexFormat format double values with a provided NumberFormat
instance instead of using the real part format for all values.
Added Pascal distribution implementation.
Added QR Decomposition.
Modified ProperFractionFormat to reject embedded minus signs.
Added a nextAfter method in MathUtils to return the next
machine-representable number in a specified direction from a given
floating point number. Used this to ensure that MathUtils.round does
not return incorrect results for numbers with bad IEEE754
representations.
Added Fast Fourier Transform implementation.
Modified getSumSquaredErrors method in SimpleRegression to always
return a non-negative result.
Made NewtonSolver derivative field transient and implemented readObject to
initialize.
Made sampleStats field private and changed getUpperBounds to return a fresh
copy in EmpiricalDistributionImpl.
Added polar2Complex method to ComplexUtils to create Complex numbers
from polar representations.
Made all serialVersionUIDs private.
Improved documentation and test cases related to handling of infinite
and NaN values in Complex, ComplexUtils classes.
Fixed incorrect NaN handling in o.a.m.s.d.rank.Min, Max
Changed RealMatrixImpl.equals to use Double.doubleToLongBits to compare
corresponding matrix entries.
Eliminated floating point equals comparison in Percentile.evaluate.
Eliminated unnecessary assignment statements in Skewness.getResult
method.
Synchronized getters in ResizeableDoubleArray.
Eliminated unnecessary assignment statement in BisectionSolver.solve
method.
Implemented hashCode in the Complex class and changed the semantics of
equals to make all instances with real or imaginary part NaN equal.
Fixed bin index overflow problem in EmpiricalDistributionImpl.
Added protection against numerical overflow and underflow in the
isBracketing method.
Fixed division by zero error in rounding methods.
Added upper tail cumulative probability method to HypergeometricDistributionImpl.
Added better handling of numerical overflow and division by zero in
Complex calculations.
Changed ContinuedFraction to better handle infinite convergents that
resulted in divergent continued fraction evaluations.
Changed rounding methods to not rely on BigDecimal conversions which
was causing numerical error.
Changed Fraction(double) to correctly handle near-integral arguments.
Changed lcm to throw ArithmeticException (instead of returning bogus
value) if the result is too large to store as an integer.
Added factories for TTest, ChiSquareTest and TestUtils class with
static methods to create instances and execute tests.
Eliminated repeated endpoint function evalutations in BrentSolver, SecantSolver.
Added setSubMatrix methods to RealMatrixImpl, BigMatrixImpl. To
Preserve backward compatibility with version 1.0, these methods were
not added to the RealMatrix, BigMatrix interfaces.
Added createXIdentityMatrix methods to MatrixUtils and deprecated
getIdentity methods in RealMatrixImpl, BigMatrixImpl.
Modified RealMatrixImpl, BigMatrixImpl constructors to throw
IllegalArgumentExceptions instead of ArrayIndexOutOfBounds when
dimension arguments are not positive.
Made PRNG pluggable for classes in the random package. Added
RandomGenerator interface extracted from java.util.random and abstract
implementation, AbstractRandomGenerator providing default
implementations of methods based on nextDouble(). Added a constructor
taking a RandomGenerator as an argument to RandomDataImpl. Changed
ValueServer to use a RandomData in its constructor. Changes to
1.0 classes should be backward compatible (including serialization).
Added utility methods for overflow-checked integer arithmetic and
improved gcd method in MathUtils.
Fixed error in TTestImpl.homoscedasticTtest. Implementation was
incorrectly using heteroscedastic t statistic. Also improved
sensitivity of test cases.
Fixed javadoc errors. One-sided t-test significance adjustment was
reversed in javadoc for boolean-valued test methods.
Fixed bug in PolynomialSplineFunction to allow evaluation of the
function at the last knot point.
Added Weibull distribution implementation.
Added Cauchy distribution implementation.
Added convenience methods for rounding.
Added Fraction class based on commons-lang implementation. With the
fraction class, FractionFormat and ProperFractionFormat classes were
added to provide fraction formatting and parsing.
Fixed error in ChiSquareTestImpl. Tables containing zeros were
(incorrectly) causing IllegalArgumentExceptions to be thrown.
Removed JDK 1.4-dependent code from CertifiedDataAbstractTest,
InvalidMatrixException and MatrixIndexException. Also dropped
BeanTransformer, BeanTransformerTest from the release.
Fixed cumulative frequency and cumulative percentage problem reported
to the commons-dev list by Jon Langlois on 9/14. Integer arguments to
getCumXxx were always returning 0 due to type conversion problems.
Fixed locale-dependency in ComplexFormat.
Renamed univariate package to descriptive and multivariate to
regression.
Improved efficiency of logGamma method in o.a.c.m.special.Gamma
Added subMatrix and matrix-valued row and column accessor methods to
RealMatrix, BigMatrix interfaces and RealMatrixImpl, BigMatrixImpl.
Implemented equals and hashCode in RealMatrixImpl and BigMatrixImpl.
Fixed RealMatrixImpl, BigMatrixImpl toString methods to handle empty
matrix.
Added support for "population" variance and standard deviation in
Variance (resp. StandardDeviation) classes.
Removed data mutators from RealMatrix, BigMatrix interfaces and
RealMatrixImpl, BigMatrixImpl. RealMatrix and BigMatrix instances
are now immutable.
Added MatrixUtils class, including static factory methods to create
RealMatrix and BigMatrix instances from arrays of various types.
Changed factorial methods to return 1 for argument = 0, instead of
(incorrectly) throwing IllegalArgumentException.
Fixed error in SimpleRegression.getSignificance. Value returned was
off by a factor of 2 (did not match javadoc).
Refactored distribution package so that mixed distributions and
discrete distributions with non-integer values can be represented.
Added Distribution base interface as well as IntegerDistribution
extending DiscreteDistribution. Previously existing discrete
distributions now implement IntegerDistribution.
Added Poisson distribution implementation.
Eliminated unecessary array copy operations in RealMatrixImpl,
BigMatrixImpl add, multiply, solve and subtract operations.