commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Phil Steitz" <p...@steitz.com>
Subject Re: [math] Re: [PROPOSAL] Commons-math -- organization of initial code base
Date Tue, 13 May 2003 01:41:51 GMT
robert burrell donkin wrote:
> hi phil
> 
> could you remember to prefix all posts about math with [math] (most 
> people use filters on the subject).

Sorry.  Will do.

> 
> i think i like the idea of breaking down into relatively self-contained 
> sub-packages. it seems that there might be later a need to be able to 
> break down into smaller, self contained libraries and if we're 
> disciplined from the start that's got to help.

Yes.  That was the idea of the "straw man" below.  I really think that 
it will help us, both in terms of organization and focus.  Honestly, 
however, I am not 100% sure that the structure below is best.  I tried 
to strike a balance between how mathematicians divide up the world and 
how users of math libraries would like to see things. I am curious as to 
what others think of this.


> 
> i've committed some initial code submitted by phil so there's now 
> something to start arguing about :)
> 
> - robert
> 
> On Monday, May 12, 2003, at 03:28 PM, Phil Steitz wrote:
> 
>> 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
>>
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-dev-help@jakarta.apache.org
> 




---------------------------------------------------------------------
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