Saturday, August 8, 2009

Apache Math 2.0

Apache Commons Math 2.0 released.

Commons Math is made up of a small set of math/stat utilities addressing programming problems like the ones in the list below. This list is not exhaustive, it's just meant to give a feel for the kinds of things that Commons Math provides.

•Computing means, variances and other summary statistics for a list of numbers
•Fitting a line to a set of data points using linear regression
•Finding a smooth curve that passes through a collection of points (interpolation)
•Fitting a parametric model to a set of measurements using least-squares methods
•Solving equations involving real-valued functions (i.e. root-finding)
•Solving systems of linear equations
•Solving Ordinary Differential Equations
•Minimizing multi-dimensional functions
•Generating random numbers with more restrictions (e.g distribution, range) than what is possible using the JDK
•Generating random samples and/or datasets that are "like" the data in an input file
•Performing statistical significance tests
•Miscellaneous mathematical functions such as factorials, binomial coefficients and "special functions" (e.g. gamma, beta functions)

Commons Math is divided into fifteen subpackages, based on functionality provided. - statistics, statistical tests - rootfinding, integration, interpolation, polynomials - random numbers, strings and data generation - special functions (Gamma, Beta) - matrices, solving linear systems - common math/stat functions extending java.lang.Math - complex numbers - probability distributions - rational numbers - transform methods (Fast Fourier) - 3D geometry (vectors and rotations) - parametric estimation problems - functions minimization - Ordinary Differential Equations integration - Genetic Algorithms