Newton's method
In numerical analysis, Newton's method, also known as the Newton–Raphson method, named after Isaac Newton and Joseph Raphson, is a rootfinding algorithm which produces successively better approximations to the roots (or zeroes) of a realvalued function. The most basic version starts with a realvalued function f, its derivative f′, and an initial guess x_{0} for a root of f. If f satisfies certain assumptions and the initial guess is close, then
[math]\displaystyle{ x_{1} = x_0  \frac{f(x_0)}{f'(x_0)} }[/math]
is a better approximation of the root than x_{0}. Geometrically, (x_{1}, 0) is the xintercept of the tangent of the graph of f at (x_{0}, f(x_{0})): that is, the improved guess, x_{1}, is the unique root of the linear approximation of f at the initial guess, x_{0}. The process is repeated as
[math]\displaystyle{ x_{n+1} = x_n  \frac{f(x_n)}{f'(x_n)} }[/math]
until a sufficiently precise value is reached. The number of correct digits roughly doubles with each step. This algorithm is first in the class of Householder's methods, succeeded by Halley's method. The method can also be extended to complex functions and to systems of equations.
Description
The idea is to start with an initial guess, then to approximate the function by its tangent line, and finally to compute the xintercept of this tangent line. This xintercept will typically be a better approximation to the original function's root than the first guess, and the method can be iterated.
If the tangent line to the curve f(x) at x = x_{n} intercepts the xaxis at x_{n+1} then the slope is
[math]\displaystyle{ f'(x_n) = \dfrac{f(x_n)0} {x_nx_{n+1}}. }[/math]
Solving for x_{n+1} gives
[math]\displaystyle{ x_{n+1} = x_n  \frac{f(x_n)}{f'(x_n)}. }[/math]
We start the process with some arbitrary initial value x_{0}. (The closer to the zero, the better. But, in the absence of any intuition about where the zero might lie, a "guess and check" method might narrow the possibilities to a reasonably small interval by appealing to the intermediate value theorem.) The method will usually converge, provided this initial guess is close enough to the unknown zero, and that f′(x_{0}) ≠ 0. Furthermore, for a zero of multiplicity 1, the convergence is at least quadratic (see Rate of convergence) in a neighbourhood of the zero, which intuitively means that the number of correct digits roughly doubles in every step. More details can be found in § Analysis below.
Householder's methods are similar but have higher order for even faster convergence. However, the extra computations required for each step can slow down the overall performance relative to Newton's method, particularly if f or its derivatives are computationally expensive to evaluate.
History
The name "Newton's method" is derived from Isaac Newton's description of a special case of the method in De analysi per aequationes numero terminorum infinitas (written in 1669, published in 1711 by William Jones) and in De metodis fluxionum et serierum infinitarum (written in 1671, translated and published as Method of Fluxions in 1736 by John Colson). However, his method differs substantially from the modern method given above. Newton applied the method only to polynomials, starting with an initial root estimate and extracting a sequence of error corrections. He used each correction to rewrite the polynomial in terms of the remaining error, and then solved for a new correction by neglecting higherdegree terms. He did not explicitly connect the method with derivatives or present a general formula. Newton applied this method to both numerical and algebraic problems, producing Taylor series in the latter case.
Newton may have derived his method from a similar, less precise method by Vieta. The essence of Vieta's method can be found in the work of the Persian mathematician Sharaf alDin alTusi, while his successor Jamshīd alKāshī used a form of Newton's method to solve x^{P} − N = 0 to find roots of N (Ypma 1995). A special case of Newton's method for calculating square roots was known since ancient times and is often called the Babylonian method.
Newton's method was used by 17thcentury Japanese mathematician Seki Kōwa to solve singlevariable equations, though the connection with calculus was missing.^{[1]}
Newton's method was first published in 1685 in A Treatise of Algebra both Historical and Practical by John Wallis.^{[2]} In 1690, Joseph Raphson published a simplified description in Analysis aequationum universalis.^{[3]} Raphson also applied the method only to polynomials, but he avoided Newton's tedious rewriting process by extracting each successive correction from the original polynomial. This allowed him to derive a reusable iterative expression for each problem. Finally, in 1740, Thomas Simpson described Newton's method as an iterative method for solving general nonlinear equations using calculus, essentially giving the description above. In the same publication, Simpson also gives the generalization to systems of two equations and notes that Newton's method can be used for solving optimization problems by setting the gradient to zero.
Arthur Cayley in 1879 in The Newton–Fourier imaginary problem was the first to notice the difficulties in generalizing Newton's method to complex roots of polynomials with degree greater than 2 and complex initial values. This opened the way to the study of the theory of iterations of rational functions.
Practical considerations
Newton's method is a powerful technique—in general the convergence is quadratic: as the method converges on the root, the difference between the root and the approximation is squared (the number of accurate digits roughly doubles) at each step. However, there are some difficulties with the method.
Difficulty in calculating the derivative of a function
Newton's method requires that the derivative can be calculated directly. An analytical expression for the derivative may not be easily obtainable or could be expensive to evaluate. In these situations, it may be appropriate to approximate the derivative by using the slope of a line through two nearby points on the function. Using this approximation would result in something like the secant method whose convergence is slower than that of Newton's method.
Failure of the method to converge to the root
It is important to review the proof of quadratic convergence of Newton's method before implementing it. Specifically, one should review the assumptions made in the proof. For situations where the method fails to converge, it is because the assumptions made in this proof are not met.
Overshoot
If the first derivative is not well behaved in the neighborhood of a particular root, the method may overshoot, and diverge from that root. An example of a function with one root, for which the derivative is not well behaved in the neighborhood of the root, is
[math]\displaystyle{ f(x)=x^a,\quad 0 \lt a \lt \tfrac{1}{2} }[/math]
for which the root will be overshot and the sequence of x will diverge. For a = 1/2, the root will still be overshot, but the sequence will oscillate between two values. For 1/2 < a < 1, the root will still be overshot but the sequence will converge, and for a ≥ 1 the root will not be overshot at all.
In some cases, Newton's method can be stabilized by using successive overrelaxation, or the speed of convergence can be increased by using the same method.
Stationary point
If a stationary point of the function is encountered, the derivative is zero and the method will terminate due to division by zero.
Poor initial estimate
A large error in the initial estimate can contribute to nonconvergence of the algorithm. To overcome this problem one can often linearize the function that is being optimized using calculus, logs, differentials, or even using evolutionary algorithms, such as the stochastic tunneling. Good initial estimates lie close to the final globally optimal parameter estimate. In nonlinear regression, the sum of squared errors (SSE) is only "close to" parabolic in the region of the final parameter estimates. Initial estimates found here will allow the Newton–Raphson method to quickly converge. It is only here that the Hessian matrix of the SSE is positive and the first derivative of the SSE is close to zero.
Mitigation of nonconvergence
In a robust implementation of Newton's method, it is common to place limits on the number of iterations, bound the solution to an interval known to contain the root, and combine the method with a more robust root finding method.
Slow convergence for roots of multiplicity greater than 1
If the root being sought has multiplicity greater than one, the convergence rate is merely linear (errors reduced by a constant factor at each step) unless special steps are taken. When there are two or more roots that are close together then it may take many iterations before the iterates get close enough to one of them for the quadratic convergence to be apparent. However, if the multiplicity m of the root is known, the following modified algorithm preserves the quadratic convergence rate:^{[4]}
[math]\displaystyle{ x_{n+1} = x_n  m\frac{f(x_n)}{f'(x_n)}. }[/math]
This is equivalent to using successive overrelaxation. On the other hand, if the multiplicity m of the root is not known, it is possible to estimate m after carrying out one or two iterations, and then use that value to increase the rate of convergence.
If the multiplicity m of the root is finite then g(x) = f(x)/f′(x) will have a root at the same location with multiplicity 1. Applying Newton's method to find the root of g(x) recovers quadratic convergence in many cases although it generally involves the second derivative of f(x). In a particularly simple case, if f(x) = x^{m} then g(x) = x/m and Newton's method finds the root in a single iteration with
[math]\displaystyle{ x_{n+1} = x_n  \frac{g(x_n)}{g'(x_n)} = x_n  \frac{\;\frac{x_n}{m}\;}{\frac{1}{m}} = 0\,. }[/math]
Analysis
Suppose that the function f has a zero at α, i.e., f(α) = 0, and f is differentiable in a neighborhood of α.
If f is continuously differentiable and its derivative is nonzero at α, then there exists a neighborhood of α such that for all starting values x_{0} in that neighborhood, the sequence (x_{n}) will converge to α.^{[5]}
If f is continuously differentiable, its derivative is nonzero at α, and it has a second derivative at α, then the convergence is quadratic or faster. If the second derivative is not 0 at α then the convergence is merely quadratic. If the third derivative exists and is bounded in a neighborhood of α, then:
[math]\displaystyle{ \Delta x_{i+1} = \frac{f'' (\alpha)}{2 f' (\alpha)} \left(\Delta x_{i}\right)^2 + O\left(\Delta x_{i}\right)^3 \,, }[/math]
where
[math]\displaystyle{ \Delta x_i \triangleq x_i  \alpha \,. }[/math]
If the derivative is 0 at α, then the convergence is usually only linear. Specifically, if f is twice continuously differentiable, f′(α) = 0 and f″(α) ≠ 0, then there exists a neighborhood of α such that, for all starting values x_{0} in that neighborhood, the sequence of iterates converges linearly, with rate 1/2.^{[6]} Alternatively, if f′(α) = 0 and f′(x) ≠ 0 for x ≠ α, x in a neighborhood U of α, α being a zero of multiplicity r, and if f ∈ C^{r}(U), then there exists a neighborhood of α such that, for all starting values x_{0} in that neighborhood, the sequence of iterates converges linearly.
However, even linear convergence is not guaranteed in pathological situations.
In practice, these results are local, and the neighborhood of convergence is not known in advance. But there are also some results on global convergence: for instance, given a right neighborhood U_{+} of α, if f is twice differentiable in U_{+} and if f′ ≠ 0, f · f″ > 0 in U_{+}, then, for each x_{0} in U_{+} the sequence x_{k} is monotonically decreasing to α.
Proof of quadratic convergence for Newton's iterative method
According to Taylor's theorem, any function f(x) which has a continuous second derivative can be represented by an expansion about a point that is close to a root of f(x). Suppose this root is α. Then the expansion of f(α) about x_{n} is:

[math]\displaystyle{ f(\alpha) = f(x_n) + f'(x_n)(\alpha  x_n) + R_1 \, }[/math]
(
)
where the Lagrange form of the Taylor series expansion remainder is
[math]\displaystyle{ R_1 = \frac{1}{2!}f''(\xi_n)\left(\alpha  x_n\right)^{2} \,, }[/math]
where ξ_{n} is in between x_{n} and α.
Since α is the root, (1) becomes:

[math]\displaystyle{ 0 = f(\alpha) = f(x_n) + f'(x_n)(\alpha  x_n) + \tfrac12f''(\xi_n)\left(\alpha  x_n\right)^2 \, }[/math]
(
)
Dividing equation (2) by f′(x_{n}) and rearranging gives

[math]\displaystyle{ \frac {f(x_n)}{f'(x_n)}+\left(\alphax_n\right) = \frac { f'' (\xi_n)}{2 f'(x_n)}\left(\alphax_n\right)^2 }[/math]
(
)
Remembering that x_{n + 1} is defined by

[math]\displaystyle{ x_{n+1} = x_{n}  \frac {f(x_n)}{f'(x_n)} \,, }[/math]
(
)
one finds that
[math]\displaystyle{ \underbrace{\alpha  x_{n+1}}_{\varepsilon_{n+1}} = \frac { f'' (\xi_n)}{2 f'(x_n)} {(\,\underbrace{\alpha  x_n}_{\varepsilon_{n}}\,)}^2 \,. }[/math]
That is,

[math]\displaystyle{ \varepsilon_{n+1} = \frac { f'' (\xi_n)}{2 f'(x_n)} \cdot \varepsilon_n^2 \,. }[/math]
(
)
Taking the absolute value of both sides gives

[math]\displaystyle{ \left {\varepsilon_{n+1}}\right = \frac {\left f'' (\xi_n) \right }{2 \left f'(x_n) \right} \cdot \varepsilon_n^2 \,. }[/math]
(
)
Equation (6) shows that the order of convergence is at least quadratic if the following conditions are satisfied:
 f′(x) ≠ 0; for all x ∈ I, where I is the interval [α − ε_{0}, α + ε_{0}];
 f″(x) is continuous, for all x ∈ I;
 M ε_{0} < 1
where M is given by
[math]\displaystyle{ M = \frac12 \left( \sup_{x \in I} \vert f'' (x) \vert \right) \left( \sup_{x \in I} \frac {1}{ \vert f'(x) \vert } \right) . \, }[/math]
If these conditions hold,
[math]\displaystyle{ \vert \varepsilon_{n+1} \vert \leq M \cdot \varepsilon_n^2 \,. }[/math]
Basins of attraction
The disjoint subsets of the basins of attraction—the regions of the real number line such that within each region iteration from any point leads to one particular root—can be infinite in number and arbitrarily small. For example,^{[7]} for the function f(x) = x^{3} − 2x^{2} − 11x + 12 = (x − 4)(x − 1)(x + 3), the following initial conditions are in successive basins of attraction:
Failure analysis
Newton's method is only guaranteed to converge if certain conditions are satisfied. If the assumptions made in the proof of quadratic convergence are met, the method will converge. For the following subsections, failure of the method to converge indicates that the assumptions made in the proof were not met.
Bad starting points
In some cases the conditions on the function that are necessary for convergence are satisfied, but the point chosen as the initial point is not in the interval where the method converges. This can happen, for example, if the function whose root is sought approaches zero asymptotically as x goes to ∞ or −∞. In such cases a different method, such as bisection, should be used to obtain a better estimate for the zero to use as an initial point.
Iteration point is stationary
Consider the function:
[math]\displaystyle{ f(x) = 1x^2. }[/math]
It has a maximum at x = 0 and solutions of f(x) = 0 at x = ±1. If we start iterating from the stationary point x_{0} = 0 (where the derivative is zero), x_{1} will be undefined, since the tangent at (0, 1) is parallel to the xaxis:
[math]\displaystyle{ x_1 = x_0  \frac{f(x_0)}{f'(x_0)} = 0  \frac{1}{0}. }[/math]
The same issue occurs if, instead of the starting point, any iteration point is stationary. Even if the derivative is small but not zero, the next iteration will be a far worse approximation.
Starting point enters a cycle
For some functions, some starting points may enter an infinite cycle, preventing convergence. Let
[math]\displaystyle{ f(x) = x^3  2x + 2 \! }[/math]
and take 0 as the starting point. The first iteration produces 1 and the second iteration returns to 0 so the sequence will alternate between the two without converging to a root. In fact, this 2cycle is stable: there are neighborhoods around 0 and around 1 from which all points iterate asymptotically to the 2cycle (and hence not to the root of the function). In general, the behavior of the sequence can be very complex (see Newton fractal). The real solution of this equation is −1.76929235...
Derivative issues
If the function is not continuously differentiable in a neighborhood of the root then it is possible that Newton's method will always diverge and fail, unless the solution is guessed on the first try.
Derivative does not exist at root
A simple example of a function where Newton's method diverges is trying to find the cube root of zero. The cube root is continuous and infinitely differentiable, except for x = 0, where its derivative is undefined:
[math]\displaystyle{ f(x) = \sqrt[3]{x}. }[/math]
For any iteration point x_{n}, the next iteration point will be:
[math]\displaystyle{ x_{n+1} = x_n  \frac{f(x_n)}{f'(x_n)} = x_n  \frac{{x_n}^\frac13}{\frac13{x_n}^{\frac23}} = x_n  3x_n = 2x_n. }[/math]
The algorithm overshoots the solution and lands on the other side of the yaxis, farther away than it initially was; applying Newton's method actually doubles the distances from the solution at each iteration.
In fact, the iterations diverge to infinity for every f(x) = x^{α}, where 0 < α < 1/2. In the limiting case of α = 1/2 (square root), the iterations will alternate indefinitely between points x_{0} and −x_{0}, so they do not converge in this case either.
Discontinuous derivative
If the derivative is not continuous at the root, then convergence may fail to occur in any neighborhood of the root. Consider the function
[math]\displaystyle{ f(x) = \begin{cases} 0 & \text{if } x = 0,\\ x + x^2\sin \frac{2}{x} & \text{if } x \neq 0. \end{cases} }[/math]
Its derivative is: [math]\displaystyle{ f'(x) = \begin{cases} 1 & \text{if } x = 0,\\ 1 + 2x\sin \frac{2}{x}  2\cos \frac{2}{x} & \text{if } x \neq 0. \end{cases} }[/math]
Within any neighborhood of the root, this derivative keeps changing sign as x approaches 0 from the right (or from the left) while f(x) ≥ x − x^{2} > 0 for 0 < x < 1.
So f(x)/f′(x) is unbounded near the root, and Newton's method will diverge almost everywhere in any neighborhood of it, even though:
 the function is differentiable (and thus continuous) everywhere;
 the derivative at the root is nonzero;
 f is infinitely differentiable except at the root; and
 the derivative is bounded in a neighborhood of the root (unlike f(x)/f′(x)).
Nonquadratic convergence
In some cases the iterates converge but do not converge as quickly as promised. In these cases simpler methods converge just as quickly as Newton's method.
Zero derivative
If the first derivative is zero at the root, then convergence will not be quadratic. Let
[math]\displaystyle{ f(x) = x^2 \! }[/math]
then f′(x) = 2x and consequently
[math]\displaystyle{ x  \frac{f(x)}{f'(x)} = \frac{x}{2} . }[/math]
So convergence is not quadratic, even though the function is infinitely differentiable everywhere.
Similar problems occur even when the root is only "nearly" double. For example, let
[math]\displaystyle{ f(x) = x^2(x1000)+1. }[/math]
Then the first few iterations starting at x_{0} = 1 are
it takes six iterations to reach a point where the convergence appears to be quadratic.
No second derivative
If there is no second derivative at the root, then convergence may fail to be quadratic. Let
[math]\displaystyle{ f(x) = x + x^\frac43. }[/math]
Then
[math]\displaystyle{ f'(x) = 1 + \tfrac43 x^\frac13. }[/math]
And
[math]\displaystyle{ f''(x) = \tfrac49 x^{\frac23} }[/math]
except when x = 0 where it is undefined. Given x_{n},
[math]\displaystyle{ x_{n+1} = x_n  \frac{f(x_n)}{f '(x_n)} = \frac{\frac13{x_n}^\frac43}{1 + \tfrac43{x_n}^\frac13} }[/math]
which has approximately 4/3 times as many bits of precision as x_{n} has. This is less than the 2 times as many which would be required for quadratic convergence. So the convergence of Newton's method (in this case) is not quadratic, even though: the function is continuously differentiable everywhere; the derivative is not zero at the root; and f is infinitely differentiable except at the desired root.
Generalizations
Complex functions
When dealing with complex functions, Newton's method can be directly applied to find their zeroes.^{[8]} Each zero has a basin of attraction in the complex plane, the set of all starting values that cause the method to converge to that particular zero. These sets can be mapped as in the image shown. For many complex functions, the boundaries of the basins of attraction are fractals.
In some cases there are regions in the complex plane which are not in any of these basins of attraction, meaning the iterates do not converge. For example,^{[9]} if one uses a real initial condition to seek a root of x^{2} + 1, all subsequent iterates will be real numbers and so the iterations cannot converge to either root, since both roots are nonreal. In this case almost all real initial conditions lead to chaotic behavior, while some initial conditions iterate either to infinity or to repeating cycles of any finite length.
Curt McMullen has shown that for any possible purely iterative algorithm similar to Newton's method, the algorithm will diverge on some open regions of the complex plane when applied to some polynomial of degree 4 or higher. However, McMullen gave a generally convergent algorithm for polynomials of degree 3.^{[10]} Also, for any polynomial, Hubbard, Schleicher, and Sutherland gave a method for selecting a set of initial points such that Newton's method will certainly converge at one of them at least.^{[11]}
Chebyshev's thirdorder method
Nash–Moser iteration
Systems of equations
k variables, k functions
One may also use Newton's method to solve systems of k equations, which amounts to finding the (simultaneous) zeroes of k continuously differentiable functions [math]\displaystyle{ f:\R^k\to \R. }[/math] This is equivalent to finding the zeroes of a single vectorvalued function [math]\displaystyle{ F:\R^k\to \R^k. }[/math] In the formulation given above, the scalars x_{n} are replaced by vectors x_{n} and instead of dividing the function f(x_{n}) by its derivative f′(x_{n}) one instead has to left multiply the function F(x_{n}) by the inverse of its k × k Jacobian matrix J_{F}(x_{n}). This results in the expression
[math]\displaystyle{ \mathbf{x}_{n+1} = \mathbf{x}_{n}  J_F(\mathbf{x}_n)^{1} F(\mathbf{x}_n) . }[/math]
Rather than actually computing the inverse of the Jacobian matrix, one may save time and increase numerical stability by solving the system of linear equations
[math]\displaystyle{ J_F(\mathbf{x}_n) (\mathbf{x}_{n+1}  \mathbf{x}_n) = F(\mathbf{x}_n) }[/math]
for the unknown x_{n + 1} − x_{n}.
k variables, m equations, with m > k
The kdimensional variant of Newton's method can be used to solve systems of greater than k (nonlinear) equations as well if the algorithm uses the generalized inverse of the nonsquare Jacobian matrix J^{+} = (J^{T}J)^{−1}J^{T} instead of the inverse of J. If the nonlinear system has no solution, the method attempts to find a solution in the nonlinear least squares sense. See Gauss–Newton algorithm for more information.
In a Banach space
Another generalization is Newton's method to find a root of a functional F defined in a Banach space. In this case the formulation is
[math]\displaystyle{ X_{n+1}=X_n\bigl(F'(X_n)\bigr)^{1}F(X_n),\, }[/math]
where F′(X_{n}) is the Fréchet derivative computed at X_{n}. One needs the Fréchet derivative to be boundedly invertible at each X_{n} in order for the method to be applicable. A condition for existence of and convergence to a root is given by the Newton–Kantorovich theorem.^{[12]}
Over padic numbers
In padic analysis, the standard method to show a polynomial equation in one variable has a padic root is Hensel's lemma, which uses the recursion from Newton's method on the padic numbers. Because of the more stable behavior of addition and multiplication in the padic numbers compared to the real numbers (specifically, the unit ball in the padics is a ring), convergence in Hensel's lemma can be guaranteed under much simpler hypotheses than in the classical Newton's method on the real line.
Newton–Fourier method
The Newton–Fourier method is Joseph Fourier's extension of Newton's method to provide bounds on the absolute error of the root approximation, while still providing quadratic convergence.
Assume that f(x) is twice continuously differentiable on [a, b] and that f contains a root in this interval. Assume that f′(x), f″(x) ≠ 0 on this interval (this is the case for instance if f(a) < 0, f(b) > 0, and f′(x) > 0, and f″(x) > 0 on this interval). This guarantees that there is a unique root on this interval; call it α. If it is concave down instead of concave up then replace f(x) by −f(x) since they have the same roots.
Let x_{0} = b be the right endpoint of the interval and let z_{0} = a be the left endpoint of the interval. Given x_{n}, define
[math]\displaystyle{ x_{n + 1} = x_n  \frac{f(x_n)}{f'(x_n)}, }[/math]
which is just Newton's method as before. Then define
[math]\displaystyle{ z_{n + 1} = z_n  \frac{f(z_n)}{f'(x_n)}, }[/math]
where the denominator is f′(x_{n}) and not f′(z_{n}). The iterations x_{n} will be strictly decreasing to the root while the iterations z_{n} will be strictly increasing to the root. Also,
[math]\displaystyle{ \lim_{n\to \infty} \frac{x_{n + 1}  z_{n + 1}}{(x_n  z_n)^2} = \frac{f''(\alpha)}{2f'(\alpha)} }[/math]
so that distance between x_{n} and z_{n} decreases quadratically.
QuasiNewton methods
When the Jacobian is unavailable or too expensive to compute at every iteration, a quasiNewton method can be used.
qanalog
Newton's method can be generalized with the qanalog of the usual derivative.^{[13]}
Modified Newton methods
Maehly's procedure
A nonlinear equation has multiple solutions in general. But if the initial value is not appropriate, Newton's method may not converge to the desired solution or may converge to the same solution found earlier. When we have already found N solutions of [math]\displaystyle{ f(x)=0 }[/math], then the next root can be found by applying Newton's method to the next equation:^{[14]}^{[15]}
[math]\displaystyle{ F(x) = \frac{f(x)}{\prod_{i=1}^N(xx_i)} = 0 . }[/math]
This method is applied to obtain zeros of the Bessel function of the second kind.^{[16]}
Hirano's modified Newton method
Hirano's modified Newton method is a modification conserving the convergence of Newton method and avoiding unstableness.^{[17]} It is developed to solve complex polynomials.
Interval Newton's method
This section possibly contains inappropriate or misinterpreted citations that do not verify the text. (February 2019) (Learn how and when to remove this template message) 
Combining Newton's method with interval arithmetic is very useful in some contexts. This provides a stopping criterion that is more reliable than the usual ones (which are a small value of the function or a small variation of the variable between consecutive iterations). Also, this may detect cases where Newton's method converges theoretically but diverges numerically because of an insufficient floatingpoint precision (this is typically the case for polynomials of large degree, where a very small change of the variable may change dramatically the value of the function; see Wilkinson's polynomial).^{[18]}^{[19]}
Consider f → C^{1}(X), where X is a real interval, and suppose that we have an interval extension F′ of f′, meaning that F′ takes as input an interval Y ⊆ X and outputs an interval F′(Y) such that:
[math]\displaystyle{ \begin{align} F'([y,y]) &= \{f'(y)\}\\[5pt] F'(Y) &\supseteq \{f'(y)\mid y \in Y\}. \end{align} }[/math]
We also assume that 0 ∉ F′(X), so in particular f has at most one root in X. We then define the interval Newton operator by:
[math]\displaystyle{ N(Y) = m  \frac{f(m)}{F'(Y)} = \left\{\left.m  \frac{f(m)}{z} ~\right~ z \in F'(Y)\right\} }[/math]
where m ∈ Y. Note that the hypothesis on F′ implies that N(Y) is well defined and is an interval (see interval arithmetic for further details on interval operations). This naturally leads to the following sequence:
[math]\displaystyle{ \begin{align} X_0 &= X\\ X_{k+1} &= N(X_k) \cap X_k. \end{align} }[/math]
The mean value theorem ensures that if there is a root of f in X_{k}, then it is also in X_{k + 1}. Moreover, the hypothesis on F′ ensures that X_{k + 1} is at most half the size of X_{k} when m is the midpoint of Y, so this sequence converges towards [x*, x*], where x* is the root of f in X.
If F′(X) strictly contains 0, the use of extended interval division produces a union of two intervals for N(X); multiple roots are therefore automatically separated and bounded.
Applications
Minimization and maximization problems
Newton's method can be used to find a minimum or maximum of a function f(x). The derivative is zero at a minimum or maximum, so local minima and maxima can be found by applying Newton's method to the derivative. The iteration becomes:
[math]\displaystyle{ x_{n+1} = x_n  \frac{f'(x_n)}{f''(x_n)}. }[/math]
Multiplicative inverses of numbers and power series
An important application is Newton–Raphson division, which can be used to quickly find the reciprocal of a number a, using only multiplication and subtraction, that is to say the number x such that 1/x = a. We can rephrase that as finding the zero of f(x) = 1/x − a. We have f′(x) = −1/x^{2}.
Newton's iteration is
[math]\displaystyle{ x_{n+1} = x_n\frac{f(x_n)}{f'(x_n)} = x_n+\frac{\frac{1}{x_n}a}{\frac{1}{x_n^2}} = x_n(2ax_n). }[/math]
Therefore, Newton's iteration needs only two multiplications and one subtraction.
This method is also very efficient to compute the multiplicative inverse of a power series.
Solving transcendental equations
Many transcendental equations can be solved up to an arbitrary precision by using Newton's method.
When Newton's method can be applied to a transcendental equation, and converges to a solution of the equation, this implies that the solution is a computable number that is exactly represented by the pair formed by an initial approximation and an algorithm for increasing the accuracy of any approximation.
Obtaining zeros of special functions
Newton's method is applied to the ratio of Bessel functions in order to obtain its root.^{[20]}
Numerical verification for solutions of nonlinear equations
A numerical verification for solutions of nonlinear equations has been established by using Newton's method multiple times and forming a set of solution candidates.^{[21]}^{[22]}
Examples
Square root
Consider the problem of finding the square root of a number a, that is to say the positive number x such that x^{2} = a. Newton's method is one of many methods of computing square roots. We can rephrase that as finding the zero of f(x) = x^{2} − a. We have f′(x) = 2x.
For example, for finding the square root of 612 with an initial guess x_{0} = 10, the sequence given by Newton's method is:
[math]\displaystyle{ \begin{matrix} x_1 & = & x_0  \dfrac{f(x_0)}{f'(x_0)} & = & 10  \dfrac{10^2  612}{2 \times 10} & = & 35.6\qquad\qquad\qquad\quad\;\,{} \\ x_2 & = & x_1  \dfrac{f(x_1)}{f'(x_1)} & = & 35.6  \dfrac{35.6^2  612}{2 \times 35.6} & = & \underline{2}6.395\,505\,617\,978\dots \\ x_3 & = & \vdots & = & \vdots & = & \underline{24.7}90\,635\,492\,455\dots \\ x_4 & = & \vdots & = & \vdots & = & \underline{24.738\,6}88\,294\,075\dots \\ x_5 & = & \vdots & = & \vdots & = & \underline{24.738\,633\,753\,7}67\dots \end{matrix} }[/math]
where the correct digits are underlined. With only a few iterations one can obtain a solution accurate to many decimal places.
Rearranging the formula as follows yields the Babylonian method of finding square roots:
[math]\displaystyle{ x_{n+1} = x_n  \frac{f(x_n)}{f'(x_n)} = x_n  \frac{x_n^2  a}{2 x_n} = \frac{1}{2}\biggl(2x_n  \Bigl(x_n  \frac{a}{x_n}\Bigr)\biggr) = \frac{1}{2}\Bigl(x_n + \frac{a}{x_n}\Bigr) }[/math]
i.e. the arithmetic mean of the guess, x_{n} and a/x_{n}.
Solution of cos(x) = x^{3}
Consider the problem of finding the positive number x with cos x = x^{3}. We can rephrase that as finding the zero of f(x) = cos(x) − x^{3}. We have f′(x) = −sin(x) − 3x^{2}. Since cos(x) ≤ 1 for all x and x^{3} > 1 for x > 1, we know that our solution lies between 0 and 1.
For example, with an initial guess x_{0} = 0.5, the sequence given by Newton's method is (note that a starting value of 0 will lead to an undefined result, showing the importance of using a starting point that is close to the solution):
[math]\displaystyle{ \begin{matrix} x_1 & = & x_0  \dfrac{f(x_0)}{f'(x_0)} & = & 0.5  \dfrac{\cos 0.5  0.5^3}{\sin 0.5  3 \times 0.5^2} & = & 1.112\,141\,637\,097\dots \\ x_2 & = & x_1  \dfrac{f(x_1)}{f'(x_1)} & = & \vdots & = & \underline{0.}909\,672\,693\,736\dots \\ x_3 & = & \vdots & = & \vdots & = & \underline{0.86}7\,263\,818\,209\dots \\ x_4 & = & \vdots & = & \vdots & = & \underline{0.865\,47}7\,135\,298\dots \\ x_5 & = & \vdots & = & \vdots & = & \underline{0.865\,474\,033\,1}11\dots \\ x_6 & = & \vdots & = & \vdots & = & \underline{0.865\,474\,033\,102}\dots \end{matrix} }[/math]
The correct digits are underlined in the above example. In particular, x_{6} is correct to 12 decimal places. We see that the number of correct digits after the decimal point increases from 2 (for x_{3}) to 5 and 10, illustrating the quadratic convergence.
Code
The following is an implementation example of the Newton's method in the Python (version 3.x) programming language for finding a root of a function f
which has derivative f_prime
.
The initial guess will be x_{0} = 1 and the function will be f(x) = x^{2} − 2 so that f′(x) = 2x.
Each new iteration of Newton's method will be denoted by x1
. We will check during the computation whether the denominator (yprime
) becomes too small (smaller than epsilon
), which would be the case if f′(x_{n}) ≈ 0, since otherwise a large amount of error could be introduced.
def f(x): return x**2  2 # f(x) = x^2  2 def f_prime(x): return 2*x # f'(x) = 2x def newtons_method(x0, f, f_prime, tolerance, epsilon, max_iterations): """Newton's method Args: x0: The initial guess f: The function whose root we are trying to find f_prime: The derivative of the function tolerance: Stop when iterations change by less than this epsilon: Do not divide by a number smaller than this max_iterations: The maximum number of iterations to compute """ for i in range(max_iterations): y = f(x0) yprime = f_prime(x0) if abs(yprime) < epsilon: # Give up if the denominator is too small break x1 = x0  y / yprime # Do Newton's computation if abs(x1  x0) <= tolerance: # Stop when the result is within the desired tolerance return x1 # x1 is a solution within tolerance and maximum number of iterations x0 = x1 # Update x0 to start the process again return None # Newton's method did not converge
See also
 Aitken's deltasquared process
 Bisection method
 Euler method
 Fast inverse square root
 Fisher scoring
 Gradient descent
 Integer square root
 Kantorovich theorem
 Laguerre's method
 Methods of computing square roots
 Newton's method in optimization
 Richardson extrapolation
 Rootfinding algorithm
 Secant method
 Steffensen's method
 Subgradient method
Notes
 ↑ "Chapter 2. Seki Takakazu". National Diet Library. http://www.ndl.go.jp/math/e/s1/2.html.
 ↑ Wallis, John (1685). A Treatise of Algebra, both Historical and Practical. Oxford: Richard Davis. doi:10.3931/erara8842. http://www.erara.ch/zut/content/titleinfo/2507537.
 ↑ Raphson, Joseph (1697) (in la). Analysis Æequationum Universalis (2nd ed.). London: Thomas Bradyll. doi:10.3931/erara13516. https://archive.org/details/bub_gb_4nlbAAAAQAAJ.
 ↑ "Accelerated and Modified Newton Methods". http://mathfaculty.fullerton.edu/mathews/n2003/newtonacceleratemod.html.
 ↑ Ryaben'kii, Victor S.; Tsynkov, Semyon V. (2006), A Theoretical Introduction to Numerical Analysis, CRC Press, p. 243, ISBN 9781584886075, https://books.google.com/books?id=V8gWP031hEC&pg=PA243.
 ↑ Süli & Mayers 2003, Exercise 1.6
 ↑ Dence, Thomas (November 1997). "Cubics, chaos and Newton's method". Mathematical Gazette 81 (492): 403–408. doi:10.2307/3619617.
 ↑ Henrici, Peter (1974). Applied and Computational Complex Analysis. 1.
 ↑ Strang, Gilbert (January 1991). "A chaotic search for i". The College Mathematics Journal 22 (1): 3–12. doi:10.2307/2686733.
 ↑ McMullen, Curt (1987). "Families of rational maps and iterative rootfinding algorithms". Annals of Mathematics. Second Series 125 (3): 467–493. doi:10.2307/1971408. https://dash.harvard.edu/bitstream/handle/1/9876064/McMullen_FamiliesRationalMap.pdf?sequence=1.
 ↑ Hubbard, John; Schleicher, Dierk; Sutherland, Scott (October 2001). "How to find all roots of complex polynomials by Newton's method". Inventiones Mathematicae 146 (1): 1–33. doi:10.1007/s002220100149. ISSN 00209910. Bibcode: 2001InMat.146....1H. http://dx.doi.org/10.1007/s002220100149.
 ↑ Yamamoto, Tetsuro (2001). "Historical Developments in Convergence Analysis for Newton's and Newtonlike Methods". in Brezinski, C.; Wuytack, L.. Numerical Analysis: Historical Developments in the 20th Century. NorthHolland. pp. 241–263. ISBN 0444506179.
 ↑ Rajkovic, Stankovic & Marinkovic 2002^{[incomplete short citation]}
 ↑ Press et al. 1992^{[incomplete short citation]}
 ↑ Stoer & Bulirsch 1980^{[incomplete short citation]}
 ↑ Zhang & Jin 1996^{[incomplete short citation]}
 ↑ Murota, Kazuo (1982). "Global Convergence of a Modified Newton Iteration for Algebraic Equations". SIAM Journal on Numerical Analysis 19 (4): 793–799. doi:10.1137/0719055. Bibcode: 1982SJNA...19..793M.
 ↑ Moore, R. E. (1979). Methods and applications of interval analysis (Vol. 2). Siam.
 ↑ Hansen, E. (1978). Interval forms of Newtons method. Computing, 20(2), 153–163.
 ↑ (Gil Segura)^{[incomplete short citation]}
 ↑ Kahan (1968)^{[incomplete short citation]}
 ↑ (Krawczyk 1969)^{[incomplete short citation]}^{[incomplete short citation]}
References
 Gil, A.; Segura, J.; Temme, N. M. (2007). Numerical methods for special functions. Society for Industrial and Applied Mathematics. ISBN 9780898716344. https://www.researchgate.net/publication/220693008.
 Süli, Endre; Mayers, David (2003). An Introduction to Numerical Analysis. Cambridge University Press. ISBN 0521007941.
Further reading
 Kendall E. Atkinson, An Introduction to Numerical Analysis, (1989) John Wiley & Sons, Inc, ISBN 0471624896
 Tjalling J. Ypma, Historical development of the Newton–Raphson method, SIAM Review 37 (4), 531–551, 1995. doi:10.1137/1037125.
 Bonnans, J. Frédéric; Gilbert, J. Charles; Lemaréchal, Claude; Sagastizábal, Claudia A. (2006). Numerical optimization: Theoretical and practical aspects. Universitext (Second revised ed. of translation of 1997 French ed.). Berlin: SpringerVerlag. pp. xiv+490. doi:10.1007/9783540354475. ISBN 354035445X. https://www.springer.com/mathematics/applications/book/9783540354451.
 P. Deuflhard, Newton Methods for Nonlinear Problems. Affine Invariance and Adaptive Algorithms. Springer Series in Computational Mathematics, Vol. 35. Springer, Berlin, 2004. ISBN 3540210997.
 C. T. Kelley, Solving Nonlinear Equations with Newton's Method, no 1 in Fundamentals of Algorithms, SIAM, 2003. ISBN 0898715466.
 J. M. Ortega, W. C. Rheinboldt, Iterative Solution of Nonlinear Equations in Several Variables. Classics in Applied Mathematics, SIAM, 2000. ISBN 0898714613.
 Press, W. H.; Teukolsky, S. A.; Vetterling, W. T.; Flannery, B. P. (2007). "Chapter 9. Root Finding and Nonlinear Sets of Equations Importance Sampling". Numerical Recipes: The Art of Scientific Computing (3rd ed.). New York: Cambridge University Press. ISBN 9780521880688. http://apps.nrbook.com/empanel/index.html#pg=442.. See especially Sections 9.4, 9.6, and 9.7.
 Avriel, Mordecai (1976). Nonlinear Programming: Analysis and Methods. Prentice Hall. pp. 216–221. ISBN 0136236030.
External links
 Hazewinkel, Michiel, ed. (2001), "Newton method", Encyclopedia of Mathematics, Springer Science+Business Media B.V. / Kluwer Academic Publishers, ISBN 9781556080104, https://www.encyclopediaofmath.org/index.php?title=p/n066560
 Weisstein, Eric W.. "Newton's Method". http://mathworld.wolfram.com/NewtonsMethod.html.
 Newton's method, Citizendium.
 Mathews, J., The Accelerated and Modified Newton Methods, Course notes.
 Wu, X., Roots of Equations, Course notes.
Original source: https://en.wikipedia.org/wiki/Newton's method.
Read more 