# naginterfaces.library.inteq.abel2_​weak¶

naginterfaces.library.inteq.abel2_weak(ck, cf, cg, initwt, tlim, nmesh, comm, iorder=4, tolnl=1.0536712127723509e-08, data=None)[source]

abel2_weak computes the solution of a weakly singular nonlinear convolution Volterra–Abel integral equation of the second kind using a fractional Backward Differentiation Formulae (BDF) method.

For full information please refer to the NAG Library document for d05bd

https://www.nag.com/numeric/nl/nagdoc_27.3/flhtml/d05/d05bdf.html

Parameters
ckcallable retval = ck(t, data=None)

must evaluate the kernel of the integral equation (1).

Parameters
tfloat

, the value of the independent variable.

dataarbitrary, optional, modifiable in place

User-communication data for callback functions.

Returns
retvalfloat

The value of evaluated at .

cfcallable retval = cf(t, data=None)

must evaluate the function in (1).

Parameters
tfloat

, the value of the independent variable.

dataarbitrary, optional, modifiable in place

User-communication data for callback functions.

Returns
retvalfloat

The value of evaluated at .

cgcallable retval = cg(s, y, data=None)

must evaluate the function in (1).

Parameters
sfloat

, the value of the independent variable.

yfloat

The value of the solution at the point .

dataarbitrary, optional, modifiable in place

User-communication data for callback functions.

Returns
retvalfloat

The value of evaluated at and .

initwtstr, length 1

If the fractional weights required by the method need to be calculated by the function then set (Initial call).

If (Subsequent call), the function assumes the fractional weights have been computed on a previous call and are stored in [‘work’].

tlimfloat

The final point of the integration interval, .

nmeshint

, the number of equispaced points at which the solution is sought.

commdict, communication object, modified in place

Communication structure.

On initial entry: need not be set.

iorderint, optional

, the order of the BDF method to be used.

tolnlfloat, optional

The accuracy required for the computation of the starting value and the solution of the nonlinear equation at each step of the computation (see Further Comments).

dataarbitrary, optional

User-communication data for callback functions.

Returns
ynfloat, ndarray, shape

contains the approximate value of the true solution at the point , for , where .

Raises
NagValueError
(errno )

On entry, .

Constraint: .

(errno )

On entry, and .

Constraint: , for some .

(errno )

On entry, and .

Constraint: .

(errno )

On entry, .

Constraint: ; that is, .

(errno )

On entry, .

Constraints: .

(errno )

On entry, .

Constraints: or .

(errno )

On entry, .

Constraint: .

(errno )

An error occurred when trying to compute the starting values.

(errno )

An error occurred when trying to compute the solution at a specific step.

Notes

abel2_weak computes the numerical solution of the weakly singular convolution Volterra–Abel integral equation of the second kind

Note the constant in (1). It is assumed that the functions involved in (1) are sufficiently smooth.

The function uses a fractional BDF linear multi-step method to generate a family of quadrature rules (see abel_weak_weights()). The BDF methods available in abel2_weak are of orders , and ( say). For a description of the theoretical and practical background to these methods we refer to Lubich (1985) and to Baker and Derakhshan (1987) and Hairer et al. (1988) respectively.

The algorithm is based on computing the solution in a step-by-step fashion on a mesh of equispaced points. The size of the mesh is given by , being the number of points at which the solution is sought. These methods require (including ) starting values which are evaluated internally. The computation of the lag term arising from the discretization of (1) is performed by fast Fourier transform (FFT) techniques when , and directly otherwise. The function does not provide an error estimate and you are advised to check the behaviour of the solution with a different value of . An option is provided which avoids the re-evaluation of the fractional weights when abel2_weak is to be called several times (with the same value of ) within the same program unit with different functions.

References

Baker, C T H and Derakhshan, M S, 1987, FFT techniques in the numerical solution of convolution equations, J. Comput. Appl. Math. (20), 5–24

Hairer, E, Lubich, Ch and Schlichte, M, 1988, Fast numerical solution of weakly singular Volterra integral equations, J. Comput. Appl. Math. (23), 87–98

Lubich, Ch, 1985, Fractional linear multistep methods for Abel–Volterra integral equations of the second kind, Math. Comput. (45), 463–469