<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.sarg.dev/index.php?action=history&amp;feed=atom&amp;title=Bisection_method</id>
	<title>Bisection method - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sarg.dev/index.php?action=history&amp;feed=atom&amp;title=Bisection_method"/>
	<link rel="alternate" type="text/html" href="https://wiki.sarg.dev/index.php?title=Bisection_method&amp;action=history"/>
	<updated>2026-06-25T21:52:50Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.sarg.dev/index.php?title=Bisection_method&amp;diff=388433&amp;oldid=prev</id>
		<title>~2025-34958-91 at 22:56, 19 November 2025</title>
		<link rel="alternate" type="text/html" href="https://wiki.sarg.dev/index.php?title=Bisection_method&amp;diff=388433&amp;oldid=prev"/>
		<updated>2025-11-19T22:56:52Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{short description|Algorithm for finding a zero of a function}}&lt;br /&gt;
{{about|searching for zeros of continuous functions|searching a finite sorted array|binary search algorithm|the method of determining what software change caused a change in behavior|Bisection (software engineering)}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Bisection method.svg|250px|thumb|A few steps of the bisection method applied over the starting range [a&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;;b&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;]. The bigger red dot is the root of the function.]]&lt;br /&gt;
&lt;br /&gt;
In [[mathematics]], the &amp;#039;&amp;#039;&amp;#039;bisection method&amp;#039;&amp;#039;&amp;#039; is a [[Root-finding algorithm|root-finding method]] that applies to any [[continuous function]] for which one knows two values with opposite signs. The method consists of repeatedly [[Bisection|bisecting]] the [[Interval (mathematics)|interval]] defined by these values, then selecting the  subinterval in which the function changes sign, which therefore must contain a [[Root of a function|root]]. It is a very simple and robust method, but it is also relatively slow. Because of this, it is often used to obtain a rough approximation to a solution which is then used as a starting point for more rapidly converging methods.&amp;lt;ref&amp;gt;{{Harvnb|Burden|Faires|2016|p=51}}&amp;lt;/ref&amp;gt; The method is also called the &amp;#039;&amp;#039;&amp;#039;interval halving&amp;#039;&amp;#039;&amp;#039; method,&amp;lt;ref&amp;gt;{{cite web |url=http://siber.cankaya.edu.tr/NumericalComputations/ceng375/node32.html |title=Interval Halving (Bisection) |access-date=2013-11-07 |url-status=dead |archive-url=https://web.archive.org/web/20130519092250/http://siber.cankaya.edu.tr/NumericalComputations/ceng375/node32.html |archive-date=2013-05-19 }}&amp;lt;/ref&amp;gt; the &amp;#039;&amp;#039;&amp;#039;[[Binary search algorithm|binary search method]]&amp;#039;&amp;#039;&amp;#039;,&amp;lt;ref&amp;gt;{{Harvnb|Burden|Faires|2016|p=48}}&amp;lt;/ref&amp;gt; or the &amp;#039;&amp;#039;&amp;#039;dichotomy method&amp;#039;&amp;#039;&amp;#039;.&amp;lt;ref&amp;gt;{{Cite web|title = Dichotomy method - Encyclopedia of Mathematics|url = https://www.encyclopediaofmath.org/index.php/Dichotomy_method|website = www.encyclopediaofmath.org|access-date = 2015-12-21}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For [[polynomial]]s, more elaborate methods exist for testing the existence of a root in an interval ([[Descartes&amp;#039; rule of signs]], [[Sturm&amp;#039;s theorem]], [[Budan&amp;#039;s theorem]]). They allow extending the bisection method into efficient algorithms for finding all real roots of a polynomial; see [[Real-root isolation]].&lt;br /&gt;
&lt;br /&gt;
== The method ==&lt;br /&gt;
The method is applicable for numerically solving the equation &amp;lt;math&amp;gt;f(x) = 0&amp;lt;/math&amp;gt; for the [[Real number|real]] variable &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;, where &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; is a [[continuous function]] defined on an interval &amp;lt;math&amp;gt;[a,b]&amp;lt;/math&amp;gt; and where &amp;lt;math&amp;gt;f(a)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;f(b)&amp;lt;/math&amp;gt; have opposite signs. In this case &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt; are said to bracket a root since, by the [[intermediate value theorem]], the continuous function &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; must have at least one root in the interval &amp;lt;math&amp;gt;(a,b)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
At each step the method divides the interval in two parts/halves by computing the midpoint &amp;lt;math&amp;gt;c=(a+b)/2&amp;lt;/math&amp;gt; of the interval and the value of the function &amp;lt;math&amp;gt;f(c)&amp;lt;/math&amp;gt; at that point. If &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; itself is a root then the process has succeeded and stops. Otherwise, there are now only two possibilities: either &amp;lt;math&amp;gt;f(a)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;f(c)&amp;lt;/math&amp;gt; have opposite signs and bracket a root, or &amp;lt;math&amp;gt;f(c)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;f(b)&amp;lt;/math&amp;gt; have opposite signs and bracket a root.&amp;lt;ref&amp;gt;If the function has the same sign at the endpoints of an interval, the endpoints may or may not bracket roots of the function.&amp;lt;/ref&amp;gt; The method selects the subinterval that is guaranteed to be a bracket as the new interval to be used in the next step. In this way an interval that contains a zero of &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; is reduced in width by 50% at each step. The process is continued until the interval is sufficiently small.&lt;br /&gt;
&lt;br /&gt;
Explicitly, if &amp;lt;math&amp;gt;f(c)=0&amp;lt;/math&amp;gt;  then &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; may be taken as the solution and the process stops. &lt;br /&gt;
&lt;br /&gt;
Otherwise, &lt;br /&gt;
if &amp;lt;math&amp;gt;f(a)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;f(c)&amp;lt;/math&amp;gt; have the same signs, &lt;br /&gt;
*then the method sets &amp;lt;math&amp;gt;a = c&amp;lt;/math&amp;gt;, &lt;br /&gt;
*else  the method sets &amp;lt;math&amp;gt;b = c&amp;lt;/math&amp;gt;. &lt;br /&gt;
In both cases, the new &amp;lt;math&amp;gt;f(a)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;f(b)&amp;lt;/math&amp;gt; have opposite signs, so the method may be applied to this smaller interval.&amp;lt;ref&amp;gt;{{Harvnb|Burden|Faires|2016|p=48}}&amp;lt;/ref&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Once the process starts, the signs at the left and right ends of the interval remain the same for all iterations.&lt;br /&gt;
&lt;br /&gt;
=== Stopping conditions===&lt;br /&gt;
In order to determine when the iteration should stop, it is necessary to consider various possible stopping conditions with respect to a tolerance (&amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt;). Burden and Faires (2016) identify the three stopping conditions:&amp;lt;ref&amp;gt;{{Harvnb|Burden|Faires|2016|p=50}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Absolute tolerance: &amp;lt;math&amp;gt;|p_N-p_{N-1}|&amp;lt;\epsilon&amp;lt;/math&amp;gt;&lt;br /&gt;
* Relative tolerance: &amp;lt;math&amp;gt;\left|\frac{p_N-p_{N-1}}{p_N}\right|&amp;lt;\epsilon,&amp;lt;/math&amp;gt;||&amp;lt;math&amp;gt;p_N\ne 0&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;|f(p_N)|&amp;lt;\epsilon.&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;|f(p_N)|&amp;lt;\epsilon&amp;lt;/math&amp;gt; does not give an accurate result to within &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; unless &amp;lt;math&amp;gt;|f&amp;#039;(p_N)| \ge 1&amp;lt;/math&amp;gt;. The other two possibilities represent different concepts: the absolute difference &amp;lt;math&amp;gt;|c -a| \le  5\times10^{-t}&amp;lt;/math&amp;gt; says that c and a are the same to &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; decimal places, while the relative difference &amp;lt;math&amp;gt;\left|\frac{c -a}{c}\right|  \le  5\times10^{-t}&amp;lt;/math&amp;gt; says that c and a are the same to &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; [[significant figures]].&amp;lt;ref&amp;gt;{{Harvnb|Burden|Faires|2016|p=18}}&amp;lt;/ref&amp;gt; If nothing is known about the value of the root, then relative tolerance is the best stopping condition.&amp;lt;ref&amp;gt;{{Harvnb|Burden|Faires|2016|p=50}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Iteration process ===&lt;br /&gt;
&lt;br /&gt;
The input for the method is a continuous function &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; and an interval &amp;lt;math&amp;gt;[a, b]&amp;lt;/math&amp;gt;, such that the function values &amp;lt;math&amp;gt;f(a)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;f(b)&amp;lt;/math&amp;gt;  are of opposite sign (there is at least one zero crossing within the interval). Each iteration performs these steps:&lt;br /&gt;
# Calculate &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;, the midpoint of the interval, &amp;lt;math&amp;gt;c = \frac{a+b}{2}&amp;lt;/math&amp;gt;;&lt;br /&gt;
# Calculate the function value at the midpoint, &amp;lt;math&amp;gt;f(c)&amp;lt;/math&amp;gt;;&lt;br /&gt;
# If &amp;lt;math&amp;gt;f(c) = 0&amp;lt;/math&amp;gt;, return c;&lt;br /&gt;
# If convergence is satisfactory (that is, &amp;lt;math&amp;gt;\left|c- a\right| \le  5\times10^{-t}|c|&amp;lt;/math&amp;gt;), return &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;;&lt;br /&gt;
# Examine the sign of &amp;lt;math&amp;gt;f(c)&amp;lt;/math&amp;gt; and replace either &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; or &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt; with &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; so that there is a zero crossing within the new interval.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
Suppose that the  bisection method is used to find a root of the polynomial &lt;br /&gt;
:&amp;lt;math&amp;gt; f(x) = x^3 - x - 2 \,.&amp;lt;/math&amp;gt;&lt;br /&gt;
First, two numbers &amp;lt;math&amp;gt; a &amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt; b &amp;lt;/math&amp;gt; have to be found such that &amp;lt;math&amp;gt;f(a)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;f(b)&amp;lt;/math&amp;gt; have opposite signs. For the above function, &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt; b = 2 &amp;lt;/math&amp;gt; satisfy this criterion, as &lt;br /&gt;
:&amp;lt;math&amp;gt; f(1) = (1)^3 - (1) - 2 = -2  &amp;lt;/math&amp;gt;&lt;br /&gt;
and&lt;br /&gt;
:&amp;lt;math&amp;gt; f(2) = (2)^3 - (2) - 2 = +4  \,.&amp;lt;/math&amp;gt;&lt;br /&gt;
Because the function is continuous, there must be a root within the interval [1, 2]. Iterating the bisection method on this interval gives increasingly accurate approximations:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Iteration !! &amp;lt;math&amp;gt;a_n&amp;lt;/math&amp;gt; !! &amp;lt;math&amp;gt;b_n&amp;lt;/math&amp;gt; !! &amp;lt;math&amp;gt;c_n&amp;lt;/math&amp;gt; !! &amp;lt;math&amp;gt;f(c_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
|- style=&amp;quot;text-align: left;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |1|| 1 || 2 || 1.5 || −0.125&lt;br /&gt;
|- style=&amp;quot;text-align: left;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |2|| 1.5|| 2|| 1.75|| style=&amp;quot;text-align: right;&amp;quot; |  1.6093750&lt;br /&gt;
|- style=&amp;quot;text-align: left;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |3|| 1.5|| 1.75|| 1.625|| style=&amp;quot;text-align: right;&amp;quot; |  0.6660156&lt;br /&gt;
|- style=&amp;quot;text-align: left;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |4|| 1.5|| 1.625|| 1.5625||  style=&amp;quot;text-align: right;&amp;quot; | 0.2521973&lt;br /&gt;
|- style=&amp;quot;text-align: left;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |5|| 1.5|| 1.5625|| 1.5312500|| style=&amp;quot;text-align: right;&amp;quot; |  0.0591125&lt;br /&gt;
|- style=&amp;quot;text-align: left;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |6|| 1.5|| 1.5312500|| 1.5156250|| −0.0340538&lt;br /&gt;
|- style=&amp;quot;text-align: left;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |7|| 1.5156250|| 1.5312500|| 1.5234375|| style=&amp;quot;text-align: right;&amp;quot; |  0.0122504&lt;br /&gt;
|- style=&amp;quot;text-align: left;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |8|| 1.5156250|| 1.5234375|| 1.5195313|| −0.0109712&lt;br /&gt;
|- style=&amp;quot;text-align: left;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |9|| 1.5195313|| 1.5234375|| 1.5214844|| style=&amp;quot;text-align: right;&amp;quot; |  0.0006222&lt;br /&gt;
|- style=&amp;quot;text-align: left;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |10|| 1.5195313|| 1.5214844|| 1.5205078|| −0.0051789&lt;br /&gt;
|- style=&amp;quot;text-align: left;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |11|| 1.5205078|| 1.5214844|| 1.5209961|| −0.0022794&lt;br /&gt;
|- style=&amp;quot;text-align: left;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |12|| 1.5209961|| 1.5214844|| 1.5212402|| −0.0008289&lt;br /&gt;
|- style=&amp;quot;text-align: left;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |13|| 1.5212402|| 1.5214844|| 1.5213623|| −0.0001034&lt;br /&gt;
|- style=&amp;quot;text-align: left;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |14|| 1.5213623|| 1.5214844|| 1.5214233|| style=&amp;quot;text-align: right;&amp;quot; |  0.0002594&lt;br /&gt;
|-style=&amp;quot;text-align: left;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |15|| 1.5213623|| 1.5214233|| 1.5213928|| style=&amp;quot;text-align: right;&amp;quot; |  0.0000780&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After 13 iterations, it becomes apparent that there is a convergence to about 1.521: a root for the polynomial.&lt;br /&gt;
&lt;br /&gt;
== Generalization to higher dimensions ==&lt;br /&gt;
The bisection method has been generalized to multi-dimensional functions. Such methods are called &amp;#039;&amp;#039;&amp;#039;generalized bisection methods&amp;#039;&amp;#039;&amp;#039;.&amp;lt;ref&amp;gt;{{Cite journal |last=Mourrain |first=B. |last2=Vrahatis |first2=M. N. |last3=Yakoubsohn |first3=J. C. |date=2002-06-01 |title=On the Complexity of Isolating Real Roots and Computing with Certainty the Topological Degree |url=https://www.sciencedirect.com/science/article/pii/S0885064X01906363 |journal=Journal of Complexity |language=en |volume=18 |issue=2 |pages=612–640 |doi=10.1006/jcom.2001.0636 |issn=0885-064X|url-access=subscription }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite journal |last=Vrahatis |first=Michael N. |date=2020 |editor-last=Sergeyev |editor-first=Yaroslav D. |editor2-last=Kvasov |editor2-first=Dmitri E. |title=Generalizations of the Intermediate Value Theorem for Approximating Fixed Points and Zeros of Continuous Functions |url=https://link.springer.com/chapter/10.1007/978-3-030-40616-5_17 |journal=Numerical Computations: Theory and Algorithms |language=en |location=Cham |publisher=Springer International Publishing |pages=223–238 |doi=10.1007/978-3-030-40616-5_17 |isbn=978-3-030-40616-5|url-access=subscription }}&amp;lt;/ref&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
=== Methods based on degree computation ===&lt;br /&gt;
Some of these methods are based on computing the [[topological degree]].&amp;lt;ref&amp;gt;{{Cite journal |last=Kearfott |first=Baker |date=1979-06-01 |title=An efficient degree-computation method for a generalized method of bisection |url=https://doi.org/10.1007/BF01404868 |journal=Numerische Mathematik |language=en |volume=32 |issue=2 |pages=109–127 |doi=10.1007/BF01404868 |issn=0945-3245|url-access=subscription }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Characteristic bisection method ===&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;characteristic bisection method&amp;#039;&amp;#039;&amp;#039; uses only the signs of a function in different points. Lef &amp;#039;&amp;#039;f&amp;#039;&amp;#039; be a function from R&amp;lt;sup&amp;gt;d&amp;lt;/sup&amp;gt; to R&amp;lt;sup&amp;gt;d&amp;lt;/sup&amp;gt;, for some integer &amp;#039;&amp;#039;d&amp;#039;&amp;#039; ≥ 2. A &amp;#039;&amp;#039;&amp;#039;characteristic polyhedron&amp;#039;&amp;#039;&amp;#039;&amp;lt;ref&amp;gt;{{Cite journal |last=Vrahatis |first=Michael N. |date=1995-06-01 |title=An Efficient Method for Locating and Computing Periodic Orbits of Nonlinear Mappings |url=https://www.sciencedirect.com/science/article/pii/S0021999185711199 |journal=Journal of Computational Physics |language=en |volume=119 |issue=1 |pages=105–119 |doi=10.1006/jcph.1995.1119 |issn=0021-9991|url-access=subscription }}&amp;lt;/ref&amp;gt; (also called an &amp;#039;&amp;#039;&amp;#039;admissible polygon&amp;#039;&amp;#039;&amp;#039;)&amp;lt;ref name=&amp;quot;:2&amp;quot;&amp;gt;{{Cite journal |last=Vrahatis |first=M. N. |last2=Iordanidis |first2=K. I. |date=1986-03-01 |title=A rapid Generalized Method of Bisection for solving Systems of Non-linear Equations |url=https://doi.org/10.1007/BF01389620 |journal=Numerische Mathematik |language=en |volume=49 |issue=2 |pages=123–138 |doi=10.1007/BF01389620 |issn=0945-3245|url-access=subscription }}&amp;lt;/ref&amp;gt; of &amp;#039;&amp;#039;f&amp;#039;&amp;#039; is a [[polyhedron]] in R&amp;lt;sup&amp;gt;&amp;#039;&amp;#039;d&amp;#039;&amp;#039;&amp;lt;/sup&amp;gt;, having 2&amp;lt;sup&amp;gt;d&amp;lt;/sup&amp;gt; vertices, such that in each vertex &amp;#039;&amp;#039;&amp;#039;v&amp;#039;&amp;#039;&amp;#039;, the combination of signs of &amp;#039;&amp;#039;f&amp;#039;&amp;#039;(&amp;#039;&amp;#039;&amp;#039;v&amp;#039;&amp;#039;&amp;#039;) is unique. For example, for &amp;#039;&amp;#039;d&amp;#039;&amp;#039;=2, a characteristic polyhedron of &amp;#039;&amp;#039;f&amp;#039;&amp;#039; is a [[quadrilateral]] with vertices (say) A,B,C,D, such that:&lt;br /&gt;
&lt;br /&gt;
* Sign &amp;#039;&amp;#039;f(&amp;#039;&amp;#039;A) = (-,-), that is, f&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;(A)&amp;lt;0, f&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;(A)&amp;lt;0.&lt;br /&gt;
* Sign &amp;#039;&amp;#039;f&amp;#039;&amp;#039;(B) = (-,+),  that is, f&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;(B)&amp;lt;0, f&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;(B)&amp;gt;0.&lt;br /&gt;
* Sign &amp;#039;&amp;#039;f&amp;#039;&amp;#039;(C) = (+,-),  that is, f&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;(C)&amp;gt;0, f&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;(C)&amp;lt;0.&lt;br /&gt;
* Sign &amp;#039;&amp;#039;f&amp;#039;&amp;#039;(D) = (+,+),  that is, f&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;(D)&amp;gt;0, f&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;(D)&amp;gt;0.&lt;br /&gt;
A &amp;#039;&amp;#039;&amp;#039;proper edge&amp;#039;&amp;#039;&amp;#039; of a characteristic polygon is a edge between a pair of vertices, such that the sign vector differs by only a single sign. In the above example, the proper edges of the characteristic quadrilateral are AB, AC, BD and CD. A &amp;#039;&amp;#039;&amp;#039;diagonal&amp;#039;&amp;#039;&amp;#039; is a pair of vertices, such that the sign vector differs by all &amp;#039;&amp;#039;d&amp;#039;&amp;#039; signs. In the above example, the diagonals are AD and BC.&lt;br /&gt;
&lt;br /&gt;
At each iteration, the algorithm picks a proper edge of the polyhedron (say, A--B), and computes the signs of &amp;#039;&amp;#039;f&amp;#039;&amp;#039; in its mid-point (say, M). Then it proceeds as follows:&lt;br /&gt;
&lt;br /&gt;
* If Sign f(M) = Sign(A), then A is replaced by M, and we get a smaller characteristic polyhedron.&lt;br /&gt;
* If Sign f(M) = Sign(B), then B is replaced by M, and we get a smaller characteristic polyhedron.&lt;br /&gt;
* Else, we pick a new proper edge and try again.&lt;br /&gt;
Suppose the diameter (= length of longest proper edge) of the original characteristic polyhedron is &amp;#039;&amp;#039;&amp;lt;math&amp;gt;D&amp;lt;/math&amp;gt;&amp;#039;&amp;#039;. Then, at least &amp;lt;math&amp;gt;\log_2(D/\varepsilon)&amp;lt;/math&amp;gt; bisections of edges are required so that the diameter of the remaining polygon will be at most &amp;lt;math&amp;gt;\varepsilon&amp;lt;/math&amp;gt;.&amp;lt;ref name=&amp;quot;:2&amp;quot; /&amp;gt;{{Rp|page=11|location=Lemma.4.7}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
*[[Binary search algorithm]]&lt;br /&gt;
*[[Lehmer–Schur algorithm]], generalization of the bisection method in the complex plane&lt;br /&gt;
*[[Nested intervals]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{reflist|30em}}&lt;br /&gt;
* {{Citation | last1=Burden | first1=Richard L. | last2=Faires | first2=J. Douglas | title=Numerical Analysis | publisher=Cenage Learning | edition=10th | isbn=978-1-305-25366-7 | year=2016 | chapter=2.1 The Bisection Algorithm | url-access=registration | url=https://archive.org/details/numericalanalys00burd }}&lt;br /&gt;
&lt;br /&gt;
==Further reading==&lt;br /&gt;
* {{Citation | last1=Corliss | first1=George | title=Which root does the bisection algorithm find? | year=1977 | journal=SIAM Review | issn=1095-7200 | volume=19 | issue=2 | pages=325–327 | doi=10.1137/1019044 |ref=none}}&lt;br /&gt;
* {{Citation | last1=Kaw | first1=Autar | last2=Kalu | first2=Egwu | year=2008 | title=Numerical Methods with Applications | edition=1st | url=http://numericalmethods.eng.usf.edu/topics/textbook_index.html | ref=none | url-status=dead | archive-url=https://web.archive.org/web/20090413123941/http://numericalmethods.eng.usf.edu/topics/textbook_index.html | archive-date=2009-04-13 }}&amp;lt;!-- isbn for 2nd abridged edition: 978-0578057651. Why isn&amp;#039;t the website the 2nd edition? --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
{{wikibooks|Numerical Methods|Equation Solving}}&lt;br /&gt;
&lt;br /&gt;
* [https://web.archive.org/web/20060901073129/http://numericalmethods.eng.usf.edu/topics/bisection_method.html Bisection Method] Notes, PPT, Mathcad, Maple, Matlab, Mathematica from [https://web.archive.org/web/20060906070428/http://numericalmethods.eng.usf.edu/ Holistic Numerical Methods Institute]&lt;br /&gt;
&lt;br /&gt;
{{Root-finding algorithms}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Quasi-Newton methods]]&lt;br /&gt;
[[Category:Articles with example pseudocode]]&lt;br /&gt;
[[Category:Root-finding algorithms]]&lt;br /&gt;
⊤&lt;/div&gt;</summary>
		<author><name>~2025-34958-91</name></author>
	</entry>
</feed>