QawcIntegration Type

Adaptive integration for Cauchy principal values.

This function computes the Cauchy principal value of the integral of f over (a, b), with a singularity at c. The adaptive bisection algorithm of QAG is used, with modifications to ensure that subdivisions do not occur at the singular point x = c. When a subinterval contains the point x = c or is close to it then a special 25-point modified Clenshaw-Curtis rule is used to control the singularity. Further away from the singularity the algorithm uses an ordinary 15-point Gauss-Kronrod integration rule.

Ref.: Gnu Scientific library reference manual ()

Constructors

Constructor Description

QawcIntegration()

Full Usage: QawcIntegration()

Creates an instance of this integration class with a default integration rule and default debug flag setting.

QawcIntegration(debug)

Full Usage: QawcIntegration(debug)

Parameters:
    debug : bool - Setting of the debug flag for this instance. If the integration fails or the specified accuracy is not reached, an exception is thrown if the debug flag is set to true. If set to false, the return value of the integration function will be set to the appropriate error code (an exception will be thrown then only for serious errors).

Creates an instance of this integration class with specified integration rule and specified debug flag setting.

debug : bool

Setting of the debug flag for this instance. If the integration fails or the specified accuracy is not reached, an exception is thrown if the debug flag is set to true. If set to false, the return value of the integration function will be set to the appropriate error code (an exception will be thrown then only for serious errors).

Instance members

Instance member Description

this.Integrate

Full Usage: this.Integrate

Parameters:
    f : Func<float, float>
    a : float
    b : float
    c : float
    epsabs : float
    epsrel : float
    limit : int
    debug : bool
    result : byref<float>
    abserr : byref<float>

Returns: GSL_ERROR

f : Func<float, float>
a : float
b : float
c : float
epsabs : float
epsrel : float
limit : int
debug : bool
result : byref<float>
abserr : byref<float>
Returns: GSL_ERROR

this.Integrate

Full Usage: this.Integrate

Parameters:
    f : Func<float, float>
    a : float
    b : float
    c : float
    epsabs : float
    epsrel : float
    limit : int
    result : byref<float>
    abserr : byref<float>

Returns: GSL_ERROR

f : Func<float, float>
a : float
b : float
c : float
epsabs : float
epsrel : float
limit : int
result : byref<float>
abserr : byref<float>
Returns: GSL_ERROR

Static members

Static member Description

QawcIntegration.Integration(f, a, b, c, epsabs, epsrel, limit, debug, result, abserr, tempStorage)

Full Usage: QawcIntegration.Integration(f, a, b, c, epsabs, epsrel, limit, debug, result, abserr, tempStorage)

Parameters:
    f : Func<float, float>
    a : float
    b : float
    c : float
    epsabs : float
    epsrel : float
    limit : int
    debug : bool
    result : byref<float>
    abserr : byref<float>
    tempStorage : byref<obj>

Returns: GSL_ERROR

f : Func<float, float>
a : float
b : float
c : float
epsabs : float
epsrel : float
limit : int
debug : bool
result : byref<float>
abserr : byref<float>
tempStorage : byref<obj>
Returns: GSL_ERROR

QawcIntegration.Integration(f, a, b, c, epsabs, epsrel, limit, result, abserr, tempStorage)

Full Usage: QawcIntegration.Integration(f, a, b, c, epsabs, epsrel, limit, result, abserr, tempStorage)

Parameters:
    f : Func<float, float>
    a : float
    b : float
    c : float
    epsabs : float
    epsrel : float
    limit : int
    result : byref<float>
    abserr : byref<float>
    tempStorage : byref<obj>

Returns: GSL_ERROR

f : Func<float, float>
a : float
b : float
c : float
epsabs : float
epsrel : float
limit : int
result : byref<float>
abserr : byref<float>
tempStorage : byref<obj>
Returns: GSL_ERROR

QawcIntegration.Integration(f, a, b, c, epsabs, epsrel, limit, debug, result, abserr)

Full Usage: QawcIntegration.Integration(f, a, b, c, epsabs, epsrel, limit, debug, result, abserr)

Parameters:
    f : Func<float, float>
    a : float
    b : float
    c : float
    epsabs : float
    epsrel : float
    limit : int
    debug : bool
    result : byref<float>
    abserr : byref<float>

Returns: GSL_ERROR

f : Func<float, float>
a : float
b : float
c : float
epsabs : float
epsrel : float
limit : int
debug : bool
result : byref<float>
abserr : byref<float>
Returns: GSL_ERROR

QawcIntegration.Integration(f, a, b, c, epsabs, epsrel, limit, result, abserr)

Full Usage: QawcIntegration.Integration(f, a, b, c, epsabs, epsrel, limit, result, abserr)

Parameters:
    f : Func<float, float>
    a : float
    b : float
    c : float
    epsabs : float
    epsrel : float
    limit : int
    result : byref<float>
    abserr : byref<float>

Returns: GSL_ERROR

f : Func<float, float>
a : float
b : float
c : float
epsabs : float
epsrel : float
limit : int
result : byref<float>
abserr : byref<float>
Returns: GSL_ERROR