Root-Finding Methods: Study Notes
A classification and worked-example guide to numerical root-finding techniques
1. Overview
Root-finding methods are numerical techniques used to solve equations of the form f(x) = 0, where
an exact algebraic solution is unavailable or impractical, and the solution must instead be
approached iteratively. These methods are broadly classified according to (i) the number of
unknowns involved (single-variable or multivariable) and (ii) whether the method requires the root
to be bracketed within a known interval (bracketing methods) or can proceed from a single initial
guess (open methods).
2. Classification Structure
• Root-finding
• Single-variable
• Bracketing: Bisection; Regula falsi (false position)
• Open: Fixed-point iteration; Newton-Raphson
• Multivariable
• Open: Newton-Raphson (multivariable)
3. Bracketing Methods
Bracketing methods begin with two points that straddle the root, one where f(x) is positive and one
where it is negative. Because the function changes sign between them, the root is guaranteed to lie
somewhere in that interval. These methods are robust and always converge when correctly set up,
though generally at a slower rate than open methods.
Intermediate Value Theorem
If a function f(x) is continuous on a closed interval [a, b] and f(a) ≠ f(b), then f(x) takes every value between
f(a) and f(b) at some point within that interval. In particular, if f(a) and f(b) have opposite signs, there exists
at least one point c in (a, b) such that f(c) = 0. This theorem is the theoretical basis for bracketing methods:
a verified sign change over [a, b] guarantees a root lies within the interval, provided f(x) is continuous. All
root-finding problems considered here assume f(x) is continuous.
3.1 Bisection Method
The bisection method repeatedly halves the bracketing interval, retaining whichever half still
contains the sign change, until the interval is sufficiently small. Convergence is linear but
guaranteed.
Algorithm
𝐺𝑖𝑣𝑒𝑛 𝑓(𝑥) 𝑜𝑛 [𝑎, 𝑏] 𝑤𝑖𝑡ℎ 𝑓(𝑎) 𝑎𝑛𝑑 𝑓(𝑏) 𝑜𝑓 𝑜𝑝𝑝𝑜𝑠𝑖𝑡𝑒 𝑠𝑖𝑔𝑛, 𝑖. 𝑒. 𝑓(𝑎) × 𝑓(𝑏) < 0.
1. 𝐿𝑒𝑡 𝑐 = (𝑎 + 𝑏) / 2.
2. 𝐼𝑓 𝑓(𝑐) = 0 𝑜𝑟 𝑓(𝑐) ≈ 0, 𝑠𝑡𝑜𝑝 — 𝑐 𝑖𝑠 𝑡ℎ𝑒 𝑟𝑜𝑜𝑡.
3. 𝐼𝑓 𝑓(𝑎) × 𝑓(𝑐) < 0, 𝑡ℎ𝑒 𝑟𝑜𝑜𝑡 𝑙𝑖𝑒𝑠 𝑖𝑛 [𝑎, 𝑐]; 𝑟𝑒𝑎𝑠𝑠𝑖𝑔𝑛 𝑏 = 𝑐 𝑎𝑛𝑑 𝑟𝑒𝑡𝑢𝑟𝑛 𝑡𝑜 𝑠𝑡𝑒𝑝 1.
4. 𝐼𝑓 𝑓(𝑐) × 𝑓(𝑏) < 0, 𝑡ℎ𝑒 𝑟𝑜𝑜𝑡 𝑙𝑖𝑒𝑠 𝑖𝑛 [𝑐, 𝑏]; 𝑟𝑒𝑎𝑠𝑠𝑖𝑔𝑛 𝑎 = 𝑐 𝑎𝑛𝑑 𝑟𝑒𝑡𝑢𝑟𝑛 𝑡𝑜 𝑠𝑡𝑒𝑝 1.
Worked example:
𝑓(𝑥) = 𝑥 2 − 2 = 0 (𝑡𝑟𝑢𝑒 𝑟𝑜𝑜𝑡 √2 ≈ 1.414214).
𝐼𝑛𝑖𝑡𝑖𝑎𝑙 𝑏𝑟𝑎𝑐𝑘𝑒𝑡 [1, 2], 𝑠𝑖𝑛𝑐𝑒 𝑓(1) = −1 𝑎𝑛𝑑 𝑓(2) = +2.
Iteration a B Midpoint f(midpoint) New bracket
1 1 2 1.5 +0.25 [1, 1.5]
2 1 1.5 1.25 −0.4375 [1.25, 1.5]
3 1.25 1.5 1.375 −0.1094 [1.375, 1.5]
4 1.375 1.5 1.4375 +0.0664 [1.375, 1.4375]
Each iteration halves the interval width, so the method is slow but always converges.
3.2 Regula Falsi (False Position)
Regula falsi also uses a bracketing interval, but instead of taking the midpoint it draws a straight
line (secant) between (a, f(a)) and (b, f(b)) and estimates the root as the point where that line
crosses zero. Because it uses information about the function's slope, it generally converges faster
than bisection.
𝑓(𝑏)(𝑏 − 𝑎)
𝑥 = 𝑏 −
(𝑓(𝑏) − 𝑓(𝑎))
Algorithm
𝐺𝑖𝑣𝑒𝑛 𝑓(𝑥) 𝑜𝑛 [𝑎, 𝑏] 𝑤𝑖𝑡ℎ 𝑓(𝑎) 𝑎𝑛𝑑 𝑓(𝑏) 𝑜𝑓 𝑜𝑝𝑝𝑜𝑠𝑖𝑡𝑒 𝑠𝑖𝑔𝑛, 𝑖. 𝑒. 𝑓(𝑎) × 𝑓(𝑏) < 0.
1. 𝐶𝑎𝑙𝑐𝑢𝑙𝑎𝑡𝑒 𝑐 𝑢𝑠𝑖𝑛𝑔 𝑡ℎ𝑒 𝑠𝑒𝑐𝑎𝑛𝑡 − 𝑙𝑖𝑛𝑒 𝑓𝑜𝑟𝑚𝑢𝑙𝑎 𝑎𝑏𝑜𝑣𝑒.
2. 𝐼𝑓 𝑓(𝑐) = 0 𝑜𝑟 𝑓(𝑐) ≈ 0, 𝑠𝑡𝑜𝑝 — 𝑐 𝑖𝑠 𝑡ℎ𝑒 𝑟𝑜𝑜𝑡.
3. 𝐼𝑓 𝑓(𝑎) × 𝑓(𝑐) < 0, 𝑡ℎ𝑒 𝑟𝑜𝑜𝑡 𝑙𝑖𝑒𝑠 𝑖𝑛 [𝑎, 𝑐]; 𝑟𝑒𝑎𝑠𝑠𝑖𝑔𝑛 𝑏 = 𝑐 𝑎𝑛𝑑 𝑟𝑒𝑡𝑢𝑟𝑛 𝑡𝑜 𝑠𝑡𝑒𝑝 1.
4. 𝐼𝑓 𝑓(𝑐) × 𝑓(𝑏) < 0, 𝑡ℎ𝑒 𝑟𝑜𝑜𝑡 𝑙𝑖𝑒𝑠 𝑖𝑛 [𝑐, 𝑏]; 𝑟𝑒𝑎𝑠𝑠𝑖𝑔𝑛 𝑎 = 𝑐 𝑎𝑛𝑑 𝑟𝑒𝑡𝑢𝑟𝑛 𝑡𝑜 𝑠𝑡𝑒𝑝 1.
Worked example (same bracket [1, 2]):
Iteration Estimate x f(x) New bracket
1 1.3333 −0.2222 [1.3333, 2]
2 1.4000 −0.0400 [1.4000, 2]
3 1.4118 — —
Notice the estimates converge toward √2 more quickly than the pure interval-halving of bisection,
since the secant line uses the shape of f(x) rather than just the interval midpoint.
4. Open Methods (Single-Variable)
Open methods start from one (or occasionally two) initial guesses without requiring the root to be
bracketed. They typically converge much faster than bracketing methods when they work, but
convergence is not guaranteed, the iteration can diverge or oscillate if the initial guess or function
behaviour is unsuitable.
4.1 Fixed-Point Iteration
The equation f(x) = 0 is rearranged into the form x = g(x). Starting from an initial guess, the
iteration xₙ₊₁ = g(xₙ) is repeated until the sequence stabilises. Convergence depends heavily on the
chosen rearrangement g(x).
Worked example:
𝑓𝑜𝑟 𝑥 2 − 𝑥 − 2 = 0 (𝑟𝑜𝑜𝑡𝑠 𝑎𝑡 𝑥 = 2 𝑎𝑛𝑑 𝑥 = −1)
𝑎 𝑣𝑎𝑙𝑖𝑑 𝑟𝑒𝑎𝑟𝑟𝑎𝑛𝑔𝑒𝑚𝑒𝑛𝑡 𝑖𝑠 𝑔(𝑥) = √𝑥 + 2, 𝑆𝑡𝑎𝑟𝑡𝑖𝑛𝑔 𝑎𝑡 𝑥₀ = 1.5:
Iteration X Calculation
0 1.5000 initial guess
1 1.8708 √3.5
2 1.9675 √3.8708
3 1.9919 √3.9675
4 1.9980 √3.9919
The sequence converges toward the true root x = 2.
A poorly chosen rearrangement (𝑒. 𝑔. 𝑥 = 𝑥² − 2) starting from the same guess would instead
diverge, illustrating why the choice of g(x) is critical to this method's success.
4.2 Newton-Raphson Method (Single-Variable)
Newton-Raphson uses the derivative of f(x) to construct a tangent line at the current guess; the
point where this tangent cross zero becomes the next guess. This gives quadratic convergence very
fast but requires the derivative to be available and a reasonably good starting guess.
𝑓(𝑥ₙ)
𝑥ₙ₊₁ = 𝑥ₙ −
𝑓′(𝑥ₙ)
Worked example: 𝑓(𝑥) = 𝑥² − 2, 𝑓′(𝑥) = 2𝑥. Starting at x₀ = 1.5:
Iteration xₙ f(xₙ) f′(xₙ) xₙ₊₁
0 1.50000 0.25000 3.00000 1.41667
1 1.41667 0.00694 2.83333 1.41422
2 1.41422 ≈0 — 1.41421356
Convergence to machine precision is reached within three iterations, far fewer than bisection
required because Newton-Raphson uses slope information to jump directly toward the root rather
than progressively narrowing an interval.
5. Multivariable Open Method: Newton-Raphson
For systems of nonlinear equations with several unknowns, the single-variable Newton-Raphson
method is extended using the Jacobian matrix (the matrix of all first partial derivatives). All
unknowns are updated simultaneously at each iteration. This is the standard method for solving
coupled nonlinear systems in engineering models, such as simultaneous mass- and energy-balance
equations.
[𝑥, 𝑦]ₙ₊₁ = [𝑥, 𝑦]ₙ − 𝐽⁻¹ [𝑓₁, 𝑓₂]
Worked example: solve simultaneously
• 𝑓₁(𝑥, 𝑦) = 𝑥² + 𝑦² − 4 = 0 (𝑎 𝑐𝑖𝑟𝑐𝑙𝑒)
• 𝑓₂(𝑥, 𝑦) = 𝑥 − 𝑦 = 0 (𝑎 𝑙𝑖𝑛𝑒)
True solution: 𝑥 = 𝑦 = √2 ≈ 1.41421.
The Jacobian is:
𝐽 = [ 2𝑥, 2𝑦 ; 1, −1 ]
Starting at (𝑥₀, 𝑦₀) = (1, 1):
Iteration (x, y) f₁ f₂ Next (x, y)
0 (1.0000, 1.0000) −2.000 0.000 (1.5000, 1.5000)
1 (1.5000, 1.5000) 0.500 0.000 (1.4167, 1.4167)
After only two iterations, the estimate (1.4167, 1.4167) is already very close to the exact solution
(1.41421, 1.41421). This is exactly the mechanism used to solve simultaneous nonlinear equations
in treatment-train modelling, where several unknowns (e.g. concentrations or flow splits) are
linked by nonlinear relationships.
6. Summary Comparison
Method Guaranteed Convergence speed Requires derivative
convergence
Bisection Yes Slow (linear) No
Regula falsi Yes Moderate No
Fixed-point iteration Not guaranteed Varies with g(x) No
Newton-Raphson Not guaranteed Fast (quadratic) Yes
Newton-Raphson Not guaranteed Fast (quadratic) Yes (Jacobian)
(multivariable)