23 #ifndef O2SCL_MULTI_INTE_H 24 #define O2SCL_MULTI_INTE_H 29 #include <boost/numeric/ublas/vector.hpp> 31 #include <o2scl/inte.h> 32 #include <o2scl/multi_funct.h> 34 #ifndef DOXYGEN_NO_O2NS 80 virtual double minteg(func_t &func,
size_t ndim,
const vec_t &a,
91 virtual int minteg_err(func_t &func,
size_t ndim,
const vec_t &a,
92 const vec_t &b,
double &res,
double &err)=0;
103 const char *
type() {
return "inte_multi"; }
105 #ifndef DOXYGEN_INTERNAL 116 #ifndef DOXYGEN_NO_O2NS std::function< double(size_t, const boost::numeric::ublas::vector< double > &)> multi_funct
Multi-dimensional function typedef.
double get_error()
Return the error in the result from the last call to minteg() or minteg_err()
The main O<span style='position: relative; top: 0.3em; font-size: 0.8em'>2</span>scl O$_2$scl names...
virtual double minteg(func_t &func, size_t ndim, const vec_t &a, const vec_t &b)
Integrate function func over the hypercube from to for 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 to for ndim-1.
const char * type()
Return string denoting type ("inte_multi")
double tol_rel
The maximum "uncertainty" in the value of the integral (default ).
Multi-dimensional integration over a hypercube [abstract base].
double interror
The uncertainty for the last integration computation.
bool err_nonconv
If true, call the error handler if the routine does not "converge".