The Secant Method
The Secant Method
The secant method is a technique for finding the root of a scalar-valued function f(x) of a single
variable x when no information about the derivative exists. It is similar in many ways to the false-
position method, but trades the possibility of non-convergence for faster convergence.
As an example of the secant method, suppose we wish to find a root of the function
f(x) = cos(x) + 2 sin(x) + x2. A closed form solution for x does not exist so we must use a
numerical technique. We will use x0 = 0 and x1 = -0.1 as our initial approximations. We will let
the two values εstep = 0.001 and εabs = 0.001 and we will halt after a maximum of N = 100
iterations.
We will use four decimal digit arithmetic to find a solution and the resulting iteration is shown in
Table 1.
The Newton-Raphson algorithm requires the evaluation of two functions (the function and its
derivative) per each iteration. If they are complicated expressions it will take considerable amount of
effort to do hand calculations or large amount of CPU time for machine calculations. Hence it is
desirable to have a method that converges (please see the
section order of the numerical methods for theoretical details)
as fast as Newton's method yet involves only the evaluation of
the function. Let x0 and x1 are two initial approximations for the
root 's' of f(x) = 0 and f(x0) & f(x1) respectively, are their
function values. If x 2 is the point of intersection of x-axis and
the line-joining the points (x0, f(x0)) and (x1, f(x1)) then x2 is
closer to 's' than x0 and x1. The equation relating x0, x1 and x2 is
found by considering the slope 'm'
f(x1) * (x1-x0)
x2 = x1 -
f(x1) - f(x0)
This formula is similar to Regula-falsi scheme of root bracketing methods but differs in the
implementation. The Regula-falsi method begins with the two initial approximations 'a' and 'b'
such that a < s < b where s is the root of f(x) = 0. It proceeds to the next iteration by
calculating c(x2) using the above formula and then chooses one of the interval (a,c) or (c,h)
depending on f(a) * f(c) < 0 or > 0 respectively. On the other hand secant method starts with two
initial approximation x0 and x1 (they may not bracket the root) and then calculates the x2 by the
same formula as in Regula-falsi method but proceeds to the next iteration without bothering
about any root bracketing.