numerically approximate the real roots of an expression using the bisection method
Bisection(f, x=[a, b], opts)
Bisection(f, [a, b], opts)
algebraic; expression in the variable x representing a continuous function
name; the independent variable of f
numeric; one of two initial approximates to the root
numeric; the other of the two initial approximates to the root
(optional) equation(s) of the form keyword=value, where keyword is one of functionoptions, lineoptions, maxiterations, output, pointoptions, showfunction, showlines, showpoints, stoppingcriterion, tickmarks, caption, tolerance, verticallineoptions, view; the options for approximating the roots of f
functionoptions = list
A list of options for the plot of the expression f. By default, f is plotted as a solid red line.
lineoptions = list
A list of options for the lines on the plot. By default the lines are dotted blue.
maxiterations = posint
The maximum number of iterations to to perform. The default value of maxiterations depends on which type of output is chosen:
output = value: default maxiterations = 100
output = sequence: default maxiterations = 10
output = information: default maxiterations = 10
output = plot: default maxiterations = 5
output = animation: default maxiterations = 10
output = value, sequence, plot, animation, or information
The return value of the function. The default is value.
output = value returns the final numerical approximation of the root.
output = sequence returns an expression sequence pk, k=0..n that converges to the exact root for a sufficiently well-behaved function and initial approximation.
output = plot returns a plot of f with each iterative approximation shown and the relevant information about the numerical approximation displayed in the caption of the plot.
output = animation returns an animation showing the iterations of the root approximation process.
output = information returns detailed information about the iterative approximations of the root of f.
plotoptions = list
The final plot options when output = plot or output = animation.
pointoptions = list
A list of options for the points on the plot. By default, the points are plotted as green circles.
showfunction = truefalse
Whether to display f on the plot or not. By default, this option is set to true.
showlines = truefalse
Whether to display lines that accentuate each approximate iteration when output = plot. By default, this option is set to true.
showpoints = truefalse
Whether to display the points at each approximate iteration on the plot when output = plot. By default, this option is set to true.
stoppingcriterion = relative, absolute, or function_value
The criterion that the approximations must meet before discontinuing the iterations. The following describes each criterion:
relative : pn−pn−1pn < tolerance
absolute : pn−pn−1 < tolerance
function_value : f⁡pn < tolerance
By default, stoppingcriterion = relative.
tickmarks = list
The tickmarks when output = plot or output = animation. By default, tickmarks are placed at the initial and final approximations with the labels p0 (or a and b for two initial approximates) and pn, where n is the total number of iterations used to reach the final approximation. See plot/tickmarks for more detail on specifying tickmarks.
caption = string
A caption for the plot. The default caption contains general information concerning the approximation. For more information about specifying a caption, see plot/typesetting.
tolerance = positive
The error tolerance of the approximation. The default value is 110000.
verticallineoptions = list
A list of options for the vertical lines on the plot. By default, the lines are dashed and blue.
view = [realcons..realcons, realcons..realcons]
The plot view of the plot when output = plot. See plot/options for more information.
The Bisection command numerically approximates the roots of an algebraic function, f, using a simple binary search algorithm.
Given an expression f and an initial approximate a, the Bisection command computes a sequence pk, k=0..n, of approximations to a root of f, where n is the number of iterations taken to reach a stopping criterion. This sequence is guaranteed to converge linearly toward the exact root, provided that f is a continuous function and the pair of initial approximations bracket it.
The Bisection command is a shortcut for calling the Roots command with the method=bisection option.
f := x^3-7*x^2+14*x-6:
Bisection(f, x=[2.7,3.2], tolerance=10^(-2));
Bisection(f, x=[2.7,3.2], tolerance=10^(-2), output=sequence);
Bisection(f, x=[2.7,3.2], tolerance=10^(-2), stoppingcriterion=absolute);
To play the following animation in this help page, right-click (Control-click, on Macintosh) the plot to display the context menu. Select Animation > Play.
Bisection(f, x=[3.2,4.0], output=animation, tolerance=10^(-3), stoppingcriterion=function_value);
Bisection(f, x=[2.95,3.05], output=plot, tolerance=10^(-3), maxiterations=10, stoppingcriterion=relative);
Download Help Document
What kind of issue would you like to report? (Optional)