Bisection Method: A Simple Approach Without Unnecessary Complications

The bisection method is a reliable way to find the root of an equation when an analytical solution is either impossible or too cumbersome. It’s valued for its simplicity and predictability. If a function is continuous on a given interval and changes its sign, it’s logical to narrow the search to a smaller region where the root lies. That’s exactly what this method does. Step by step, it reduces the interval of uncertainty, and you control the accuracy—stopping once the result is precise enough for your needs.

Bisection Method: The Idea and Geometric Meaning

Let’s start with the basics. Suppose we have a continuous function on an interval [a,b], where the function’s values at the endpoints have opposite signs. This clearly indicates that somewhere between a and b the graph crosses the x-axis. The process is straightforward: we divide the interval in half and determine on which side of the midpoint the function changes its sign. Then we keep only that half where the sign change occurs. With every division, the interval’s length is reduced by half, and the approximation error becomes smaller and smaller.

Geometric interpretation of the bisection method

Why is this approach so effective? Its reliability is confirmed by the Intermediate Value Theorem (Bolzano’s Theorem): if the function values at the ends of an interval have opposite signs, then there must be a point within that interval where the function equals zero. The method doesn’t require calculating derivatives or adjusting complex parameters. It remains stable even in difficult cases where other methods might produce inaccurate results. Yes, its convergence rate is linear—but each step is easy to predict, and the root-containing interval keeps shrinking. It’s like a binary search in the world of equations—minimum effort, maximum reliability.

Step by Step: From Dividing the Interval to Approximating the Root

Let’s move on to the algorithm. Suppose we start with an interval [a,b] that satisfies the condition f(a)⋅f(b)<0. We calculate the midpoint:

Bisection method formula

Next, we check the value of f(c). If f(c)=0, the root has been found exactly. If not, we keep only the half of the interval where the sign change occurs—either [a,c] or [c,b]. Then we repeat the process. Isn’t it convenient that each new step automatically halves the working interval?

How do we know when to stop? There are a few practical criteria. One option is to control the interval length: after k steps, it will not exceed (b-a)/2k. Therefore, as soon as the following condition is met:

Stopping condition of the bisection method

where ε is the given error tolerance, the desired accuracy for the argument has been achieved. Another approach is to monitor |f(c)| and stop when its value is close to zero. Both approaches work well, so the choice depends on the requirements of your specific problem.

An important detail: at every stage, the endpoints of the current interval have opposite signs, ensuring that the root always remains within the interval and never “disappears” from the search. If there’s only one root in the interval, convergence to it is guaranteed. If there are several roots, the method will lead to the one contained within the working interval.

Bisection Method: Practical Application

Now that we understand the basics, let’s see how the Bisection Method works in a real example. Theory gives us understanding, but practice shows how effective this approach truly is. Let’s go through the entire process—from setting up the problem to obtaining the final result.

Example 1: Find the solution to the nonlinear equation f(x)=x3+x-5=0 on the interval [-2,2] with an accuracy of ε=0.01

Geometric interpretation of the bisection method- iterations 1-3

First, we check the signs at the endpoints:

Bisection method example

Since f(a)⋅f(b)<0, at least one root exists within the interval. Next, we keep narrowing it down until we reach the desired accuracy.

Iteration No. a b c=(a+b)/2 f(c) Selected Interval
1 -2 2 0 -5 [0,2]
2 0 2 1 -3 [1,2]
3 1 2 1.5 -0.125 [1.5,2]
4 1.5 2 1.75 2.1094 [1.5,1.75]
5 1.5 1.75 1.625 0.916 [1.5,1.625]
6 1.5 1.625 1.5625 0.3772 [1.5,1.5625]
7 1.5 1.5625 1.5313 0.1216 [1.5,1.5313]
8 1.5 1.5313 1.5156 -0.0028 [1.5156,1.5313]
9 1.5156 1.5313 1.5234 0.0595 [1.5156,1.5234]

With each division, the interval’s length halves, and the approximation becomes more accurate.

Geometric interpretation of the bisection method- iterations 4-9

After the ninth iteration, we have:

Bisection method example

The accuracy condition is satisfied, so we record the result:

Bisection method example

To verify the minimum required number of divisions, we use the estimate:

Bisection method example

This result perfectly matches our calculations.

Going Deeper: Three Next Steps — More Possibilities

You’ve already experienced the logic of the method in practice. Now let’s expand our toolkit and look at methods that naturally continue this topic and help you confidently work with nonlinear equations.

  1. Newton’s Method: Controlling the Speed of Convergence — Uses the tangent at the current point to rapidly reduce the error when a good initial estimate is available.
  2. Secant Method: Geometry of the Line Segment in Action — Instead of using a tangent, it constructs a secant between two points on the graph, providing a reliable approximation without requiring derivatives.
  3. Combined Method of Secants and Tangents: A Balance of Efficiency and Stability — Combines the simplicity of secant updates with the fast refinement of the tangent method, ensuring steady and often faster convergence in more complex cases.

Final Step: Turning the Flowchart into a Program

If you enjoy programming, try transforming the flowchart below into working code. Choose the programming language you’re most comfortable with. Transfer the logic from the diagram into your program and test it on your own examples. Isn’t it fascinating to see how an idea from a textbook comes to life on the screen—providing an accurate approximation thanks to your careful implementation?

Bisection method flowchart