commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Phil Steitz" <>
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


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.

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

Representation and algebraic operations on complex numbers

Target for initial release:

* basic complex number class with algebraic operations

Basic methods and models from discrete math

Target for initial release:

* binomial coefficients

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

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.

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
* Resampling -- boostrap confidence intervals


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message