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