This manual relates to an old release of the Library.
The documentation for the current release is also available on this site.

NAG FL Interface
d04bbf (sample)

Settings help

FL Name Style:


FL Specification Language:


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, xval(11) 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: xval(21) 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 d04baf.