File: newton.method.Rd

package info (click to toggle)
r-cran-animation 2.7%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 1,268 kB
  • sloc: javascript: 873; sh: 15; makefile: 2
file content (82 lines) | stat: -rw-r--r-- 2,533 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/newton.method.R
\name{newton.method}
\alias{newton.method}
\title{Demonstration of the Newton-Raphson method for root-finding}
\usage{
newton.method(
  FUN = function(x) x^2 - 4,
  init = 10,
  rg = c(-1, 10),
  tol = 0.001,
  interact = FALSE,
  col.lp = c("blue", "red", "red"),
  main,
  xlab,
  ylab,
  ...
)
}
\arguments{
\item{FUN}{the function in the equation to solve (univariate), which has to
be defined without braces like the default one (otherwise the derivative
cannot be computed)}

\item{init}{the starting point}

\item{rg}{the range for plotting the curve}

\item{tol}{the desired accuracy (convergence tolerance)}

\item{interact}{logical; whether choose the starting point by cliking on the
curve (for 1 time) directly?}

\item{col.lp}{a vector of length 3 specifying the colors of: vertical lines,
tangent lines and points}

\item{main, xlab, ylab}{titles of the plot; there are default values for them
(depending on the form of the function \code{FUN})}

\item{\dots}{other arguments passed to \code{\link{curve}}}
}
\value{
A list containing \item{root }{the root found by the algorithm}
  \item{value }{the value of \code{FUN(root)}} \item{iter}{number of
  iterations; if it is equal to \code{ani.options('nmax')}, it's quite likely
  that the root is not reliable because the maximum number of iterations has
  been reached}
}
\description{
This function provides an illustration of the iterations in Newton's method.
}
\details{
Newton's method (also known as the Newton-Raphson method or the
Newton-Fourier method) is an efficient algorithm for finding approximations
to the zeros (or roots) of a real-valued function f(x).

The iteration goes on in this way:

\deqn{x_{k + 1} = x_{k} - \frac{FUN(x_{k})}{FUN'(x_{k})}}{x[k + 1] = x[k] -
FUN(x[k]) / FUN'(x[k])}

From the starting value \eqn{x_0}, vertical lines and points are plotted to
show the location of the sequence of iteration values \eqn{x_1, x_2,
\ldots}{x1, x2, \dots}; tangent lines are drawn to illustrate the
relationship between successive iterations; the iteration values are in the
right margin of the plot.
}
\note{
The algorithm might not converge -- it depends on the starting value.
  See the examples below.
}
\references{
Examples at \url{https://yihui.org/animation/example/newton-method/}

For more information about Newton's method, please see \url{https://en.wikipedia.org/wiki/Newton's_method}
}
\seealso{
\code{\link{optim}}
}
\author{
Yihui Xie
}