|
template<class T > |
T | norm (const T &x) |
|
template<class T > |
T | real (const T &x) |
|
template<class T > |
T | Epsilon () |
|
template<class T > |
T | MinRep () |
|
template<class T > |
T | rescale_error (T err, T const &resabs, T const &resasc) |
|
template<class UF > |
bool | intGKPNA (UF const &func, IntRegion< typename UF::result_type > ®, typename UF::result_type const epsabs, typename UF::result_type const epsrel, std::map< typename UF::result_type, typename UF::result_type > *fxmap=0) |
| Non-adaptive integration of the function f over the region 'reg'. More...
|
|
template<class UF > |
void | intGKP (UF const &func, IntRegion< typename UF::result_type > ®, typename UF::result_type const epsabs, typename UF::result_type const epsrel, std::map< typename UF::result_type, typename UF::result_type > *fxmap=0) |
| An adaptive integration algorithm which computes the integral of f over the region reg. More...
|
|
template<class UF > |
AuxFunc1< UF > | Aux1 (UF uf) |
| Auxiliary function 1. More...
|
|
template<class UF > |
AuxFunc2< UF > | Aux2 (UF uf) |
| Auxiliary function 2. More...
|
|
template<class BF , class Tp > |
binder2_1< BF > | bind21 (const BF &oper, const Tp &x) |
|
template<class TF , class Tp > |
binder3_1< TF > | bind31 (const TF &oper, const Tp &x) |
|
int | gkp_n (int level) |
|
template<class T > |
const std::vector< T > & | gkp_x (int level) |
|
template<class T > |
const std::vector< T > & | gkp_wa (int level) |
|
template<class T > |
const std::vector< T > & | gkp_wb (int level) |
|
template<class UF >
void lsst::afw::math::details::intGKP |
( |
UF const & |
func, |
|
|
IntRegion< typename UF::result_type > & |
reg, |
|
|
typename UF::result_type const |
epsabs, |
|
|
typename UF::result_type const |
epsrel, |
|
|
std::map< typename UF::result_type, typename UF::result_type > * |
fxmap = 0 |
|
) |
| |
|
inline |
An adaptive integration algorithm which computes the integral of f over the region reg.
- Note
- First the non-adaptive GKP algorithm is tried. If that is not accurate enough (according to the absolute and relative accuracies, epsabs and epsrel), the region is split in half, and each new region is integrated. The routine continues by successively splitting the subregion which gave the largest absolute error until the integral converges.
The area and estimated error are returned as reg.Area() and reg.Err() If desired, *retx and *retf return std::vectors of x,f(x) respectively They only include the evaluations in the non-adaptive pass, so they do not give an accurate estimate of the number of function evaluations.
Definition at line 463 of file Integrate.h.