We deliver solutions for the AI eraâcombining symbolic computation, data-driven insights and deep technology expertise.
FindRoot[f,{x,x0}]
searches for a numerical root of f, starting from the point x=x0.
FindRoot[lhs==rhs,{x,x0}]
searches for a numerical solution to the equation lhs==rhs.
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.
Details and OptionsSolve a nonlinear system of equations:
Scope (4)Find the solution of a system of two nonlinear equations:
Find a root for a three-component function of three variables:
You can cause the search to use complex values by giving a complex starting value:
When the function is complex for real input, a real starting value may give a complex result:
Generalizations & Extensions (1)A variable may be considered as vector valued if specified in the starting value:
Options (9) AccuracyGoal and PrecisionGoal (1)Change tolerances for error estimates:
Relax error tolerances for stopping:
Make estimated relative distance to the root the main criterion for stopping:
DampingFactor (1)DampingFactor can be used to help speed convergence to higher-order roots:
Jacobian (1)Specify the Jacobian for a "black-box" function:
Without a specified Jacobian, extra evaluations are used to compute finite differences:
If you just know the sparse form, specifying the sparse pattern template saves evaluations:
Inspect the number of Jacobian evaluations needed by different methods:
MaxIterations (1)Limit or increase the number of steps taken:
The default number of iterations is 100:
Eventually the algorithm stalls out since this mollifier function has all derivatives 0 at :
Method (2)Method options are also explained in Unconstrained Optimization.
Find a root for using different methods:
Define a function that monitors the steps and evaluations used by FindRoot:
The default (Newton's) method:
Brent's root-bracketing method requiring two initial conditions bracketing the root:
Secant method, starting with two initial conditions:
Select the affine covariant Newton method:
StepMonitor (1)Monitor when iterative steps have been taken:
Show the steps on a contour plot of :
Show steps (red) and evaluations (green). A step may require several evaluations:
WorkingPrecision (1)Find a root using 100-digit precision arithmetic:
Find the root starting with machine precision and adaptively working up to precision 100:
Applications (3) Computing Inverse Functions (1)For an isomorphism , the inverse is the root of :
An approximate inverse for the exponential function:
It is very close to the built-in Log function:
A "black-box" function giving the period of an oscillation:
Solving Boundary Value Problems (2)Solve a boundary value problem , using a shooting method:
Use points on either side of the root to give bracketing starting values:
Solve the boundary-value problem , with n collocation points:
Consider as a first-order system :
Equations for collocation using the trapezoidal rule:
Find a solution for a particular value of ϵ:
Properties & Relations (2)For a polynomial system of equations, NSolve finds all solutions and FindRoot finds one:
FindRoot will find a single solution using an iterative method:
NSolve will find all solutions using a direct method:
For equations involving parameters or exact solutions use Solve, Reduce, or FindInstance:
Solve will return some solutions:
Reduce will enumerate all solutions:
FindInstance will find particular instances:
Possible Issues (2)If a function is complex, variables are allowed to have complex values:
If the function is kept real, variables are also taken to be real:
It can be time-consuming to compute functions symbolically:
Restricting the function definition avoids symbolic evaluation:
HistoryIntroduced in 1988 (1.0) | Updated in 2003 (5.0)
Wolfram Research (1988), FindRoot, Wolfram Language function, https://reference.wolfram.com/language/ref/FindRoot.html (updated 2003). TextWolfram Research (1988), FindRoot, Wolfram Language function, https://reference.wolfram.com/language/ref/FindRoot.html (updated 2003).
CMSWolfram Language. 1988. "FindRoot." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2003. https://reference.wolfram.com/language/ref/FindRoot.html.
APAWolfram Language. (1988). FindRoot. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/FindRoot.html
BibTeX@misc{reference.wolfram_2025_findroot, author="Wolfram Research", title="{FindRoot}", year="2003", howpublished="\url{https://reference.wolfram.com/language/ref/FindRoot.html}", note=[Accessed: 12-July-2025 ]}
BibLaTeX@online{reference.wolfram_2025_findroot, organization={Wolfram Research}, title={FindRoot}, year={2003}, url={https://reference.wolfram.com/language/ref/FindRoot.html}, note=[Accessed: 12-July-2025 ]}
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4