diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
index 000000000..6bf9de74c
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,53 @@
+/* ====================================================================
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2003 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowledgement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowledgement may appear in the software itself,
+ * if and wherever such third-party acknowledgements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Commons", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their name without prior written
+ * permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * .
+ */
diff --git a/PROPOSAL.html b/PROPOSAL.html
new file mode 100644
index 000000000..a4ae1eef2
--- /dev/null
+++ b/PROPOSAL.html
@@ -0,0 +1,96 @@
+
+
+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..f5972c8c1
--- /dev/null
+++ b/RELEASE-NOTES.txt
@@ -0,0 +1,23 @@
+$Id: RELEASE-NOTES.txt,v 1.3 2003/11/14 21:46:30 mdiggory 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..989d60b27
--- /dev/null
+++ b/STATUS.html
@@ -0,0 +1,107 @@
+
+
+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.0
+release of this component:
+
+
+
+
+ Action Item |
+ Volunteer |
+
+
+
+ Get basic web site operational |
+ Everyone |
+
+
+ Document NaN and all error semantics for Univariate and Freq |
+ Everyone |
+
+
+ Document and implement rolling mean extension of Univariate |
+ Everyone |
+
+
+ Research numerical optimization of all Univariate, RealMatrix operations |
+ Everyone |
+
+
+ Complete RealMatrixImpl implementation |
+ Everyone |
+
+
+ Prioritize remaining items in proposal and finalize scope for 1.0 |
+ Everyone |
+
+
+
+
+
+
diff --git a/build.xml b/build.xml
new file mode 100644
index 000000000..1f2b8cbae
--- /dev/null
+++ b/build.xml
@@ -0,0 +1,175 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/checkstyle.properties b/checkstyle.properties
new file mode 100644
index 000000000..d2bfc59bc
--- /dev/null
+++ b/checkstyle.properties
@@ -0,0 +1,20 @@
+# commons math customization of default Checkstyle behavior
+
+# Verify that EVERY source file has the appropriate license
+checkstyle.header.file=LICENSE.txt
+# 2-5 = CVS Header in Commons license, 10 = copyright date, 32 = product name
+#checkstyle.header.ignoreline=2,3,4,5,10,32
+
+# Ignore operator wrap, this has the effect of allowing
+# operators to appear at both the eol and the nl. This
+# setting should be eol, but checkstyle had problems
+# parsing this property when set to "eol". "ignore"
+# was selected as a fallback.
+checkstyle.wrap.operator = ignore
+
+# Ignore padding around parenthese, this allows for both
+# foo(a,b), and foo( a, b ).
+checkstyle.paren.pad = ignore
+
+# One should not be instantiating a java.lang.Boolean
+checkstyle.illegal.instantiations = java.lang.Boolean
diff --git a/checkstyle.xml b/checkstyle.xml
new file mode 100644
index 000000000..718e105ec
--- /dev/null
+++ b/checkstyle.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/project.properties b/project.properties
new file mode 100644
index 000000000..093cae7a6
--- /dev/null
+++ b/project.properties
@@ -0,0 +1,17 @@
+##
+# Properties that override Maven build defaults
+##
+
+maven.checkstyle.properties=${basedir}/checkstyle.xml
+maven.test.failure = false
+maven.junit.fork=true
+#maven.linkcheck.enable=true
+
+maven.xdoc.date=left
+maven.xdoc.version=${pom.currentVersion}
+maven.xdoc.developmentProcessUrl=http://jakarta.apache.org/commons/charter.html
+
+maven.javadoc.links = http://java.sun.com/j2se/1.4.2/docs/api/,\
+ http://jakarta.apache.org/commons/collections/api/,\
+ http://jakarta.apache.org/commons/beanutils/api/,\
+ http://jakarta.apache.org/commons/logging/api/
diff --git a/project.xml b/project.xml
new file mode 100644
index 000000000..4121ab2c7
--- /dev/null
+++ b/project.xml
@@ -0,0 +1,133 @@
+
+
+
+ ../../jakarta-commons/project.xml
+ Math
+ commons-math
+ 0.1-dev
+ 2003
+
+
+A library of lightweight, self-contained mathematics and statistics components.
+
+
+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.
+
+ /www/jakarta.apache.org/commons/sandbox/math/
+
+
+ 0.1-dev
+ 0.1-dev
+
+
+
+
+
+ Robert Burrell Donkin
+ rdonkin
+ rdonkin@apache.org
+
+
+ Tim OBrien
+ tobrien
+ tobrien@apache.org
+
+
+ Mark R. Diggory
+ mdiggory
+ mdiggory@apache.org
+
+
+
+
+
+ Phil Steitz
+ phil@steitz.com
+
+ proposal author
+ initial contributor
+
+
+
+ Brent Worden
+ brent@worden.org
+
+
+ Albert Davidson Chou
+ hotfusionman@yahoo.com
+
+
+ J.Pietschmann
+ j3322ptm@yahoo.de
+
+
+
+
+
+ commons-beanutils
+ 1.5
+
+
+ commons-collections
+ SNAPSHOT
+
+
+ commons-lang
+ SNAPSHOT
+
+
+ commons-logging
+ 1.0.3
+
+
+ commons-discovery
+ SNAPSHOT
+
+
+
+ http://nagoya.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&product=Commons&component=Sandbox&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&bug_file_loc=&bug_file_loc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&order=%27Importance%27
+
+
+ scm:cvs:pserver:anoncvs@cvs.apache.org:/home/cvspublic:jakarta-commons-sandbox/${pom.artifactId.substring(8)}
+ http://cvs.apache.org/viewcvs/jakarta-commons-sandbox/${pom.artifactId.substring(8)}/
+
+
+
+
+
+ **/*Test.java
+
+
+ **/*AbstractTest.java
+
+
+
+ ${pom.build.unitTestSourceDirectory}
+
+ **/*.xml
+ **/*.txt
+
+
+
+
+
+
+
+ maven-changelog-plugin
+ maven-changes-plugin
+ maven-checkstyle-plugin
+ maven-developer-activity-plugin
+ maven-file-activity-plugin
+ maven-javadoc-plugin
+ maven-jdepend-plugin
+ maven-junit-report-plugin
+ maven-jxr-plugin
+ maven-license-plugin
+ maven-statcvs-plugin
+ maven-tasklist-plugin
+
+
+