Class inte_multi (o2scl)

O2scl : Class List

template<class func_t = multi_funct, class vec_t = boost::numeric::ublas::vector<double>>
class o2scl::inte_multi

Multi-dimensional integration over a hypercube [abstract base].

Multi-dimensional integration over a region defined by constant limits. For more general regions of integration, use children of the class inte_gen.

Public Functions

inte_multi()
~inte_multi()
double minteg(func_t &func, size_t ndim, const vec_t &a, const vec_t &b)

Integrate function func over the hypercube from \( x_i=a_i \) to \( x_i=b_i \) for \( 0<i< \) ndim-1.

int minteg_err(func_t &func, size_t ndim, const vec_t &a, const vec_t &b, double &res, double &err) = 0

Integrate function func over the hypercube from \( x_i=a_i \) to \( x_i=b_i \) for \( 0<i< \) ndim-1.

double get_error()

Return the error in the result from the last call to minteg() or minteg_err()

This will quietly return zero if no integrations have been performed.

const char *type()

Return string denoting type (“inte_multi”)

Public Members

bool err_nonconv

If true, call the error handler if the routine does not “converge”.

int verbose

Verbosity.

double tol_rel

The maximum “uncertainty” in the value of the integral (default \( 10^{-8} \)).

Protected Attributes

double interror

The uncertainty for the last integration computation.