|
Boost : |
From: Daryle Walker (dwalker07_at_[hidden])
Date: 2002-10-25 01:04:48
On Thursday, October 24, 2002, at 7:14 PM, Martin Weiser wrote:
> On Donnerstag, 24. Oktober 2002 18:13, Neal D. Becker wrote:
>>>>>>> "Dan" == Dan Mcleran <dan.mcleran_at_[hidden]> writes:
>>
>> Dan> 1D Numerical Integration
>
>> Dan> Here are what I would suggest to be the high-level
>> requirements
>> Dan> for whichever direction we go for 1D numerical integration:
>>
>> Dan> 1. They must be able to integrate a user-defined function
>> from
>> Dan> point a to point b in increments of deltax.
>>
>> I think it should be more general. deltax does not need to be fixed.
>> The romberg integration routine I am using chooses the points
>> adaptively.
>
> I'd like to support this opinion. As elaborated by Matt in a different
> posting, adaptive methods choosing the integration nodes on their own
> may
> be far more efficient, accurate, and robust than straightforward
> uniform
> ones.
>
> If the interface requires the user to supply integration nodes, the
> library asks too much of him. Many users will supply simple integration
> nodes (e.g. equidistant) in favor of suitable ones, and obtain
> suboptimal
> results.
>
> Even worse would be to enforce uniform integration by providing just a
> dx
> to adjust.
There are at least four ways to address the domain values:
1. initial x, final x, and the number of intervals between them
2. initial x, final x, and the interval size
A. note that the interval size may not fit evenly
3. initial x, final x, and letting the algorithm decide intermediate x's
A. this is for an adaptive algorithm
B. requires the y's to be given by a function/functor
4. a list of x values to use
A. can't assume any pattern
B. (personal: most books I've seen don't mention this case, so I
don't want us to forget it)
C. cases [1] and [2] are sort-of specializations of this
Daryle
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk