http://www.scipy.org/
"SciPy (pronounced "Sigh Pie") is open-source software for mathematics, science, and engineering. It is also the name of a very popular conference on scientific programming with Python. The SciPy library depends on NumPy, which provides convenient and fast N-dimensional array manipulation. The SciPy library is built to work with NumPy arrays, and provides many user-friendly and efficient numerical routines such as routines for numerical integration and optimization. Together, they run on all popular operating systems, are quick to install, and are free of charge."
http://numpy.scipy.org/
NumPy is the fundamental package needed for scientific computing with Python. It contains among other things:
- a powerful N-dimensional array object
- sophisticated (broadcasting) functions
- tools for integrating C/C++ and Fortran code
- useful linear algebra, Fourier transform, and random number capabilities.
Besides its obvious scientific uses, NumPy can also be used as an efficient multi-dimensional container of generic data. Arbitrary data-types can be defined. This allows NumPy to seamlessly and speedily integrate with a wide variety of databases.
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.
1.org.apache.commons.math.stat - statistics, statistical tests
2.org.apache.commons.math.analysis - rootfinding, integration, interpolation, polynomials
3.org.apache.commons.math.random - random numbers, strings and data generation
4.org.apache.commons.math.special - special functions (Gamma, Beta)
5.org.apache.commons.math.linear - matrices, solving linear systems
6.org.apache.commons.math.util - common math/stat functions extending java.lang.Math
7.org.apache.commons.math.complex - complex numbers
8.org.apache.commons.math.distribution - probability distributions
9.org.apache.commons.math.fraction - rational numbers
10.org.apache.commons.math.transform - transform methods (Fast Fourier)
11.org.apache.commons.math.geometry - 3D geometry (vectors and rotations)
12.org.apache.commons.math.estimation - parametric estimation problems
13.org.apache.commons.math.optimization - functions minimization
14.org.apache.commons.math.ode - Ordinary Differential Equations integration
15.org.apache.commons.math.genetics - Genetic Algorithms