Sidi's generalized secant method explained

Sidi's generalized secant method is a root-finding algorithm, that is, a numerical method for solving equations of the form

f(x)=0

. The method was publishedby Avram Sidi.[1]

The method is a generalization of the secant method. Like the secant method, it is an iterative method which requires one evaluation of

f

in each iteration and no derivatives of

f

. The method can converge much faster though, with an order which approaches 2 provided that

f

satisfies the regularity conditions described below.

Algorithm

We call

\alpha

the root of

f

, that is,

f(\alpha)=0

. Sidi's method is an iterative method which generates a sequence

\{xi\}

of approximations of

\alpha

. Starting with k + 1 initial approximations

x1,...,xk+1

, the approximation

xk+2

is calculated in the first iteration, the approximation

xk+3

is calculated in the second iteration, etc. Each iteration takes as input the last k + 1 approximations and the value of

f

at those approximations. Hence the nth iteration takes as input the approximations

xn,...,xn+k

and the values

f(xn),...,f(xn+k)

.

The number k must be 1 or larger: k = 1, 2, 3, .... It remains fixed during the execution of the algorithm. In order to obtain the starting approximations

x1,...,xk+1

one could carry out a few initializing iterations with a lower value of k.

The approximation

xn+k+1

is calculated as follows in the nth iteration. A polynomial of interpolation

pn,k(x)

of degree k is fitted to the k + 1 points

(xn,f(xn)),...(xn+k,f(xn+k))

. With this polynomial, the next approximation

xn+k+1

of

\alpha

is calculated as

with

pn,k'(xn+k)

the derivative of

pn,k

at

xn+k

. Having calculated

xn+k+1

one calculates

f(xn+k+1)

and the algorithm can continue with the (n + 1)th iteration. Clearly, this method requires the function

f

to be evaluated only once per iteration; it requires no derivatives of

f

.

The iterative cycle is stopped if an appropriate stopping criterion is met. Typically the criterion is that the last calculated approximation is close enough to the sought-after root

\alpha

.

To execute the algorithm effectively, Sidi's method calculates the interpolating polynomial

pn,k(x)

in its Newton form.

Convergence

Sidi showed that if the function

f

is (k + 1)-times continuously differentiable in an open interval

I

containing

\alpha

(that is,

f\inCk+1(I)

),

\alpha

is a simple root of

f

(that is,

f'(\alpha)0

) and the initial approximations

x1,...,xk+1

are chosen close enough to

\alpha

, then the sequence

\{xi\}

converges to

\alpha

, meaning that the following limit holds:

\lim\limitsnxn=\alpha

.

Sidi furthermore showed that

\limn\toinfty

xn-\alpha
k
\prod(xn-i-\alpha)
i=0

=L=

(-1)k+1
(k+1)!
f(k+1)(\alpha)
f'(\alpha)

,

and that the sequence converges to

\alpha

of order

\psik

, i.e.

\lim\limitsn

|xn+1-\alpha|
\psik
|x
n-\alpha|

=

(\psik-1)/k
|L|

The order of convergence

\psik

is the only positive root of the polynomial

sk+1-sk-sk-1-...-s-1

We have e.g.

\psi1=(1+\sqrt{5})/2

≈ 1.6180,

\psi2

≈ 1.8393 and

\psi3

≈ 1.9276. The order approaches 2 from below if k becomes large:

\lim\limitsk\psik=2

[2] [3]

Related algorithms

Sidi's method reduces to the secant method if we take k = 1. In this case the polynomial

pn,1(x)

is the linear approximation of

f

around

\alpha

which is used in the nth iteration of the secant method.

We can expect that the larger we choose k, the better

pn,k(x)

is an approximation of

f(x)

around

x=\alpha

. Also, the better

pn,k'(x)

is an approximation of

f'(x)

around

x=\alpha

. If we replace

pn,k'

with

f'

in we obtain that the next approximation in each iteration is calculated as

This is the Newton–Raphson method. It starts off with a single approximation

x1

so we can take k = 0 in . It does not require an interpolating polynomial but instead one has to evaluate the derivative

f'

in each iteration. Depending on the nature of

f

this may not be possible or practical.

Once the interpolating polynomial

pn,k(x)

has been calculated, one can also calculate the next approximation

xn+k+1

as a solution of

pn,k(x)=0

instead of using . For k = 1 these two methods are identical: it is the secant method. For k = 2 this method is known as Muller's method.[3] For k = 3 this approach involves finding the roots of a cubic function, which is unattractively complicated. This problem becomes worse for even larger values of k. An additional complication is that the equation

pn,k(x)=0

will in general have multiple solutions and a prescription has to be given which of these solutions is the next approximation

xn+k+1

. Muller does this for the case k = 2 but no such prescriptions appear to exist for k > 2.

References

  1. Sidi, Avram, "Generalization Of The Secant Method For Nonlinear Equations", Applied Mathematics E-notes 8 (2008), 115–123, http://www.math.nthu.edu.tw/~amen/2008/070227-1.pdf
  2. Traub, J.F., "Iterative Methods for the Solution of Equations", Prentice Hall, Englewood Cliffs, N.J. (1964)
  3. Muller, David E., "A Method for Solving Algebraic Equations Using an Automatic Computer", Mathematical Tables and Other Aids to Computation 10 (1956), 208–215