![]() |
Garfield 0.3
Toolkit for the detailed simulation of particle detectors based on ionization measurement in gases and semiconductors
|
Functions for performing numerical integration (quadrature). More...
Functions | |
| void | qagi (std::function< double(double)> f, double bound, const int inf, const double epsabs, const double epsrel, double &result, double &abserr, unsigned int &status) |
| Estimates an integral over a semi-infinite or infinite interval. | |
| void | qk15i (std::function< double(double)> f, double bound, const int inf, const double a, const double b, double &result, double &abserr, double &resabs, double &resasc) |
| 15-point Gauss-Kronrod integration with (semi-)infinite integration range. | |
| void | qk15 (std::function< double(double)> f, const double a, const double b, double &result, double &abserr, double &resabs, double &resasc) |
| 15-point Gauss-Kronrod integration with finite integration range. | |
Functions for performing numerical integration (quadrature).
Reimplemented from QUADPACK.
R. Piessens, E. de Doncker-Kapenger, C. Ueberhuber, D. Kahaner, QUADPACK, a Subroutine Package for Automatic Integration, Springer, 1983
| void Garfield::Numerics::QUADPACK::qagi | ( | std::function< double(double)> | f, |
| double | bound, | ||
| const int | inf, | ||
| const double | epsabs, | ||
| const double | epsrel, | ||
| double & | result, | ||
| double & | abserr, | ||
| unsigned int & | status ) |
Estimates an integral over a semi-infinite or infinite interval.
Calculates an approximation to an integral
![\[ I = \int_{a}^{\infty} f\left(x\right) dx, \]](form_21.png)
or
![\[ I = \int_{-\infty}^{a} f\left(x\right) dx, \]](form_22.png)
or
![\[ I = \int_{-\infty}^{\infty} f\left(x\right) dx \]](form_23.png)
hopefully satisfying
![\[ \left| I - \mathrm{RESULT} \right| \leq
\max(\varepsilon_{\mathrm{abs}}, \varepsilon_{\mathrm{rel}}
\left|I\right|).
\]](form_24.png)
| f | function to be integrated. |
| bound | value of the finite endpoint of the integration range (if any). |
| inf | indicates the type of integration range.
|
| epsabs | requested absolute accuracy |
| epsrel | requested relative accuracy |
| result | the estimated value of the integral |
| abserr | estimated error |
| status | error flag
|
| void Garfield::Numerics::QUADPACK::qk15 | ( | std::function< double(double)> | f, |
| const double | a, | ||
| const double | b, | ||
| double & | result, | ||
| double & | abserr, | ||
| double & | resabs, | ||
| double & | resasc ) |
15-point Gauss-Kronrod integration with finite integration range.
| void Garfield::Numerics::QUADPACK::qk15i | ( | std::function< double(double)> | f, |
| double | bound, | ||
| const int | inf, | ||
| const double | a, | ||
| const double | b, | ||
| double & | result, | ||
| double & | abserr, | ||
| double & | resabs, | ||
| double & | resasc ) |
15-point Gauss-Kronrod integration with (semi-)infinite integration range.
| f | function to be integrated. |
| bound | finite bound of original integration range (0 if inf = 2). |
| inf | indicates the type of integration range. |
| a | lower limit for integration over subrange of (0, 1). |
| b | upper limit for integration over subrange of (0, 1). |
| result | approximation to the integral. |
| abserr | estimate of the modulus of the absolute error. |
| resabs | approximation to the integral over |
| resasc | approximation to the integral of |