Struct rgsl::types::integration::IntegrationQawsTable [−][src]
pub struct IntegrationQawsTable { /* fields omitted */ }
Expand description
The QAWS algorithm is designed for integrands with algebraic-logarithmic singularities at the end-points of an integration region. In order to work efficiently the algorithm requires a precomputed table of Chebyshev moments.
Implementations
This function allocates space for a gsl_integration_qaws_table struct describing a singular
weight function W(x) with the parameters alpha
, beta
, mu
and nu
,
W(x) = (x-a)^alpha (b-x)^beta log^mu (x-a) log^nu (b-x)
where alpha > -1f64
, beta > -1f64
, and mu = 0, 1
, nu = 0, 1
. The weight function can
take four different forms depending on the values of mu
and nu
,
W(x) = (x-a)^alpha (b-x)^beta (mu = 0, nu = 0)
W(x) = (x-a)^alpha (b-x)^beta log(x-a) (mu = 1, nu = 0)
W(x) = (x-a)^alpha (b-x)^beta log(b-x) (mu = 0, nu = 1)
W(x) = (x-a)^alpha (b-x)^beta log(x-a) log(b-x) (mu = 1, nu = 1)
The singular points (a,b) do not have to be specified until the integral is computed, where they are the endpoints of the integration range.
The function returns a pointer to the newly allocated table gsl_integration_qaws_table if no errors were detected, and 0 in the case of error.
This function modifies the parameters (\alpha, \beta, \mu, \nu)
This function computes the integral of the function f(x) over the interval (a,b) with the
singular weight function (x-a)^\alpha (b-x)^\beta \log^\mu (x-a) \log^\nu (b-x)
. The
parameters of the weight function (\alpha, \beta, \mu, \nu) are taken from the table self.
The integral is,
I = \int_a^b dx f(x) (x-a)^alpha (b-x)^beta log^mu (x-a) log^nu (b-x).
The adaptive bisection algorithm of QAG is used. When a subinterval contains one of the endpoints then a special 25-point modified Clenshaw-Curtis rule is used to control the singularities. For subintervals which do not include the endpoints an ordinary 15-point Gauss-Kronrod integration rule is used.
Returns (result, abs_err)