Return-Path: Delivered-To: apmail-jakarta-commons-dev-archive@apache.org Received: (qmail 46629 invoked from network); 20 May 2003 10:28:07 -0000 Received: from exchange.sun.com (192.18.33.10) by daedalus.apache.org with SMTP; 20 May 2003 10:28:07 -0000 Received: (qmail 9877 invoked by uid 97); 20 May 2003 10:30:27 -0000 Delivered-To: qmlist-jakarta-archive-commons-dev@nagoya.betaversion.org Received: (qmail 9870 invoked from network); 20 May 2003 10:30:27 -0000 Received: from daedalus.apache.org (HELO apache.org) (208.185.179.12) by nagoya.betaversion.org with SMTP; 20 May 2003 10:30:27 -0000 Received: (qmail 43605 invoked by uid 500); 20 May 2003 10:27:28 -0000 Mailing-List: contact commons-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Jakarta Commons Developers List" Reply-To: "Jakarta Commons Developers List" Delivered-To: mailing list commons-dev@jakarta.apache.org Received: (qmail 43580 invoked by uid 500); 20 May 2003 10:27:27 -0000 Received: (qmail 43565 invoked from network); 20 May 2003 10:27:27 -0000 Received: from icarus.apache.org (208.185.179.13) by daedalus.apache.org with SMTP; 20 May 2003 10:27:27 -0000 Received: (qmail 33513 invoked by uid 1289); 20 May 2003 10:27:26 -0000 Date: 20 May 2003 10:27:26 -0000 Message-ID: <20030520102726.33512.qmail@icarus.apache.org> From: rdonkin@apache.org To: jakarta-commons-sandbox-cvs@apache.org Subject: cvs commit: jakarta-commons-sandbox/math/xdocs developers.xml index.xml navigation.xml proposal.xml tasks.xml X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N rdonkin 2003/05/20 03:27:26 Added: math/xdocs developers.xml index.xml navigation.xml proposal.xml tasks.xml Log: Created outline documentation. This will be built using maven. Lots more content needed. Revision Changes Path 1.1 jakarta-commons-sandbox/math/xdocs/developers.xml Index: developers.xml =================================================================== Developers Guide Robert Burrell Donkin

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.

Still under development...!
1.1 jakarta-commons-sandbox/math/xdocs/index.xml Index: index.xml =================================================================== Commons-Math: The Jakarta Mathematics Library Robert Burrell Donkin

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:

  1. Real-world application use cases determine priority
  2. Emphasis on small, easily integrated components rather than large libraries with complex dependencies
  3. All algorithms are fully documented and follow generally accepted best practices
  4. In situations where multiple standard algorithms exist, use the Strategy pattern to support multiple implementations
  5. Limited dependencies. No external dependencies beyond Commons components and the JDK

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

1.1 jakarta-commons-sandbox/math/xdocs/navigation.xml Index: navigation.xml =================================================================== Math Jakarta 1.1 jakarta-commons-sandbox/math/xdocs/proposal.xml Index: proposal.xml =================================================================== Proposal for math Package Robert Burrell Donkin

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:

  1. Real-world application use cases determine priority
  2. Emphasis on small, easily integrated components rather than large libraries with complex dependencies
  3. All algorithms are fully documented and follow generally accepted best practices
  4. In situations where multiple standard algorithms exist, use the Strategy pattern to support multiple implementations
  5. Limited dependencies. No external dependencies beyond Commons components and the JDK

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:

  • Simple univariate statistics (mean, standard deviation, n, confidence intervals)
  • Frequency distributions
  • t-test, chi-square test
  • Random numbers from Gaussian, Exponential, Poisson distributions
  • Random sampling/resampling
  • Bivariate regression, corellation
and mathematical algorithms such as the following:
  • Basic Complex Number representation with algebraic operations
  • Newton's method for finding roots
  • Binomial coefficients
  • Exponential growth and decay (set up for financial applications)
  • Polynomial Interpolation (curve fitting)
  • Basic Matrix representation with algebraic operations

The proposed package name for the new component is org.apache.commons.math.

  • CVS Repository - New directory math in the jakarta-commons CVS repository.
  • Mailing List - Discussions will take place on the general commons-dev@jakarta.apache.org mailing list. To help list subscribers identify messages of interest, it is suggested that the message subject of messages about this component be prefixed with [math].
  • Bugzilla - New component "math" under the "Commons" product category, with appropriate version identifiers as needed.
  • Jyve FAQ - New category "commons-math" (when available).

The initial committers on the math component shall be:

1.1 jakarta-commons-sandbox/math/xdocs/tasks.xml Index: tasks.xml =================================================================== Tasks: Done And To Do James Strachan

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!

  • Fill Me In! With A High Priority Task
  • Fill Me In With A Medium Priority Task
  • Fill Me In With A Low Priority Task
--------------------------------------------------------------------- To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org For additional commands, e-mail: commons-dev-help@jakarta.apache.org