From: Franck Stauffer (franck_at_[hidden])
Date: 2006-12-06 07:54:44
On Dec 6, 2006, at 1:27 PM, Neal Becker wrote:
> I think we should begin with requirements. Here is an outline of some
> 1. Interface:
> 1.1 Generic function arg type(s):
> Specified as template parameter to integrator, or as a trait of
> 1.2 Generic function result type:
> Template parameter, or computed (e.g., result_of)?
> 2. One-dimensional integration:
> Integration approx type as template parameter
> 3. Multi-dimesional integration:
> 3.1 Is this required?
> 3.2 Independent fixed limits
> 3.3 Limits on some dimensions are functions of other variables?
> Unsubscribe & other changes: http://lists.boost.org/mailman/
Good idea :-)
For 1.1 and 1.2 :
I already expressed my initial wish to minimize the number of
template parameters, especially if multidimensional integrals are
being considered (and I am only talking about 2 to let's 6
dimensions...for larger dimensions, the problem ought to be treated).
But after sleeping on it last night, I have less certitudes on this
2. Yes...it would make sense to me. It kinda goes along the point
raised by Theodore Papadopoulo about the separation from "higher
level" routines from the elementary integrators (which I did not do
in this small example).
3. As numerical quadrature in less than say 6 "effective" dimensions
(although one can argue that in some case 6 might already be too
much) can be treated as multiple one dimensional integrals, the only
first requirement I would have is making sure that there is an easy
mechanism to bind a 1D integration to a specific argument of a
multidimensional function. Yet, I suppose it could be worth to
provide straightforward high level routines at least for 2D and 3D.
Then I'd eventually like to see something for N-Dimensional integrals
with "N large" treated exclusively by Monte-Carlo or Quasi-MC
(And also, one should make sure that people can use boost::function
or an equivalent mechanism in case they need to "wrap" some old code
that's been using function pointers)
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk