Student[NumericalAnalysis]
Roots
numerically approximate the real roots of an expression using an iterative method
Calling Sequence
Parameters
Options
Description
Notes
Examples
Roots(f, x=[a, b], opts)
Roots(f, [a,b], opts)
Roots(f, x=a, opts)
Roots(f, a, opts)
f
-
algebraic; expression in the variable x representing a continuous function
x
name; the independent variable of f
a
numeric; in the first two calling sequences, one of two initial approximates to the root; in the remaining calling sequences, the initial approximate root
b
numeric; in the first two calling sequences, one of two initial approximates to the root
opts
(optional) equation(s) of the form keyword=value, where keyword is one of fixedpointiterator, functionoptions, lineoptions, maxiterations, method, output, pointoptions, showfunction, showlines, showpoints, showverticallines, stoppingcriterion, tickmarks, caption, tolerance, verticallineoptions, view; the options for approximating the roots of f
fixedpointiterator = algebraic (optional)
Can only be specified if method = steffensen or method = fixedpointiteration.
The expression on the right-hand side will be used to generate the fixed-point iteration sequence. If this option is specified, the first argument, f, must be omitted. See the method option under method = fixedpointiteration for more details.
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 solid blue for the Newton-Raphson, Modified Newton-Raphson, Secant, Steffensen, and False Position methods and dotted blue for the Bisection and Fixed-Point Iteration methods.
maxiterations = posint
The maximum number of iterations 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
method = newton, modifiednewton, bisection, secant, fixedpointiteration, steffensen, or falseposition
The method used to approximate the root(s) of f numerically.
newton: Newton-Raphson Method
This method requires one initial approximate.
modifiednewton: Modified Newton-Raphson Method
bisection: Bisection Method
This method requires a pair of initial approximates.
secant: Secant Method
fixedpointiteration: Fixed-Point Iteration Method
This method first converts the problem of finding a root to the equation f⁡x=0 to a problem of finding a fixed point for the function g⁡x, where g⁡x=x−f⁡x and f⁡x is specified by f and x.
The user can specify a custom iterator function g⁡x by omitting the first argument f and supplying the fixedpointiterator = g option. The right-hand side expression g specifies a function g⁡x, and this procedure will aim to find a root to f⁡x = x−g⁡x=0 by way of solving the fixed-point problem g⁡x=x.
When output = plot or output = animation is specified, both the function f⁡x and the fixed-point iterator function g⁡x will be plotted and correspondingly labeled.
The tolerance option, when stoppingcriterion = function_value, applies to the function f⁡x in the root-finding form of the problem.
The information in the preceding paragraphs applies to Steffensen's method as well.
steffensen: Steffensen's Method
See the fixed-point iteration method above (fixedpointiteration) for important information that also applies to this method.
falseposition: Method of False Position
By default, the Newton-Raphson Method is used.
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, where, depending on the method, either form successive intervals that bracket the exact root or a sequence of successively more accurate approximate roots.
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. This option is effective with every method except for the Modified Newton-Raphson method. By default, this option is set to true. To control the vertical lines, see the showverticallines and verticallineoptions options.
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.
showverticallines = truefalse
Whether to display the vertical lines at each iterative approximation on the plot when output = plot. This option is only effective when method is one of: newton, modifiednewton, secant, or falseposition. 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 Roots command numerically approximates the roots of an algebraic function, f, using the specified method and returns the specified outputs.
Given an expression f and an initial approximate a or a pair of initial approximates [a, b], the Roots 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.
See method in the Options section to see which methods require one initial approximate (and hence the last two calling sequences) and which methods require a pair of initial approximates (and hence the first two calling sequences).
If method = fixedpointiteration or method = steffensen is specified, the first argument f may be substituted with an option of the form fixedpointiterator = fpexpr. See method = fixedpointiteration in the Options section for details.
Both Newton's method and the secant method have the limitation that they may produce a divergent sequence of approximates if the initial approximates a and b are not sufficiently close to the root.
with⁡StudentNumericalAnalysis:
f≔x3−7⁢x2+14⁢x−6
Roots⁡f,x=3.2,tolerance=10−2
3.416190743
Roots⁡f,x=2.7,3.2,method=bisection,tolerance=10−2,output=information
nanbnpnf⁡pnrelative error12.73.22.9500000000.0548750000.0847457627122.9500000003.23.075000000−0.0633281250.0406504065032.9500000003.0750000003.012500000−0.0121855470.0207468879742.9500000003.0125000002.9812500000.0194465260.0104821802952.9812500003.0125000002.9968750000.0031445140.005213764338
f≔x2−3⁢x−2:
Roots⁡f,x=1,output=sequence
1.,−3.000000000,−1.222222222,−0.6417233560,−0.5630533137,−0.5615533585,−0.5615528128
Roots⁡f,x=0.3,method=modifiednewton,output=plot,stoppingcriterion=absolute
Roots⁡f,x=0.3,method=modifiednewton,output=plot,stoppingcriterion=absolute,verticallineoptions=color=gold,linestyle=dash
Roots⁡f,x=1.3,5,method=secant,output=animation,stoppingcriterion=function_value,tickmarks=5,5
See Also
Student[Calculus1][Roots]
Student[NumericalAnalysis][Bisection]
Student[NumericalAnalysis][FalsePosition]
Student[NumericalAnalysis][FixedPointIteration]
Student[NumericalAnalysis][ModifiedNewton]
Student[NumericalAnalysis][Newton]
Student[NumericalAnalysis][Secant]
Student[NumericalAnalysis][Steffensen]
Student[NumericalAnalysis][VisualizationOverview]
Download Help Document