commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Phil Steitz" <p...@steitz.com>
Subject Re: [PROPOSAL] Commons-math -- organization of initial code base
Date Mon, 12 May 2003 14:28:22 GMT
I am thinking along the following lines re organization of the initial 
codebase for commons-math(assuming we decide to move forward).  Since I 
am trying to refactor the various odds and ends that I have to 
contribute along these lines, I would appreciate some feedback on the 
structure. Obviously,this is a very preliminary "straw man."  Any and 
all ideas are welcome.

High-level organization
------------------------

commons-math
     analysis
     complex
     discrete
     linear
     simulation
     stat

Contents of the subpackages
---------------------------
Everything could probably initially be placed in one package, but I 
would like to at least settle on a conceptual model for how things are 
organized. It might also make sense in some cases to separate out an 
"Impl" package for different implementation strategies.

analysis
--------
Commonly-used univariate numerical analysis techniques and useful 
formulas extending java.Math

Target for initial release:

* root finding
* polynomial interpolation
* error bounds estimation
* exponential growth and decay computations (set up for financial
   applications)


complex
-------
Representation and algebraic operations on complex numbers

Target for initial release:

* basic complex number class with algebraic operations


discrete
--------
Basic methods and models from discrete math

Target for initial release:

* binomial coefficients


linear
------
Most commonly used numerical linear algebra techniques

Target for the initial release:

* basic real matrix class including algebraic operations and
   support for solving linear systems


simulation
----------
Mathematical tools to support simulation

Target for the initial release:

* Data generation class capable of generating random numbers
   from uniform, gaussian, poisson, or exponential distributions; by
   replaying data from an input file; by resampling from a vector; or by
   generating random values from an empirical distribution
   based on an input file.

stat
----
Commonly-used statistical techniques

Target for the initial release:

* Univariate -- simple running-sums based univariate stats and
   confidence intervals not requiring all data values to be stored in
   memory and supporting a "rolling" capability (capability to base
   statistics on most recently observed values)
* Frequencies -- simple frequency counts/distribution.
* Regression -- simple linear regression and bivariate corellation
* Tests -- t-test, chi-square test
* Sampling -- select random samples with/without replacement from
   Collections
* Resampling -- boostrap confidence intervals


Phil




---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Mime
View raw message