naginterfaces.library.inteq.abel1_​weak

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

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

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

https://www.nag.com/numeric/nl/nagdoc_29.3/flhtml/d05/d05bef.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 by a previous call and are stored in [‘work’].

tlimfloat

The final point of the integration interval, .

ynfloat, array-like, shape

must contain the value of at (see Further Comments).

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, .

Constraint:

(errno )

On entry, .

Constraint: 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

abel1_weak computes the numerical solution of the weakly singular convolution Volterra–Abel integral equation of the first kind

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

then the solution is unique and has the form , (see Lubich (1987)). It is evident from (1) that . You are required to provide the value of at . If is unknown, Further Comments gives a description of how an approximate value can be obtained.

The function uses a fractional BDF linear multi-step method selected by you to generate a family of quadrature rules (see abel_weak_weights()). The BDF methods available in abel1_weak are of orders , and ( say). For a description of the theoretical and practical background related to these methods we refer to Lubich (1987) 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 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 abel1_weak is to be called several times (with the same value of ) within the same program 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

Gorenflo, R and Pfeiffer, A, 1991, On analysis and discretization of nonlinear Abel integral equations of first kind, Acta Math. Vietnam (16), 211–262

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, 1987, Fractional linear multistep methods for Abel–Volterra integral equations of the first kind, IMA J. Numer. Anal (7), 97–106