NAG FL Interface
d04bbf (sample)

1 Purpose

d04bbf generates abscissae about a target abscissa x0 for use in a subsequent call to d04baf.

2 Specification

Fortran Interface
Subroutine d04bbf ( x_0, hbase, xval)
Real (Kind=nag_wp), Intent (In) :: x_0, hbase
Real (Kind=nag_wp), Intent (Out) :: xval(21)
C Header Interface
#include <nag.h>
void  d04bbf_ (const double *x_0, const double *hbase, double xval[])
The routine may be called by the names d04bbf or nagf_numdiff_sample.

3 Description

d04bbf may be used to generate the necessary abscissae about a target abscissa x0 for the calculation of derivatives using d04baf.
For a given x0 and h, the abscissae correspond to the set x0, x0 ± 2j-1 h , for j=1,2,,10. These 21 points will be returned in ascending order in xval. In particular, xval11 will be equal to x0.

4 References

Lyness J N and Moler C B (1969) Generalised Romberg methods for integrals of derivatives Numer. Math. 14 1–14

5 Arguments

1: x_0 Real (Kind=nag_wp) Input
On entry: the abscissa x0 at which derivatives are required.
2: hbase Real (Kind=nag_wp) Input
On entry: the chosen step size h. If h<10ε, where ε=x02ajf, the default h=ε1/4 will be used.
3: xval21 Real (Kind=nag_wp) array Output
On exit: the abscissae for passing to d04baf.

6 Error Indicators and Warnings

None.

7 Accuracy

Not applicable.

8 Parallelism and Performance

d04bbf is not threaded in any implementation.

9 Further Comments

The results computed by d04baf depend very critically on the choice of the user-supplied step length h. The overall accuracy is diminished as h becomes small (because of the effect of round-off error) and as h becomes large (because the discretization error also becomes large). If the process of calculating derivatives is repeated four or five times with different values of h one can find a reasonably good value. A process in which the value of h is successively halved (or doubled) is usually quite effective. Experience has shown that in cases in which the Taylor series for for the objective function about x0 has a finite radius of convergence R, the choices of h>R/19 are not likely to lead to good results. In this case some function values lie outside the circle of convergence.

10 Example

See Section 10 in d04baf.