Roots - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.
Our website is currently undergoing maintenance, which may result in occasional errors while browsing. We apologize for any inconvenience this may cause and are working swiftly to restore full functionality. Thank you for your patience.

Online Help

All Products    Maple    MapleSim


Student[NumericalAnalysis]

  

Roots

  

numerically approximate the real roots of an expression using an iterative method

 

Calling Sequence

Parameters

Options

Description

Notes

Examples

Calling Sequence

Roots(f, x=[a, b], opts)

Roots(f, [a,b], opts)

Roots(f, x=a, opts)

Roots(f, a, opts)

Parameters

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

Options

• 

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

  

This method requires one initial approximate.

– 

bisection: Bisection Method

  

This method requires a pair of initial approximates.

– 

secant: Secant Method

  

This method requires a pair of initial approximates.

– 

fixedpointiteration: Fixed-Point Iteration Method

  

This method requires one initial approximate.

  

This method first converts the problem of finding a root to the equation fx=0 to a problem of finding a fixed point for the function gx, where gx=xfx and fx is specified by f and x.

• 

The user can specify a custom iterator function gx by omitting the first argument f and supplying the fixedpointiterator = g option. The right-hand side expression g specifies a function gx, and this procedure will aim to find a root to fx = xgx=0 by way of solving the fixed-point problem gx=x.

  

When output = plot or output = animation is specified, both the function fx and the fixed-point iterator function gx will be plotted and correspondingly labeled.

  

The tolerance option, when stoppingcriterion = function_value, applies to the function fx 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

  

This method requires one initial approximate.

  

See the fixed-point iteration method above (fixedpointiteration) for important information that also applies to this method.

– 

falseposition: Method of False Position

  

This method requires a pair of initial approximates.

  

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 : pnpn1pn < tolerance

– 

absolute : pnpn1 < tolerance

– 

function_value : fpn < 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.

Description

• 

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.

Notes

• 

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.

Examples

withStudentNumericalAnalysis&colon;

fx37x2+14x6

fx37x2+14x6

(1)

Rootsf&comma;x=3.2&comma;tolerance=102

3.416190743

(2)

Rootsf&comma;x=2.7&comma;3.2&comma;method=bisection&comma;tolerance=102&comma;output=information

nanbnpnfpnrelative 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

(3)

fx23x2&colon;

Rootsf&comma;x=1&comma;output=sequence

1.,−3.000000000,−1.222222222,−0.6417233560,−0.5630533137,−0.5615533585,−0.5615528128

(4)

Rootsf&comma;x=0.3&comma;method=modifiednewton&comma;output=plot&comma;stoppingcriterion=absolute

Rootsf&comma;x=0.3&comma;method=modifiednewton&comma;output=plot&comma;stoppingcriterion=absolute&comma;verticallineoptions=color=gold&comma;linestyle=dash

Rootsf&comma;x=1.3&comma;5&comma;method=secant&comma;output=animation&comma;stoppingcriterion=function_value&comma;tickmarks=5&comma;5

See Also

Roots

Student[Calculus1][Roots]

Student[NumericalAnalysis]

Student[NumericalAnalysis][Bisection]

Student[NumericalAnalysis][FalsePosition]

Student[NumericalAnalysis][FixedPointIteration]

Student[NumericalAnalysis][ModifiedNewton]

Student[NumericalAnalysis][Newton]

Student[NumericalAnalysis][Secant]

Student[NumericalAnalysis][Steffensen]

Student[NumericalAnalysis][VisualizationOverview]