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://support.nag.com/numeric/nl/nagdoc_30.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 kindNote 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 inabel2_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