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 Chebyschev moments.
This function allocates space for a gsl_integration_qaws_table
struct and associated workspace describing a singular weight function
@math{W(x)} with the parameters @math{(\alpha, \beta, \mu, \nu)},
where @math{\alpha < -1}, @math{\beta < -1}, and @math{\mu = 0, 1}, @math{\nu = 0, 1}. The weight function can take four different forms depending on the values of @math{\mu} and @math{\nu},
The singular points @math{(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
gsl_integration_qaws_table
if no errors were detected, and 0 in
the case of error.
gsl_integration_qaws_table
struct t.
gsl_integration_qaws_table
struct t.
This function computes the integral of the function @math{f(x)} over the interval @math{(a,b)} with the singular weight function @math{(x-a)^\alpha (b-x)^\beta \log^\mu (x-a) \log^\nu (b-x)}. The parameters of the weight function @math{(\alpha, \beta, \mu, \nu)} are taken from the table t. The integral is,
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.