This is documentation for Mathematica 6, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)


FindRoot[f, {x, x0}]
searches for a numerical root of f, starting from the point x=x0.
FindRoot[lhsrhs, {x, x0}]
searches for a numerical solution to the equation lhsrhs.
FindRoot[{f1, f2, ...}, {{x, x0}, {y, y0}, ...}]
searches for a simultaneous numerical root of all the fi.
FindRoot[{eqn1, eqn2, ...}, {{x, x0}, {y, y0}, ...}]
searches for a numerical solution to the simultaneous equations eqni.
  • If the starting point for a variable is given as a list, the values of the variable are taken to be lists with the same dimensions.
  • FindRoot returns a list of replacements for x, y, ... , in the same form as obtained from Solve.
  • FindRoot first localizes the values of all variables, then evaluates f with the variables being symbolic, and then repeatedly evaluates the result numerically.
  • FindRoot[lhsrhs, {x, x0, x1}] searches for a solution using x0 and x1 as the first two values of x, avoiding the use of derivatives.
  • FindRoot[lhsrhs, {x, xstart, xmin, xmax}] searches for a solution, stopping the search if x ever gets outside the range xmin to xmax.
  • If you specify only one starting value of x, FindRoot searches for a solution using Newton methods. If you specify two starting values, FindRoot uses a variant of the secant method.
  • If all equations and starting values are real, then FindRoot will search only for real roots. If any are complex, it will also search for complex roots.
  • You can always tell FindRoot to search for complex roots by adding 0.I to the starting value.
  • The following options can be given:
AccuracyGoalAutomaticthe accuracy sought
EvaluationMonitorNoneexpression to evaluate whenever equations are evaluated
JacobianAutomaticthe Jacobian of the system
MaxIterations100maximum number of iterations to use
PrecisionGoalAutomaticthe precision sought
StepMonitorNoneexpression to evaluate whenever a step is taken
WorkingPrecisionMachinePrecisionthe precision to use in internal computations
  • The setting for AccuracyGoal specifies the number of digits of accuracy to seek in both the value of the position of the root, and the value of the function at the root.
  • The setting for PrecisionGoal specifies the number of digits of precision to seek in the value of the position of the root.
  • If FindRoot does not succeed in finding a solution to the accuracy you specify within MaxIterations steps, it returns the most recent approximation to a solution that it found. You can then apply FindRoot again, with this approximation as a starting point.
New in 1 | Last modified in 5