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

inline inte_multi()
inline virtual ~inte_multi()
inline virtual 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.

virtual 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.

inline 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.

inline 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.