--- title: "Newton's Method Can Fail" author: "Luke Tierney" output: html_document --- The function $$f(x) = \frac{1}{2} \log(x^2+1) + x \arctan(x)$$ is convex with a minimum at $x = 0$: {r} f <- function(x) 1/2 * log(1 + x^2) + x * atan(x) x <- seq(-5, 5, len = 101) plot(x, f(x), type = "l")  The first derivative is $$f'(x) = d_1(x) = \arctan(x)$$ {r} d1 <- atan plot(x, d1(x), type = "l")  The second derivative is $$f''(x) = d_2(x) = \frac{1}{1 + x^2}$$ {r} d2 <- function(x) 1 / (1 + x^2) plot(x, d2(x), type = "l")  A single Newton step is taken by {r} ns <- function(x) x - d1(x) / d2(x)  A set of n steps is returned by {r} run <- function(x, step, n = 10) { v <- matrix(0, nrow = n, ncol = length(x)) for (i in seq_len(n)) { x <- step(x) v[i, ] <- x } v }  For a starting point close enough to zero convergence is very fast: {r} run(1.3, ns)  Start a little too far away: {r} run(1.4, ns)  This plot shows the range of convergence: {r} plot(x, ns(x), type = "l", xlim = c(-2, 2), ylim = c(-5, 5)) lines(x, -x, lty = 2)