commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Phil Steitz" <>
Subject Update: [math] proposed ordering for task list, scope of initial release
Date Sun, 15 Jun 2003 12:24:00 GMT
Here is an updated version.  I will try to submit a patch to the 
task.xml reflecting this before I leave this AM, but I am running out of 

> * The RealMatrixImpl class is missing some key method implementations. The
> critical thing is solution of linear systems. We need to implement a
> numerically sound solution algorithm. This will enable inverse() and also
> support general linear regression.

Patch submitted last night
> * Improve numerical accuracy of Univariate and BivariateRegression statistical
> computations. Encapsulate basic double[] |-> double mean, variance, min, max
> computations using improved formulas and add these to MathUtils. (probably
> should add float[], int[], long[] versions as well.) Then refactor all
> univariate implementations that use stored values (including UnivariateImpl
> with finite window) to use the improved versions. -- Mark?  I am chasing down
> the TAS reference to document the source of the _NR_ formula (done), which I will add
> to the docs if someone else does the implementation

Al submitted a patch covering part of this last night.
> * Define full package structure and develop user's guide following the package
> structure.  I have started work on the user's guide, but found this impossible
> without the package structure defined.  I will post a separate message
> summarizing what has been proposed up to now and making a recommendation.

See previous post this AM.

> * t-test statistic needs to be added and we should probably add the capability
> of actually performing t- and chi-square tests at fixed significance levels
> (.1, .05, .01, .001). -- This is virtually done, just need to define a nice,
> convenient interface for doing one- and two-tailed tests.  Thanks to Brent, we
> can actually support user-supplied significance levels (next item)
> * numerical approximation of the t- and chi-square distributions to enable
> user-supplied significance levels.  See above.  Someone just needs to put a
> fork in this. Tim? Brent?

I posted a simple suggestion for this. Still needs to be done.

> * *new* add support for F distribution and F test, so that we can report
> signinficance level of correlation coefficient in bivariate regression /
> signinficance of model.  I will do this if no one else wants to.

Done.  Thanks, Brent.

> * Framework and implementation strategie(s) for finding roots or real-valued
> functions of one (real) variable.  Here again -- largely done.  I would prefer
> to wait until J gets back and let him submit his framework and R. Brent's
> algorithm.  Then "our" Brent's implementation and usage can be integrated
> (actually not much to do, from the looks of the current code)

Need to make a decision here.  I suggest that Brent makes the 
improvements that he has in mind to J's framework, puts into the new 
package (earlier post) and refactors existing stuff.

I will add my
> "bean equations" stuff (in progress). <-- still working on this, could drop
from initial release if not complete "soon"

> * Extend distribution framework to support discrete distributions and implement
> binomial and hypergeometric distributions.  I will do this if no one else wants
> to.  If someone else does it, you should make sure to use the log binomials in
> computations.

I am working on this now.

> * Exponential growth and decay (set up for financial applications) I think this
> is just going to be a matter of finding the right formulas to add to MathUtils.
>  I don't want to get carried away with financial computations, but some simple,
> commonly used formulas would be a nice addition to the package.

Descoped for initial release.  Could add as a separate dist per Tim's 

  We should also
> be thinking about other things to add to MathUtils -- religiously adhering to
> th guiding principles, of course.  Al's sign() is an excellent example of the
> kind of thing that we should be adding, IMHO.
> * Polynomial Interpolation -- let Al tell us what to do here.  Even better, let
> Al do it (he he).  
Use rational functions, per Al's suggestions.  Maybe implement natural 
spline instead. Al? Anyone?

> * Javadoc generation currently throws 35 warnings. Bring the Javadoc into
> compliance (i.e. reach zero warnings). A community effort :-)
> * Clover tests show lots of gaps in test path coverage. Get all tests to 100%
> coverage
> * CheckStyle with modified properties still shows many errors. Clean these up.
> * ComplexNumber implementation, supporting C9x Annex G spec.  I would prefer to
> wait on this, but I could be persuaded to finish my implementation (or better,
> include someone else's fully compliant implementation) if others feel strongly.

Descoped for initial release.

> * Addition of a Arithmetic Geometric Mean.

Descoped for initial release.

> ---------------------------------------------
> My proposal for the first release is that we
> 1) complete the tasks above, other than the last two
> 2) step back and take a critical look at the design decisions that we have made
> up to now and consider refactoring some things (Univariate world, RealMatrix,
> and TestStatistic, esp.) Also obviously finalize package structure.  This task
> obviously needs to run concurrently with the ones above.
> 3) develop the user's guide and validate all algorithms and documentation.
> 4) do some performance testing and as much numerical stability validation as we
> can.   

  4.5) carefully review implementations for stability and correctness
> 5) follow the Jakarta sandbox process for alpha release

I think that we are getting close.  As long as others are comfortable 
with the initial release scope, there is not that much left to 
implement. The one significant missing piece is interpolation. Most of 
the remaining work is review and documentation.

I have started on the user's guide and am waiting for concurrence on 
package structure to start submitting this.

> Phil
> __________________________________
> Do you Yahoo!?
> Yahoo! Calendar - Free online calendar with sync to Outlook(TM).
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

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

View raw message