commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Al Chou <>
Subject Re: [math] proposed ordering for task list, scope of initial release
Date Sat, 07 Jun 2003 19:15:01 GMT
--- Phil Steitz <> wrote:
> OK, long-winded disclaimer aside, here is how I see the task list ordered:
> * 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. -- I think that Brent is working on this. 
> * 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, which I will
> add
> to the docs if someone else does the implementation.

I was starting to code the updating (storage-less) variance formula, based on
the Stanford article you cited, as a patch.  I believe the storage-using
corrected two-pass algorithm is pretty trivial to code once we feel we're on
solid ground with the reference to cite.

> * 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.
> * 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?
> * *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.
> * 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) and I will add
> my "bean equations" stuff (in progress).

I may have time to submit my Ridders' method implementation using J.'s
framework before he returns 2 days hence.  Should I bother to try, or should I
wait until he submits his code as a patch via Bugzilla?

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

Thanks for the compliment!  I think I finally understand what you mean with the
exponential stuff:  compount interest calculation, for the most part, with
continuous compounding requiring the exponential.

> * Polynomial Interpolation -- let Al tell us what to do here.  Even better,
> let Al do it (he he).   

I actually did some research last night (I told myself I was going to bed
early, hah) on rational function interpolation, trying to find a primary source
for the algorithm rather than again rely on a secondary source in the form of
NR.  I guess I'll continue along this path, as I really want a clean room
implementation of it for my own use.  I'd feel better using rational functions
rather than polynomials for their generally larger radius of convergence.


Albert Davidson Chou

    Get answers to Mac questions at .

Do you Yahoo!?
Yahoo! Calendar - Free online calendar with sync to Outlook(TM).

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

View raw message