Return-Path:
Creating and maintaining a mathematical and statistical library that is accurate requires a greater
degree of communication than might be the case for other components. It is important that developers
follow guidelines laid down by the community to ensure that the code they create can be successfully
maintained by others.
The Java programming language and the math extensions in commons-lang provide
implementations for only the most basic mathematical algorithms. Routine development
tasks such as computing basic statistics or solving a system of linear equations require
components not available in java or commons-lang.
Most basic mathematical or statistical algorithms are available in open source
implementations, but to assemble a simple set of capabilities one has to use multiple
libraries, many of which have more restrictive licensing terms than the ASF. In addition,
many of the best open source implementations (e.g. the R statistical package) are either
not available in Java or require large support libraries and/or external dependencies to work.
Commons-Math is a library of lightweight, self-contained mathematics and statistics
components addressing the most common practical problems not immediately available in the
Java programming language or commons-lang. The guiding principles for commons-math are:
Yes - I know that it should be commons-maths. But think of all the bandwidth saved by losing that 's' ;)
There haven't been any yet! The more people who contribute, the quicker this will happen.
Nightly builds are built once a day from the current CVS HEAD. This is (nearly) the lastest code and so should be treated with caution!
You can get the nightly builds from here
The Java programming language and the math extensions in commons-lang provide implementations for only the most basic mathematical algorithms. Routine development tasks such as computing basic statistics or solving a system of linear equations require components not available in java or commons-lang.
Most basic mathematical or statistical algorithms are available in open source implementations, but to assemble a simple set of capabilities one has to use multiple libraries, many of which have more restrictive licensing terms than the ASF. In addition, many of the best open source implementations (e.g. the R statistical package) are either not available in Java or require large support libraries and/or external dependencies to work.
A commons-math community will provide a productive environment for aggregation, testing and support of efficient Java implementations of commonly used mathematical and statistical algorithms.
The Math project shall create and maintain a library of lightweight, self-contained mathematics and statistics components addressing the most common practical problems not immediately available in the Java programming language or commons-lang. The guiding principles for commons-math will be:
math relies only on standard JDK 1.2 (or later) APIs for production deployment. It utilizes the JUnit unit testing framework for developing and executing unit tests, but this is of interest only to developers of the component.
No external configuration files are utilized.
The initial codebase will consist of implementations of basic statistical algorithms such as the following:
The proposed package name for the new component is
org.apache.commons.math
.
math
in the
jakarta-commons
CVS repository.The initial committers on the math component shall be:
This page aims to be a handy reference not only of the work done but also of work pending. Users who want new features should submit patches to this page. Developers who want to lend a hand can grab tasks from this page. Everyone can see the progress which is being made.
The following is a list of items still TODO
for
Math. Contributions are welcome!