From 925847780e3c03b04936f41a1739efe16702184d Mon Sep 17 00:00:00 2001
From: Robert Burrell Donkin
Date: Mon, 12 May 2003 15:07:54 +0000
Subject: [PATCH] added new commons math component
git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/math/trunk@140822 13f79535-47bb-0310-9956-ffa450edef68
---
.cvsignore | 3 +
PROPOSAL.html | 97 ++++++++++++++++
RELEASE-NOTES.txt | 23 ++++
STATUS.html | 86 ++++++++++++++
build.properties.sample | 6 +
build.xml | 240 ++++++++++++++++++++++++++++++++++++++++
src/conf/MANIFEST.MF | 7 ++
7 files changed, 462 insertions(+)
create mode 100644 .cvsignore
create mode 100644 PROPOSAL.html
create mode 100644 RELEASE-NOTES.txt
create mode 100644 STATUS.html
create mode 100644 build.properties.sample
create mode 100644 build.xml
create mode 100644 src/conf/MANIFEST.MF
diff --git a/.cvsignore b/.cvsignore
new file mode 100644
index 000000000..6e11cfc0d
--- /dev/null
+++ b/.cvsignore
@@ -0,0 +1,3 @@
+build.properties
+target
+dist
diff --git a/PROPOSAL.html b/PROPOSAL.html
new file mode 100644
index 000000000..c02a14544
--- /dev/null
+++ b/PROPOSAL.html
@@ -0,0 +1,97 @@
+
+
+Proposal for math Package
+
+
+
+
+
Proposal for math Package
+
+
+(0) Rationale
+
+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.
+
+
+
+(1) Scope of the Package
+
+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:
+
+
+- Real-world application use cases determine priority
+- Emphasis on small, easily integrated components rather than large libraries with complex dependencies
+- All algorithms are fully documented and follow generally accepted best practices
+- In situations where multiple standard algorithms exist, use the Strategy pattern to support multiple implementations
+- Limited dependencies. No external dependencies beyond Commons components and the JDK
+
+
+(1.5) Interaction With Other Packages
+
+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.
+
+
+(2) Initial Source of the Package
+
+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
.
+
+
+(3) Required Jakarta-Commons Resources
+
+
+- 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).
+
+
+
+(4) Initial Committers
+
+The initial committers on the math component shall be:
+
+
+
+
+
+
+
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
new file mode 100644
index 000000000..001473b52
--- /dev/null
+++ b/RELEASE-NOTES.txt
@@ -0,0 +1,23 @@
+$Id: RELEASE-NOTES.txt,v 1.1 2003/05/12 15:03:24 rdonkin Exp $
+
+ Commons math Package
+ Version 1.0-dev
+ Release Notes
+
+
+INTRODUCTION:
+
+This document contains the release notes for this version of the Commons
+math package, and highlights changes since the previous version. The
+current release adds new features and bug fixes, and is being done now to
+follow the release early/release often mentality.
+
+
+NEW FEATURES:
+
+*
+
+
+BUG FIXES:
+
+
diff --git a/STATUS.html b/STATUS.html
new file mode 100644
index 000000000..6598bd3f1
--- /dev/null
+++ b/STATUS.html
@@ -0,0 +1,86 @@
+
+
+Status File for Jakarta Commons "math" Component
+
+
+
+
+
+
+
+
+1. INTRODUCTION
+
+The Math project 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:
+
+
+- Real-world application use cases determine priority
+- Emphasis on small, easily integrated components rather than large libraries with complex dependencies
+- All algorithms are fully documented and follow generally accepted best practices
+- In situations where multiple standard algorithms exist, use the Strategy pattern to support multiple implementations
+- Limited dependencies. No external dependencies beyond Commons components and the JDK
+
+
+
+
+2. DEPENDENCIES
+
+The math component is dependent upon the following external
+components for development and use:
+
+
+
+
+3. RELEASE INFO
+
+Math is really still at the prototyping stage.
+
+
+4. COMMITTERS
+
+The following individuals are the primary developers and maintainers of this
+component. Developers who plan to use math in their own
+projects are encouraged to collaborate on the future development of this
+component to ensure that it continues to meet a variety of needs.
+
+
+
+
+5. ACTION ITEMS
+
+The following action items need to be completed prior to a Version 1.3
+release of this component:
+
+
+
+
+ Action Item |
+ Volunteer |
+
+
+
+ CODE!. Add code to make this package useful. |
+ Everyone |
+
+
+
+
+
+
diff --git a/build.properties.sample b/build.properties.sample
new file mode 100644
index 000000000..1843e6c7a
--- /dev/null
+++ b/build.properties.sample
@@ -0,0 +1,6 @@
+# The directory containing your binary distribution of JUnit,
+# version 3.7 or later
+junit.home = /usr/local/junit3.7
+
+# The pathname of the "junit.jar" JAR file
+junit.jar = ${junit.home}/junit.jar
diff --git a/build.xml b/build.xml
new file mode 100644
index 000000000..ead34bc29
--- /dev/null
+++ b/build.xml
@@ -0,0 +1,240 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/conf/MANIFEST.MF b/src/conf/MANIFEST.MF
new file mode 100644
index 000000000..85b37d432
--- /dev/null
+++ b/src/conf/MANIFEST.MF
@@ -0,0 +1,7 @@
+Extension-Name: org.apache.commons.math
+Specification-Title: Jakarta Commons Math
+Specification-Vendor: Apache Software Foundation
+Specification-Version: 0.1
+Implementation-Title: org.apache.commons.math
+Implementation-Vendor: Apache Software Foundation
+Implementation-Version: 0.1