From: Toon Knapen (toon_at_[hidden])
Date: 2001-03-22 15:40:37
Wow, are'nt we going to drown in requirements/specifications here ?
The discussion started at a multi-dim array, was extended to LA and
know we're talking about numerics in general.
All this stuff is super-interesting but let's take one step at a
As mentioned by Andrew Lumsdaine and Jeremy Siek, the MTL that
is going to contributed (I can't wait to see/download it;)
is layered in a general matrix functionality with LA
functionality on top of that. Maybe these two layers
could be seperated in two boost libs. On top of the matrix lib,
other numeric libs can then also be implemented.
I also want to have all functionality as fast as possible but
I'm convinced we get there faster starting small and with
a quality implementation and go from there.
Eric Ford wrote:
> > Here would be my wishlist:
> I generally agree with Kevin (hi, kevin), but thought I'd add my
> comments... While I like the idea of matrix routines, I think MTL is
> making reasonable progress and making a blitz matrix library might be
> redundant/premature. Personally, I'd find a good library for
> integrating DEs much more valuable than yet another matrix library. I
> hope the original subject line doens't bias towards matricies too
> > Numerical Integration of nonlinear systems of differential equations
> > (standard algorithms include things like Runge-Kutta,
> > shooting, and relaxation methods (Chapters 16 and 17 or Numerical
> > Recipes).
> Personally, I solve ODEs most often, PDEs second most often. While
> Numerical Recipies is generally good algorithmically (but poorly
> implemented), there are licensing problems that make it a pain to
> share source code. Hence, I'd very much like to see a templatized set
> of routines for DEs. Important template parameters (probably in
> traits) would include things like integrator, error control, stopping
> conditions, interpolation algorithms, guessing (initial conditions for
> shooting methods) algorithm. There also needs to be a reasonable
> way to pass parameters (at either run or compile time) into the
> inner-most function evaluating derivatives.
> (I've started making such a library, but I've never had time to think
> first and do a good job, so while I might be able to offer some
> warnings, I don't think my code would be a valuable addition. Also, I
> still have several routines which are merely fancy interfaces to NR
> routines and not written from scratch, so I couldn't legally post any
> wokring, non-trivial code.)
> > Monte Carlo function integration routines.
> Yes. I'd also like to see routines for integrating functions with
> trapazoidal or simpson type methods, since these can be much faster
> for functinos known to be well behaved. Again things like singularity
> types and locations should be included in traits.
> > A portable collection of special functions.
> > Statistical data analysis routines (including, particularly, curve
> > fitting algorithms with error estimation and root finding
> Lower on my list, but still important. I'd want to include traits to
> allow different estimators, especially to allow robust statistics.
> > I'd also hope to see a boost numerics library generally focus on
> > optimizing for "standard types", such as double and complex<double>;
> > generally speaking, I think it is less important for these libraries
> > be accessible for generic numeric types if that genericity causes
> > substantial performance impacts when they are used with the built-in
> > complex types.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk