![]() |
Object-oriented Scientific Computing Library: Version 0.910
|
Naive multi-dimensional integration over a hypercube. More...
#include <composite_inte.h>
Naively combine several one-dimensional integration objects from class inte in order to perform a multi-dimensional integration over a region defined by constant limits. For more general regions of integration, use children of the class gen_inte.
The 1-dimensional integration routines are specified in the function set_oned_inte().
The integration routines are called in order of the index specified in the function set_oned_inte(). For n-
dimensional integration, n
one-dimensional integration objects should be specified, with indexes 0
through n-1
. The integration routines are called in order of their index, so that the outermost integration is done by the routine specified with index 0.
No error estimate is performed. Error estimation for multiple dimension integrals is provided by the Monte Carlo integration classes (see mcarlo_inte).
Definition at line 69 of file composite_inte.h.
Public Member Functions | |
int | set_oned_inte (inte< funct > &it, size_t i) |
Set the one-dimensional integration object with index i . | |
virtual int | minteg_err (func_t &func, size_t n, const vec_t &a, const vec_t &b, double &res, double &err) |
Integrate function func over the hypercube from ![]() ![]() ![]() | |
virtual const char * | type () |
Return string denoting type ("composite_inte") | |
Data Fields | |
size_t | max_dim |
The maxiumum number of integration dimensions (default 100) | |
Protected Member Functions | |
double | odfunc (double x, size_t &ix) |
The one-dimensional integration function. | |
Protected Attributes | |
const vec_t * | ax |
The user-specified upper limits. | |
const vec_t * | bx |
The user-specified lower limits. | |
alloc_vec_t * | cx |
The independent variable vector. | |
func_t * | mf |
The user-specified function. | |
size_t | ndim |
The user-specified number of dimensions. | |
alloc_t | ao |
Memory allocator for objects of type alloc_vec_t . | |
size_t | nint |
The size of the integration object arrays. | |
inte< funct > ** | iptrs |
Pointers to the integration objects. | |
bool * | tptrs |
Flag indicating if integration object has been set. |
virtual int composite_inte< func_t, vec_t, alloc_vec_t, alloc_t >::minteg_err | ( | func_t & | func, |
size_t | n, | ||
const vec_t & | a, | ||
const vec_t & | b, | ||
double & | res, | ||
double & | err | ||
) | [inline, virtual] |
The function set_oned_inte() must be used first to set the one-dimensional routines to use.
Implements multi_inte< func_t, vec_t >.
Definition at line 155 of file composite_inte.h.
double composite_inte< func_t, vec_t, alloc_vec_t, alloc_t >::odfunc | ( | double | x, |
size_t & | ix | ||
) | [inline, protected] |
This function to send to the integrators
Definition at line 209 of file composite_inte.h.
Documentation generated with Doxygen. Provided under the GNU Free Documentation License (see License Information).