Introduction
The Regula Falsi Method, also known as the False Position Method, is an iterative numerical technique for finding the roots of a continuous function \( f(x) \). Like the bisection method, it relies on the principle that a function that changes sign over an interval \([a, b]\) must have a root within that interval. However, the regula falsi method uses a more sophisticated approach to choose the next approximation, leading to potentially faster convergence.
Basic Idea
The method improves upon the bisection method by using a linear interpolation technique to estimate the root. Instead of simply taking the midpoint of the interval, the method draws a straight line (or ``secant'' or ``chord'') between the points \((a, f(a))\) and \((b, f(b))\), and takes the $x$-intercept of this line as the next approximation.
At first we choose $a$ and $b$ such that the root lies between $a$ and $b$, that is, $f(a)\cdot f(b) \lt 0$. Next we consider the chord joining $f(a)$ and $f(b)$ (see figure below). The numerical solution will be the $x$-coordinate of the point where the chord intersects the $x$-axis.
Let us derive the value of $x_1$. The equation of the chord (line) joining $(a,f(a))$ and $(b, f(b))$ is given by
\begin{align*}
\frac{y - f(b)}{f(b) - f(a)} = \frac{x-b}{b - a}.
\end{align*}
We need to determine when does this chord intersect the $x$-axis. When the line intersects the $x$-axis, its $y$-coordinate is $0$. So,
\begin{align*}
\frac{0 - f(b)}{f(b) - f(a)} = \frac{x_1 - b}{b - a} & \implies \left( x_1 - b \right) \left( f(b) - f(a) \right) = -f(b) (b- a) \\[1ex]
& \implies x_1 - b = \frac{-f(b) (b- a)}{f(b) - f(a)} \\[1ex]
& \implies x_1 = b - \frac{f(b) (b- a)}{f(b) - f(a)} \\[1ex]
& \kern 1.45cm = \frac{b f(b) - b f(a) - b f(b) + a f(b)}{f(b) - f(a)} \\[1ex]
& \kern 1.45cm = \frac{a f(b) - b f(a)}{f(b) - f(a)}.
\end{align*}
Now we check which one of $f(a) \cdot f(x_1)$ and $f(b) \cdot f(x_1)$ is negative. For example, if $f(a) \cdot f(x_1) < 0$, then for the next iteration we replace $b$ by $x_1$ and $a$ remains unchanged. The regula falsi algorithm is given below.
Step 1:
Choose $a$ and $b$ such that $f(a) \cdot f(b) \lt 0$, that is, $f(a)$ and $f(b)$ are of different signs.
Step 2:
Calculate the first iteration of the numerical solution $x_1$ by
\[
x_1 = \frac{a f(b) - b f(a)}{f(b) - f(a)}.
\]
Step 3:
Now check whether $f(x_1) \cdot f(a) \lt 0$ or $f(x_1) \cdot f(b) \lt 0$.
-
If $f(x_1) \cdot f(a) \lt 0$, then for the next iteration replace $b$ by $x_1$. Now new $a = a$ and $b = x_1$.
-
If $f(x_1) \cdot f(b) \lt 0$, then for the next iteration replace $a$ by $x_1$. Now new $a = x_1$ and $b = b$.
Step 4:
Repeat the process until the interval is sufficiently small, at which the next iteration is taken as the approximate root.
Convergence
The method typically converges faster than the bisection method, particularly when the function is nearly linear in the vicinity of the root. However, it is not guaranteed to converge faster in all cases. In some situations, the method can become "stuck" and converge slowly if the secant lines consistently favor one side of the interval.
Example: The equation $2x = \log _{10}x + 7$ has a root between $3$ and $4$. Find this root, correct to three decimal places, by regula falsi method.
Solution: Note that
\[
f(3) = -1.4771 \text{ and } f(4) = 0.3979,
\]
so a root lie in the interval $[3,4]$. Applying the regula falsi method, we have the following iterations.
-
First iteration:
\begin{align*}
x_1 & = \frac{a f(b) - b f(a)}{f(b) - f(a)} \\[1ex]
& = \frac{3 \times 0.3979 - 4 \times (-1.4771)}{0.3979 + 1.4771} \\[1ex]
& = 3.7878.
\end{align*}
Note that $f(3.7878) \lt 0$, so for the next iteration we have
\[
a = 3.7878 \text{ and } b = 4.
\]
-
Second iteration:
\begin{align*}
x_2 & = \frac{a f(b) - b f(a)}{f(b) - f(a)} \\
& = \frac{3.7878 \times (0.3979) - 4 \times (-0.0028)}{0.3979 + 0.0028} \\
& = 3.7893.
\end{align*}
Since $f(3.7893) \lt 0$, we take $a = 3.7893$ and $b = 4$ for the next iteration.
-
Third iteration:
\begin{align*}
x_3 & = \frac{a f(b) - b f(a)}{f(b) - f(a)} \\
& = 3.7893.
\end{align*}
Thus, the root between $3$ and $4$ is $3.7893$, which is correct to $3$ decimal places.
Here is the table of the iterations:
\[
\begin{array}{|c|c|c|c|c|}
\hline
a & b & f(a) & f(b) & \text{root} \\
\hline
3.0000 & 4.0000 & -1.4771 & 0.3979 & 3.7878 \\
\hline
3.7878 & 4.0000 & -0.0028 & 0.3979 & 3.7893 \\
\hline
3.7893 & 4.0000 & -0.0000 & 0.3979 & 3.7893 \\
\hline
3.7893 & 4.0000 & -0.0000 & 0.3979 & 3.7893 \\
\hline
3.7893 & 4.0000 & -0.0000 & 0.3979 & 3.7893 \\
\hline
3.7893 & 4.0000 & -0.0000 & 0.3979 & 3.7893 \\
\hline
\end{array}
\]