Submitted:
26 March 2026
Posted:
27 March 2026
You are already at the latest version
Abstract
Keywords:
1. Introduction
2. The Original Modified Anderson-Björck (modAB) Algorithm
- An intermediate point is calculated by linear interpolation:
- 2.
- The ordinate of the end that remained fixed at the previous iteration is reduced by a factor m. For the left end, it is calculated by the expression: y1 = f (x1) · m, where m = 1 − f (x3) / f (x2) if m > 0, otherwise: m = 0.5. For the right end, the equation is obtained by swapping indices 1 and 2, as follows: y2 = f (x2) · m, where m =1 − f (x3) / f (x1) if m > 0, otherwise: m = 0.5
3. Drawbacks of the Original modAB Method
- The deviation factor k in eq. (2) has a fixed value of k = 0.25 as a good average estimate that is experimentally tuned on a larger set of functions. However, this is not optimal because it does not account for the properties of each function in the selected interval.
- Although the possibility of redundant switch to AB was discussed in [1], nothing much has been done on the subject. Only a simple bisection fallback is included as a safety mechanism, if the algorithm fails to converge within the expected number of iterations. It is proposed empirically to be half of the required bisection steps. This is a simple and conservative approach, but in some cases, it may result in a “waste” of AB steps before it “realizes” that it is not working as required.
- The original algorithm uses the termination criteria of the false-position method:|xn − xn−1| < ε. Further tests have shown that it fails for certain functions that are flat around the root, but with large ordinates at endpoints ( > 1/ε). This causes the interpolation point to crawl very slowly along the abscissa, so the step can become lower than ε even if we are still too far from the root.
- The benchmarks in the original paper [1] were based on the number of iterations with a factor of two for Ridder’s method. However, the number of function calls is more closely related to the actual execution speed when the algorithm is implemented in software.
- In the original paper, we used 21 functions to benchmark the method performance. This set is very limited, which can bring some distortions to the results. So, one may consider it insufficient to derive reliable conclusions. It may occur that some algorithms are particularly suitable for a larger part of the functions in the set showing a false advantage. That is why additional tests were performed in [5] with a set of 50 functions.
4. Improvements of the modAB Algorithm
4.1. Adaptive Value of Deviation Factor k
4.2. Adaptive Bisection Fallback Criterion
| Algorithm | Iteration number when | |||
|---|---|---|---|---|
| switch to AB | fallback to bisection | switch to AB | converge and quit | |
| The original modAB 2022 fixed criteria | 1 | 24 | 34 | 40 |
| The proposed new adaptive criteria | 1 | 7 | 15 | 24 |
4.3. New Termination Check
4.4. The Improved Algorithm
| Algorithm 1: The improved modAB algorithm |
| Calculate points p1: y1 = f (x1) and p2: y2 = f (x2) initialize “method” to “bisection” and “side” to “none” for iter = 1 to maxIterations if “method” is “bisection” then: calculate p3 as the midpoint such that x3 = (x1 + x2) / 2 and y3 = f (x3) calculate the average ordinate by the equation: ym = (y1 + y2) / 2 calculate r to equation (4) and k = r2 if the function is close enough to linear, satisfying that |ym - y3| < k (|y3| + |ym|) then: change the method to “Anderson-Björck” end else if method is “Anderson-Björck” then: calculate p3 as the secant point such that x3 = (x1*y2 − y1*x2) / (y2 − y1) and y3 = f (x3) clamp p3 between p1 and p2 in case floating point rounding errors shoots it outside the interval end if the convergence check: y3 = 0 or x2 – x1 ≤ ε_abs + ε_rel *|x3| is satisfied then: stop and return x3 as a result if y1 and y3 have equal signs then: if “method” is “Anderson-Björck” then: (apply AB correction) if “side” is “right” then calculate m = 1 − y3 / y1 if m ≤ 0 then: divide y2 by 2 else: multiply y2 by m else: change “side” to “right” end end for both methods, shrink the interval from left by setting p1 = p3 else if “method” is “Anderson-Björck” then: if “side” is “left” then: calculate m = 1 − y3 / y2 if m ≤ 0 then: divide y1 by 2 else: multiply y1 by m else: change “side” to “left” end end for both methods, shrink the interval from right by setting p2 = p3 end if AB fails to shrink the interval enough, then: reset the method back to “bisection” end return error, if failed to converge for the expected number of iterations |
5. Numerical Experiments
| Function | Interval | Method | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| a | b | bs | fp | ill | AB | ITP | Rid | Bre | modAB1 | modAB2 | |
| f01 (x) = x 3 − 1 | 0.5 | 1.5 | 3 | 35 | 11 | 9 | 10 | 4 | 11 | 3 | 3 |
| f02 (x) = x 2 (x 2/ 3 + sqrt (2) · sin (x)) − sqrt (x) / 18 | 0.1 | 1 | 49 | 88 | 13 | 13 | 39 | 16 | 14 | 12 | 13 |
| f03 (x) = 11 x 11 − 1 | 0.1 | 1 | 49 | 109 | 17 | 24 | 50 | 14 | 13 | 13 | 16 |
| f04 (x) = x 3 + 1 | −1.8 | 0 | 50 | 51 | 13 | 12 | 12 | 12 | 11 | 10 | 10 |
| f05 (x) = x 3 − 2 x − 5 | 2 | 3 | 48 | 33 | 10 | 9 | 48 | 14 | 9 | 10 | 13 |
| f06 (x) = 2 x · exp (−5) + 1 − 2 · exp (−5 x) | 0 | 1 | 50 | 31 | 10 | 11 | 13 | 14 | 11 | 12 | 10 |
| f07 (x) = 2 x · exp (−10) + 1 − 2 · exp (−10 x) | 0 | 1 | 50 | 32 | 13 | 12 | 15 | 14 | 13 | 13 | 11 |
| f08 (x) = 2 x · exp (−20) + 1 − 2 · exp (−20 x) | 0 | 1 | 50 | 32 | 14 | 14 | 17 | 12 | 13 | 13 | 12 |
| f09 (x) = (1 + (1 − 5) 2) · x 2 − (1 − 5 x) 2 | 0 | 1 | 50 | 18 | 13 | 10 | 48 | 16 | 11 | 12 | 12 |
| f10 (x) = (1 + (1 − 10) 2) · x 2 − (1 − 10 x) 2 | 0 | 1 | 50 | 15 | 11 | 9 | 12 | 16 | 11 | 9 | 9 |
| f11 (x) = (1 + (1 − 20) 2) · x 2 − (1 − 20 x) 2 | 0 | 1 | 50 | 13 | 11 | 9 | 10 | 16 | 10 | 9 | 9 |
| f12 (x) = x 2 − (1 − x) 5 | 0 | 1 | 50 | 42 | 11 | 10 | 11 | 14 | 10 | 12 | 12 |
| f13 (x) = x 2 − (1 − x) 10 | 0 | 1 | 50 | 84 | 13 | 11 | 49 | 16 | 11 | 12 | 13 |
| f14 (x) = x 2 − (1 − x) 20 | 0 | 1 | 50 | 172 | 13 | 13 | 50 | 16 | 14 | 13 | 12 |
| f15 (x) = (1 + (1 − 5) 4) · x − (1 − 5 x) 4 | 0 | 1 | 50 | 10 | 10 | 8 | 10 | 12 | 9 | 9 | 9 |
| f16 (x) = (1 + (1 − 10) 4) · x − (1 − 10 x) 4 | 0 | 1 | 50 | 7 | 8 | 7 | 9 | 12 | 8 | 8 | 9 |
| f17 (x) = (1 + (1 − 20) 4) · x − (1 − 20 x) 4 | 0 | 1 | 50 | 7 | 8 | 7 | 10 | 12 | 8 | 8 | 9 |
| f18 (x) = exp (−5 x) · (x − 1) + x 5 | 0 | 1 | 49 | 82 | 11 | 9 | 37 | 14 | 10 | 11 | 12 |
| f19 (x) = exp (−10 x) · (x − 1) + x10 | 0 | 1 | 49 | 202 | 15 | 10 | 11 | 16 | 10 | 13 | 13 |
| f20 (x) = exp (−20 x) · (x − 1) + x 20 | 0 | 1 | 49 | 202 | 23 | 11 | 12 | 16 | 14 | 13 | 15 |
| f21 (x) = x 2 + sin (x / 5) − 1 / 4 | 0 | 1 | 50 | 35 | 11 | 10 | 10 | 12 | 12 | 12 | 9 |
| f22 (x) = x 2 + sin (x / 10) − 1 / 4 | 0 | 1 | 49 | 34 | 12 | 10 | 10 | 12 | 11 | 9 | 9 |
| f23 (x) = x 2 + sin (x / 20) − 1 / 4 | 0 | 1 | 49 | 33 | 13 | 10 | 10 | 12 | 11 | 9 | 9 |
| f24 (x) = (x + 2) · (x + 1) · (x − 3) 3 | 2.6 | 4.6 | 49 | 202 | 92 | 109 | 49 | 80 | 138 | 49 | 49 |
| f25 (x) = (x − 4) 5 · log (x) | 3.6 | 5.6 | 49 | 202 | 175 | 189 | 49 | 62 | 119 | 49 | 49 |
| f26 (x) = (sin (x) − x / 4) 3 | 2 | 4 | 49 | 202 | 92 | 109 | 49 | 78 | 138 | 49 | 49 |
|
f27 (x) = (81 − p (x) · (108 − p (x) · (54 − p (x) · (12 − p (x))))) · sign (p (x) − 3), where p (x) = x + 1.11111 |
1 | 3 | 14 | 202 | 35 | 38 | 22 | 24 | 32 | 14 | 14 |
| f28 (x) = sin (x − 7.143) 3) | 7 | 8 | 47 | 202 | 88 | 103 | 47 | 70 | 132 | 47 | 47 |
| f29 (x) = exp ((x − 3) 5) − 1 | 2.6 | 4.6 | 12 | 202 | 59 | 46 | 3 | 18 | 31 | 12 | 12 |
| f30 (x) = exp ((x − 3) 5) − exp (x − 1) | 4 | 5 | 48 | 202 | 53 | 58 | 48 | 16 | 15 | 14 | 14 |
| f31 (x) = π − 1 / x | 0.05 | 5 | 52 | 193 | 15 | 7 | 53 | 16 | 13 | 13 | 12 |
| f32 (x) = 4 − tan (x) | 0 | 1.5 | 49 | 93 | 15 | 12 | 50 | 16 | 14 | 13 | 15 |
| f33 (x) = cos (x) − x 3 | 0 | 4 | 51 | 201 | 16 | 16 | 11 | 18 | 16 | 13 | 13 |
| f34 (x) = cos (x) − x | −11 | 9 | 54 | 12 | 11 | 9 | 11 | 16 | 11 | 10 | 11 |
| f35 (x) = sqrt (abs (x − 2 / 3)) · if (x ≤ 2 / 3; 1; −1) − 0.1 | −11 | 9 | 54 | 16 | 17 | 14 | 53 | 24 | 12 | 18 | 18 |
| f36 (x) = abs (x − 2 / 3) 0.2 · if (x ≤ 2 / 3; 1; −1) | −11 | 9 | 54 | 45 | 48 | 55 | 46 | 54 | 45 | 54 | 56 |
| f37 (x) = (x − 7/ 9) 3 + (x − 7/ 9) · 10 −3 | −11 | 9 | 53 | 202 | 25 | 27 | 13 | 24 | 32 | 18 | 16 |
| f38 (x) = if (x ≤ 1 / 3; −0.5; 0.5) | −11 | 9 | 54 | 54 | 62 | 62 | 53 | 56 | 54 | 54 | 54 |
| f39 (x) = if (x ≤ 1 / 3; −10 −3; 1 − 10 −3 ) | −11 | 9 | 54 | 202 | 173 | 173 | 54 | 84 | 84 | 54 | 54 |
| f40 (x) = if (x = 0; 0.0; 1 / (x − 2 / 3)) | −11 | 9 | 54 | 9 | 101 | 101 | 54 | 60 | 56 | 54 | 54 |
| f41 (x) = 2 x · exp (−5) − 2 · exp (−5 x) + 1 | 0 | 10 | 53 | 34 | 14 | 13 | 17 | 14 | 14 | 15 | 13 |
| f42 (x) = (x 2 − x − 6) · (x 2 − 3 x + 2) | 0 | π | 51 | 24 | 13 | 10 | 16 | 18 | 11 | 13 | 13 |
| f43 (x) = x 3 | −1 | 1.5 | 51 | 202 | 95 | 114 | 52 | 84 | 125 | 51 | 51 |
| f44 (x) = x 5 | −1 | 1.5 | 51 | 202 | 184 | 202 | 52 | 56 | 128 | 51 | 51 |
| f45 (x) = x 7 | −1 | 1.5 | 51 | 202 | 202 | 202 | 52 | 52 | 136 | 51 | 51 |
| f46 (x) = (exp (−5 x) − x − 0.5) / x 5 | 0.09 | 0.7 | 49 | 202 | 25 | 23 | 50 | 14 | 16 | 14 | 14 |
| f47 (x) = 1/ sqrt (x) − 2 log (5 · 10 3 · sqrt (x)) + 0.8 | 0.0005 | 0.5 | 49 | 156 | 17 | 14 | 49 | 18 | 17 | 16 | 17 |
| f48 (x) = 1/ sqrt (x) − 2 log(5 · 10 7 · sqrt (x)) + 0.8 | 0.0005 | 0.5 | 49 | 45 | 16 | 14 | 20 | 18 | 17 | 19 | 15 |
| f49 (x) = if (x ≤ 0; −x 3 − x − 1; x 1/ 3 − x − 1) | −1 | 1 | 50 | 27 | 13 | 10 | 12 | 12 | 12 | 12 | 13 |
| f50 (x) = x 3 − 2 x − x + 3 | −3 | 2 | 51 | 42 | 15 | 13 | 16 | 14 | 13 | 12 | 11 |
| f51 (x) = log (x) | 0.5 | 5 | 51 | 29 | 12 | 10 | 12 | 12 | 11 | 11 | 10 |
| f52 (x) = (10 − x) · exp (−10 x) − x 10 + 1 | 0.5 | 8 | 52 | 202 | 39 | 21 | 53 | 18 | 18 | 15 | 16 |
| f53 (x) = exp (sin (x)) − x − 1 | 1.0 | 4 | 50 | 33 | 12 | 12 | 12 | 18 | 15 | 13 | 14 |
| f54 (x) = 2 sin (x) − 1 | 0.1 | π/3 | 49 | 17 | 9 | 8 | 12 | 12 | 9 | 10 | 11 |
| f55 (x) = (x − 1) · exp (−x) | 0.0 | 1.5 | 50 | 71 | 13 | 10 | 12 | 4 | 12 | 10 | 10 |
| f56 (x) = (x − 1) 3 − 1 | 1.5 | 3 | 49 | 58 | 13 | 10 | 11 | 14 | 12 | 11 | 11 |
| f57 (x) = exp (x 2 + 7 x − 30) − 1 | 2.6 | 3.5 | 48 | 202 | 21 | 31 | 48 | 14 | 13 | 12 | 11 |
| f58 (x) = atan (x) − 1 | 1.0 | 8 | 51 | 27 | 12 | 9 | 13 | 12 | 11 | 12 | 10 |
| f59 (x) = exp (x) − 2 x − 1 | 0.2 | 3 | 50 | 148 | 16 | 15 | 12 | 14 | 14 | 12 | 13 |
| f60 (x) = exp (−x) − x − sin (x) | 0.0 | 2 | 51 | 16 | 10 | 8 | 11 | 16 | 9 | 9 | 9 |
| f61 (x) = x 2 − sin (x) 2 − 1 | −1 | 2 | 50 | 34 | 14 | 14 | 13 | 18 | 12 | 12 | 14 |
| f62 (x) = sin (x) − x / 2 | π/2 | π | 49 | 33 | 11 | 9 | 10 | 14 | 10 | 10 | 11 |
| f63 (x) = x · exp (x) − 1 | −1 | 1 | 50 | 31 | 12 | 10 | 12 | 10 | 11 | 11 | 11 |
| f64 (x) = tan (x – 1 / 10) | −1 | 1 | 51 | 41 | 9 | 8 | 11 | 12 | 10 | 9 | 8 |
| f65 (x) = sin (x) + 0.5 | −1 | 1 | 50 | 12 | 9 | 9 | 11 | 16 | 9 | 9 | 9 |
| f66 (x) = 4 x 5 + x 2 + 1 | −1 | 1 | 50 | 34 | 14 | 12 | 15 | 16 | 11 | 13 | 14 |
| f67 (x) = x + x 10 − 1 | −1 | 1 | 50 | 51 | 13 | 11 | 50 | 12 | 13 | 14 | 12 |
| f68 (x) = πx − ℯ | −1 | 1 | 50 | 16 | 10 | 8 | 11 | 10 | 9 | 9 | 9 |
| f69 (x) = log (abs (x − 10 / 9)) | −1 | 1 | 51 | 65 | 13 | 10 | 10 | 12 | 11 | 10 | 10 |
| f70 (x) = 1 / 3 + sign (x) · abs (x)1 / 3 + x 3 | −1 | 1 | 51 | 14 | 14 | 12 | 16 | 16 | 12 | 12 | 18 |
| f71 (x) = (x + 2 / 3) / (x + 101 / 100) | −1 | 1 | 50 | 202 | 17 | 7 | 50 | 16 | 14 | 10 | 8 |
| f72 (x) = (x · 10 6 − 1) 3 | −1 | 1 | 51 | 4 | 4 | 4 | 51 | 6 | 140 | 51 | 51 |
| f73 (x) = exp (x) · (x · 10 6 − 1) 3 | −1 | 1 | 51 | 202 | 96 | 115 | 51 | 6 | 142 | 51 | 51 |
| f74 (x) = (x − 1 / 3) 2 · atan (x − 1 / 3) | −1 | 1 | 51 | 202 | 94 | 113 | 51 | 82 | 143 | 51 | 51 |
| f75 (x) = sign (3 x − 1) · (1 - sqrt (1 − (3 x − 1) 2/ 81)) | −1 | 1 | 27 | 202 | 28 | 37 | 23 | 38 | 67 | 27 | 27 |
| f76 (x) = if (x > (1 − 10 6) / 10 6; (1 + 10 6) / 10 6; −1) | −1 | 1 | 50 | 50 | 38 | 38 | 49 | 52 | 50 | 50 | 40 |
| f77 (x) = if (x ≠ 1 / 21; 1 / (21 x − 1); 0) | −1 | 1 | 51 | 15 | 96 | 96 | 51 | 66 | 54 | 51 | 51 |
| f78 (x) = x 2 / 4 + ceiling (x / 2) − 0.5 | −1 | 1 | 51 | 51 | 57 | 56 | 50 | 40 | 52 | 51 | 10 |
| f79 (x) = ceiling (10 x − 1) + 0.5 | −1 | 1 | 51 | 49 | 53 | 53 | 47 | 38 | 48 | 15 | 15 |
| f80 (x) = x + sin (x ·10 6) / 10 + 10 −3 | −1 | 1 | 51 | 25 | 23 | 23 | 27 | 26 | 22 | 25 | 26 |
| f81 (x) = if (x > -1; 1 + sin (1/ (x + 1)); −1) | −1 | 1 | 50 | 53 | 16 | 15 | 50 | 40 | 52 | 20 | 15 |
| f82 (x) = 202 x − 2 · floor ((2x + 10 −2) / (2 ·10 −2)) − 0.1 | −1 | 1 | 51 | 4 | 4 | 4 | 13 | 6 | 5 | 5 | 6 |
| f83 (x) = (202 x − 2 · floor ((2x + 10 −2) / (2 ·10 −2)) − 0.1) 3 | −1 | 1 | 51 | 202 | 74 | 71 | 51 | 70 | 126 | 51 | 51 |
| f84 (x) = (x − 1) · (x − 2) · (x − 3) · (x − 4) · (x − 5) − 0.05 | 0.5 | 5.5 | 50 | 67 | 10 | 8 | 10 | 20 | 9 | 8 | 9 |
| f85 (x) = sin (x) − 0.5 x − 0.3 | −10.0 | 10.0 | 53 | 15 | 14 | 12 | 47 | 20 | 13 | 12 | 12 |
| f86 (x) = exp (x) − 1 − x − x 2/ 2 − 0.005 | −2.0 | 2.0 | 52 | 202 | 20 | 20 | 22 | 20 | 17 | 15 | 16 |
| f87 (x) = 1 / (x − 0.5) − 2 − 0.05 | 0.6 | 2.0 | 49 | 137 | 15 | 6 | 50 | 16 | 13 | 8 | 10 |
| f88 (x) = log (x) − x + 2 − 0.05 | 0.1 | 3.0 | 51 | 30 | 14 | 12 | 17 | 16 | 14 | 14 | 15 |
| f89 (x) = sin (20 x) + 0.1 x − 0.1 | −4.0 | 5.0 | 52 | 18 | 18 | 16 | 17 | 20 | 18 | 16 | 14 |
| f90 (x) = x 3 − 2 x 2 + x − 0.025 | −1.0 | 2.0 | 52 | 176 | 14 | 14 | 52 | 18 | 16 | 13 | 13 |
| f91 (x) = x · sin (1 / x) − 0.1 − 0.01 | 0.01 | 1.0 | 50 | 14 | 14 | 12 | 39 | 14 | 14 | 13 | 14 |
| f92 (x) = x 3 – 0.001 | -10 | 10 | 54 | 202 | 25 | 202 | 55 | 28 | 25 | 42 | 26 |
| Total number of evaluations | 4498 | 8200 | 2975 | 3162 | 2732 | 2256 | 2972 | 1857 | 1797 | ||
| Average number of evaluations | 48.9 | 89.1 | 32.3 | 34.4 | 29.7 | 24.5 | 32.3 | 20.2 | 19.5 | ||
| Relative to modAB2 | 2.50 | 4.56 | 1.66 | 1.76 | 1.52 | 1.26 | 1.65 | 1.03 | 1.00 | ||
| Maximal number of evaluations | 54 | 202 | 202 | 202 | 55 | 84 | 143 | 54 | 56 | ||
| Geometric mean | 47.2 | 53.8 | 20.2 | 18.5 | 23.4 | 19.1 | 19.6 | 15.9 | 15.6 | ||
| Best at (number of functions) | 11 | 7 | 7 | 45 | 15 | 5 | 13 | 31 | 31 | ||
| Worst at (number of functions) | 40 | 44 | 6 | 7 | 1 | 1 | 1 | 0 | 0 | ||
| Function | a | b | bs | fp | ill | AB | ITP | Rid | Bre | modAB1 | modAB2 |
- Legend:
- bs – Bisection Brе – Brent
- fp – False-position Rid – Ridders
- ill – Illinois AB – Anderson-Björck
- ITP – Interpolate, truncate, project
- modAB1 – Modified Anderson-Björck – the original 2022 version
- modAB2 – Modified Anderson-Björck – the proposed version
- Note: The best algorithm for each function is highlighted.
6. Conclusions
Supplementary Materials
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
Appendix A
![]() |
![]() |
![]() |
References
- Ganchovski N.; Traykov A. Modified Anderson-Björck's method for solving non-linear equations in structural mechanics. IOP Conference Series: Materials Science and Engineering 2023, 1276 (1) 012010, IOP Publishing. [CrossRef]
- Ganchovski N. Calcpad – a free and open-source software for engineering calculations. Available online: https://github.com/Proektsoftbg/Calcpad (accessed 25 March 2026).
- Williams J. Roots-Fortran : root solvers for modern Fortran. NASA JSC, Houston, TX, Available online: https://jacobwilliams.github.io/roots-fortran/.
- Pal A.; Holtorf F.; Larsson A.; Loman T.; Utkarsh; Schäfer F.; Qu Q.; Edelman A.; Rackauckas C. NonlinearSolve.jl: High-Performance and Robust Solvers for Systems of Nonlinear Equations in Julia. ACM TOMS 2025, Association for Computing Machinery: NY, USA. [CrossRef]
- Ganchovski N. Structural Analysis by Functional Modelling in the Cloud. PhD Thesis 2025, UACEG, Sofia.
- Dowell M.; Jarratt P. A modified regula falsi method for computing the root of an equation. BIT 1971, Vol 11, pp 168–174. [CrossRef]
- Dowell M.; Jarratt P. The “Pegasus” method for computing the root of an equation. BIT 1972, Vol 12, pp 503–508. [CrossRef]
- Anderson N.; Björck Å. A new high order method of regula falsi type for computing a root of an equation. BIT 1973, Vol 13, pp 253–264. [CrossRef]
- Oliveira I.; Takahashi R. An Enhancement of the Bisection Method Average Performance Preserving Minmax Optimality. ACM TOMS 2021, Vol 47, No 1, Article 5. [CrossRef]
- Ridders C. A new algorithm for computing a single root of a real continuous function. IEEE Transactions on Circuits and Systems, 1979 Vol 26, No 11, pp 979-980. [CrossRef]
- Brent R. An algorithm with guaranteed convergence for finding a zero of a function. The Computer Journal 1971, Vol 14, Issue 4, pp 422–425. [CrossRef]
- Dekker T. Finding a zero by means of successive linear interpolation. Constructive Aspects of the Fundamental Theorem of Algebra 1969, ed B, Dejon and P Henrici (London: Wiley-Interscience) ISBN 978-0-471-20300-1.
- Sabharwal C. Blended Root Finding Algorithm Outperforms Bisection and Regula Falsi Algorithms. MDPI Mathematics 2019, Vol 7, Issue 11, Article 1118. [CrossRef]
- Kumar R.; Vipan. Comparative Analysis of Convergence of Various Numerical Methods. Journal of Computer and Mathematical Sciences 2015, Vol 6, Issue 6, pp 290-297.
- Galdino S. A family of regula falsi root-finding methods. Proceedings of 2011 World Congress on Engineering and Technology, Shanghai, China: IEEE Press, 2011, pp 514-517, ISBN 978-1-61284-365-0.
- Stage S. A. Comments on An Improvement to the Brent’s Method. International Journal of Experimental Algorithms (IJEA) 2013, Vol 4, Issue 1, pp 1-16.
- Swift A.; Lindfield G. R. Comparison of a continuation method with Brent's method for the numerical solution of a single nonlinear equation. The Computer Journal 1978, Vol 21, Issue 4, pp 359–362.
- Suhadolnik A. Combined bracketing methods for solving nonlinear equations. Applied Mathematics Letters 2012, Vol 25, Issue 11, pp 1755-1760, ISSN 0893-9659. [CrossRef]
- Sikorski K. Bisection is optimal. Numerische Mathematik 1982, Vol 40, pp 111–117. [CrossRef]
- Press W.; Teukolsky S.; Vetterling W.; Flannery B. Numerical Recipes: The Art of Scientific Computing, 3rd Edition. Cambridge University Press: USA, 2007.
- Verzani, J. Roots.jl: Root Finding Functions for Julia. 2020. Available online: https://github.com/JuliaMath/Roots.jl (accessed 25 March 2026).
- Brun, R.; Rademakers, F. ROOT - An Object Oriented Data Analysis Framework, Proceedings AIHENP'96 Workshop, Lausanne, Sept. 1996, Nucl. Inst. & Meth. in Phys. Res. A 389 1997, pp 81-86. [CrossRef]


Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2026 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).


