newton_raphson

0th

Percentile

Newton Raphson iteration to find roots of equations

Newton-Raphson iteration to find roots of equations with the emphasis on complex functions

Keywords
math
Usage
newton_raphson(initial, f, fdash, maxiter, give=TRUE, tol = .Machine$double.eps)
Arguments
initial

Starting guess

f

Function for which \(f(z)=0\) is to be solved for \(z\)

fdash

Derivative of function (note: Cauchy-Riemann conditions assumed)

maxiter

Maximum number of iterations attempted

give

Boolean, with default TRUE meaning to give output based on that of uniroot() and FALSE meaning to return only the estimated root

tol

Tolerance: iteration stops if \(|f(z)|<tol\)

Details

Bog-standard implementation of the Newton-Raphson algorithm

Value

If give is FALSE, returns \(z\) with \(|f(z)|<tol\); if TRUE, returns a list with elements root (the estimated root), f.root (the function evaluated at the estimated root; should have small modulus), and iter, the number of iterations required.

Note

Previous versions of this function used the misspelling “Rapheson”.

Aliases
  • newton_raphson
  • Newton_raphson
  • Newton_Raphson
  • newton_Raphson
Examples
# NOT RUN {
# Find the two square roots of 2+i:
f <- function(z){z^2-(2+1i)}
fdash <- function(z){2*z}
newton_raphson( 1.4+0.3i,f,fdash,maxiter=10)
newton_raphson(-1.4-0.3i,f,fdash,maxiter=10)

# Now find the three cube roots of unity:
g <- function(z){z^3-1}
gdash <- function(z){3*z^2}
newton_raphson(-0.5+1i,g,gdash,maxiter=10)
newton_raphson(-0.5-1i,g,gdash,maxiter=10)
newton_raphson(+0.5+0i,g,gdash,maxiter=10)
# }
Documentation reproduced from package elliptic, version 1.4-0, License: GPL-2

Community examples

Looks like there are no examples yet.