On first zero crossing points

https://doi.org/10.1016/S0096-3003(03)00285-6Get rights and content

Abstract

Three algorithms, FZ1, FZ2 and FZ3 for bounding the first zero crossing point of a set of univariate functions on a bounded closed interval are described. Extended interval arithmetic is used in both FZ2 and FZ3. Automatic derivative arithmetic is used in FZ2 and automatic slope arithmetic is used in FZ3. Numerical results are presented.

Introduction

Let fi:D⊆R1R1 (i=1,…,n) be given functions with fiC(D). The so-called first zero crossing point (FZCP) problem consists of determining x∈[a,b]⊆D such thatx=min1⩽i⩽n{xi},where for i=1,…,n, fi(xi)=0, fi(a)⩾0, and xi is the least zero of fi in [a,b].

The FZCP problem has recently been addressed by Casado et al. [1] who have described a simple, elegant and efficient algorithm FZCP_IBB, for the case in which n=1 and when the functions fi are not necessarily differentiable. The authors of FZCP_IBB have described, in [2] an algorithm, the so-called minimal root finder reordered algorithm for a set of n⩾1 functions, which will be referred to in this paper as CGS. The algorithms FZCP_IBB and CGS may be used to solve problems for which the functions fi (i=1,…,n) are not necessarily differentiable (that is to say, the fi might or might not be differentiable). However it is often required to solve the FZCP problem in situations in which fiC1(D) (i=1,…,n) (see, for example [3], [4], [5], [6]). As has been demonstrated in [3], interval arithmetic may be used effectively for ray intersection when the univariate function the zero of which is to be determined is continuously differentiable. Therefore it seems to be desirable to investigate the use of interval arithmetic for the solution of the FZCP problem when fiC1(D) (i=1,…,n).

The algorithm FZ1 is closely based on the algorithm CGS. These algorithms are intended to be used on functions which are not necessarily continuously differentiable, and they have been implemented in order to provide a comparison with the algorithm FZ2 in which automatic derivative arithmetic is used and a comparison with the algorithm FZ3 in which automatic slope arithmetic is used.

Section 2 contains the notation. Some details concerning the interval arithmetic and the interval differentiation and slope arithmetic which is used in the algorithms FZ1, FZ2 and FZ3 are given in Section 3. The algorithms FZ1, FZ2 and FZ3 are described in Section 4. Numerical results which are obtained from the algorithms FZ1, FZ2 and FZ3 are presented in Section 5. Section 6 provides some conclusions.

Section snippets

Notation

The fundamental interval mathematics that is required to understand this paper is described in [7], [8] (see also [9]). The notation that is needed is as follows. A real interval x=[x,x̄] has infimum xR1 and supremum x̄R1 with xx̄. The set of real intervals is denoted by IR1. If X⊆R1 then IX={xIR1|x⊆X}. If x=[x,x̄] and x=x̄=x then one writes x=x.

The midpoint m(x), the magnitude |x|, the width w(x) and the radius ρ(x) of xIR1 are defined bym(x)=((x+x̄)/2)∈R1,|x|=(max{|x|,|x̄|})∈R1,w(x)=(x̄x

Using interval automatic derivative and slope arithmetic

The mathematical foundation of automatic derivative and slope arithmetic is given in [8]. Computational details are given in [10], [11], [12]. Formulae from which interval extensions of a continuously differentiable function f:D⊆R1R1, its first derivative and its slope may be determined are as follows.

Let f:ID⊆IR1IR1 be such that f(x) is the last in a finite sequence (fi(x))i=1 of expressions.

Let the derivative f:ID⊆IR1IR1 of f be defined (if possible) by the following relations, in which

The algorithms FZ1, FZ2 and FZ3

In the algorithms FZ1, FZ2 and FZ3 which are described in this section, Q is a doubly linked list (initially empty) which ultimately contains intervals x⊆[a,b] such that w(x)⩽ε and L is an array of doubly linked lists the components Li of which contain subintervals of [a,b] which are to be processed to bound a solution x of the FZCP problem if it exists. Initially Li={[a,b]} (i=1,…,n). Ultimately Li={∅} (i=1,…,n) and x∈Q.

It is necessary, in FZ1, in FZ2 and in FZ3 to arrange that if fi(a)<0

Numerical results

In order to compare the performance of the algorithms CGS, FZ1, FZ2 and FZ3 results for the determination of the FZCP of the 27 continuously differentiable functions in Table 1 taken from Table (3.1) in [2] are presented in this section. As pointed out in [2] the computational cost of CGS depends on the order in which the functions fi are evaluated; this has also been found to be so for FZ1, FZ2 and FZ3.

Results for the functions 1–27 are given in Table 2 and results for functions 27–1 are given

Conclusions

The computational costs of CGS and FZ1 appear to be identical, as too are the CPU times. This is interesting because in CGS n lists Qi (i=1,…,n) are used while in FZ1 only one list Q is used. For both CGS and FZ1 T=2×10−2 s, while for FZ2 and FZ3 T is effectively zero. Therefore it would appear that CGS and FZ1 are equally effective, but that FZ2 and FZ3 are quicker.

References (15)

There are more references available in the full text version of this article.
View full text