PHYS 410/555 Computational Physics Solution of Non Linear Equations (a.k.a. Root Finding) (Reference Numerical Recipes, 9.0, 9.1, 9.

Similar documents
Solution of Algebric & Transcendental Equations

COURSE Iterative methods for solving linear systems

1. Method 1: bisection. The bisection methods starts from two points a 0 and b 0 such that

5. Hand in the entire exam booklet and your computer score sheet.

Numerical Methods I Solving Nonlinear Equations

Newton-Raphson. Relies on the Taylor expansion f(x + δ) = f(x) + δ f (x) + ½ δ 2 f (x) +..

Chapter 3: Root Finding. September 26, 2005

Integration, differentiation, and root finding. Phys 420/580 Lecture 7

Introduction - Motivation. Many phenomena (physical, chemical, biological, etc.) are model by differential equations. f f(x + h) f(x) (x) = lim

Numerical solutions of nonlinear systems of equations

CLASS NOTES Models, Algorithms and Data: Introduction to computing 2018

Nonlinear equations and optimization

Homework and Computer Problems for Math*2130 (W17).

LECTURE NOTES ELEMENTARY NUMERICAL METHODS. Eusebius Doedel

Finite Difference Methods for Boundary Value Problems


Root Finding (and Optimisation)

Numerical Analysis of Differential Equations Numerical Solution of Elliptic Boundary Value

Roots of equations, minimization, numerical integration

PART I Lecture Notes on Numerical Solution of Root Finding Problems MATH 435

Numerical Methods Lecture 3

Outline. 1 Boundary Value Problems. 2 Numerical Methods for BVPs. Boundary Value Problems Numerical Methods for BVPs

Math Numerical Analysis

Math and Numerical Methods Review

Unit 2: Solving Scalar Equations. Notes prepared by: Amos Ron, Yunpeng Li, Mark Cowlishaw, Steve Wright Instructor: Steve Wright

A nonlinear equation is any equation of the form. f(x) = 0. A nonlinear equation can have any number of solutions (finite, countable, uncountable)

Queens College, CUNY, Department of Computer Science Numerical Methods CSCI 361 / 761 Spring 2018 Instructor: Dr. Sateesh Mane.

Kasetsart University Workshop. Multigrid methods: An introduction

Verified Global Optimization with Taylor Model based Range Bounders

Lecture 5. September 4, 2018 Math/CS 471: Introduction to Scientific Computing University of New Mexico

Basic Aspects of Discretization

Quiescent Steady State (DC) Analysis The Newton-Raphson Method

Numerical Methods in Informatics

(One Dimension) Problem: for a function f(x), find x 0 such that f(x 0 ) = 0. f(x)

Today s class. Numerical differentiation Roots of equation Bracketing methods. Numerical Methods, Fall 2011 Lecture 4. Prof. Jinbo Bi CSE, UConn

Notes for CS542G (Iterative Solvers for Linear Systems)

Outline. Math Numerical Analysis. Intermediate Value Theorem. Lecture Notes Zeros and Roots. Joseph M. Mahaffy,

Solving Linear Systems of Equations

Applied Mathematics 205. Unit I: Data Fitting. Lecturer: Dr. David Knezevic

Matrix Derivatives and Descent Optimization Methods

Numerical Methods. King Saud University

Chapter 5 HIGH ACCURACY CUBIC SPLINE APPROXIMATION FOR TWO DIMENSIONAL QUASI-LINEAR ELLIPTIC BOUNDARY VALUE PROBLEMS

Virtual University of Pakistan

EAD 115. Numerical Solution of Engineering and Scientific Problems. David M. Rocke Department of Applied Science

1. Nonlinear Equations. This lecture note excerpted parts from Michael Heath and Max Gunzburger. f(x) = 0

Divergence Formulation of Source Term

SOLUTION OF ALGEBRAIC AND TRANSCENDENTAL EQUATIONS BISECTION METHOD

GENG2140, S2, 2012 Week 7: Curve fitting

QR Decomposition. When solving an overdetermined system by projection (or a least squares solution) often the following method is used:

cha1873x_p02.qxd 3/21/05 1:01 PM Page 104 PART TWO

Solutions to homework Assignment #6 Math 119B UC Davis, Spring 2012

Applied Numerical Analysis (AE2220-I) R. Klees and R.P. Dwight

CHAPTER 2: QUADRATIC PROGRAMMING

Zeroes of Transcendental and Polynomial Equations. Bisection method, Regula-falsi method and Newton-Raphson method

Numerical Solutions to Partial Differential Equations

HIGH ACCURACY NUMERICAL METHODS FOR THE SOLUTION OF NON-LINEAR BOUNDARY VALUE PROBLEMS

NONLINEAR EQUATIONS AND TAYLOR S THEOREM

An Overly Simplified and Brief Review of Differential Equation Solution Methods. 1. Some Common Exact Solution Methods for Differential Equations

Report due date. Please note: report has to be handed in by Monday, May 16 noon.

Scientific Computing: An Introductory Survey

Notes on Cellwise Data Interpolation for Visualization Xavier Tricoche

Numerical Analysis and Computing

The method of lines (MOL) for the diffusion equation

7 Mathematical Methods 7.6 Insulation (10 units)

Finite Elements for Nonlinear Problems

Numerical Methods in Physics and Astrophysics

Goals for This Lecture:

Chapter 4. Solution of Non-linear Equation. Module No. 1. Newton s Method to Solve Transcendental Equation

Taylor polynomials. 1. Introduction. 2. Linear approximation.

Review. Numerical Methods Lecture 22. Prof. Jinbo Bi CSE, UConn

Multidisciplinary System Design Optimization (MSDO)

Introduction to Boundary Value Problems

10.34: Numerical Methods Applied to Chemical Engineering. Lecture 7: Solutions of nonlinear equations Newton-Raphson method

Notes for Lecture 10

Lecture 5: Random numbers and Monte Carlo (Numerical Recipes, Chapter 7) Motivations for generating random numbers

Optimization and Calculus

Is the Hénon map chaotic

2007 Summer College on Plasma Physics

lecture 4: Constructing Finite Difference Formulas

Ordinary Differential Equations

The Riccati transformation method for linear two point boundary problems

III.A. ESTIMATIONS USING THE DERIVATIVE Draft Version 10/13/05 Martin Flashman 2005 III.A.2 NEWTON'S METHOD

Mathematics for Engineers. Numerical mathematics

you expect to encounter difficulties when trying to solve A x = b? 4. A composite quadrature rule has error associated with it in the following form

NONLINEAR DC ANALYSIS

x x2 2 + x3 3 x4 3. Use the divided-difference method to find a polynomial of least degree that fits the values shown: (b)

Numerical Methods in Physics and Astrophysics

Chapter 3 Higher Order Linear ODEs

x n+1 = x n f(x n) f (x n ), n 0.

AMSC/CMSC 466 Problem set 3

MULTIGRID METHODS FOR NONLINEAR PROBLEMS: AN OVERVIEW

CHAPTER 4 ROOTS OF EQUATIONS

Final year project. Methods for solving differential equations

MATH 350: Introduction to Computational Mathematics

Inverse Lax-Wendroff Procedure for Numerical Boundary Conditions of. Conservation Laws 1. Abstract

Simple Examples on Rectangular Domains

Iterative Methods and Multigrid

Data Analysis Question Sheet

Finite-Elements Method 2

Transcription:

PHYS 410/555 Computational Physics Solution of Non Linear Equations (a.k.a. Root Finding) (Reference Numerical Recipes, 9.0, 9.1, 9.4) We will consider two cases 1. f(x) = 0 1-dimensional 2. f(x) = 0 d-dimensional x [x 1, x 2,...,x d ] f [f 1 (x 1, x 2,..., x d ),...,f d (x 1, x 2,...,x d )] 1. Solving Nonlinear Equations in One Variable We have briefly discussed bisection (binary search), will consider one other technique: Newton s method (Newton-Raphson method). Preliminaries We want to find one or more roots of f(x) = 0 (1) We first note that any nonlinear equation in one unknown can be cast in this canonical form. 1

Definition: Given a canonical equation, f(x) = 0, the residual of the equation for a given x-value is simply the function f evaluated at that value. Iterative technique: Assume f(x) = 0 has a root at x = x ; then consider sequence of estimates (iterates) of x, x (n) x (0) x (1) x (2) x (n) x (n+1) x Associated with the x (n) are the corresponding residuals r (0) r (1) r (n) r (n+1) 0 f(x (0) ) f(x (1) ) f(x (n) ) f(x (n+1) ) f(x ) Locating a root Driving the residual to 0 Convergence: When we use an iterative technique, we have to decide when to stop the iteration. For root finding case, it is natural to stop when δx (n) x (n+1) x (n) ǫ (2) where ǫ is a prescribed convergence criterion. 2

A better idea is to use a relativized δx δx (n) x (n+1) ǫ (3) but we should switch over to absolute form (2) if x (n+1) becomes too small (examples in on-line code). Motivation: Small numbers often arise from unstable processes (numerically sensitive), e.g. f(x + h) f(x) as h 0, or from zero crossings in periodic solutions etc. in such cases may not be possible and/or sensible to achieve stringent relative convergence criterion 3

Newton s method Requires good initial guess, x (0) ; good depends on specific nonlinear equation being solved Refer to Numerical Recipes for more discussion; we will assume that we have a good x (0), and will discuss one general technique for determining good initial estimate later. First consider a rather circuitous way of solving the trivial equation ax = b f(x) = ax b = 0 (4) Clearly, f(x) = 0 has the root x = b a (5) 4

Consider, instead, starting with some initial guess, x (0), with residual r (0) f(x (0) ) ax (0) b (6) Then we can compute an improved estimate, x (1), which is actually the solution, x, via x (1) = x (0) δx (0) = x (0) r(0) f (x (0) ) = x(0) f(x(0) ) f (x (0) ) (7) Proof : x (1) = x (0) r(0) a = x(0) ax(0) b a = b a (8) 5

Graphically, we have f(x) (0) Slope = a = df/dx(x ) = Rise / Run (0) f(x ) ax b (0) (0) Rise = f(x ) = r (1) x = x* x (0) x Run = x (0) x (1) 6

Summary x (1) = x (0) δx (0) (9) where δx (0) satisfies f (x (0) )δx (0) = f(x (0) ) (10) or f (x (0) )δx (0) = r (0) (11) Equations (9-10) immediately generalize to non-linear f(x) and, in fact, are precisely Newton s method. 7

For a general nonlinear function, f(x), we have, graphically f(x) (0) (0) f(x ) = r (1) (1) f(x ) = r (2) (2) f(x ) = r x (3) x (2) x (1) x (0) x 8

Newton s method for f(x) = 0: Starting from some initial guess x (0), generate iterates x (n+1) via x (n+1) = x (n) δx (n) (12) f (x (n) )δx (n) = r (n) f(x (n) ) (13) or more compactly x (n+1) = x (n) f(x(n) ) f (x (n) ) (14) Convergence: When Newton s method converges, it does so rapidly; expect number of significant digits (accurate digits) in x (n) to roughly double at each iteration (quadratic convergence) 9

Example: Square Roots f(x) = x 2 a = 0 x = a (15) Application of (14) yields which we can write as x (n+1) = x (n) x(n)2 a 2x (n) ( = 2x(n)2 2x (n) = x(n)2 + a 2x (n) x (n)2 a ) x (n+1) = 1 2 ( x (n) + a ) x (n) (16) Try it manually, compute 2 = 1.414 2135 6237 using 12-digit arithmetic (hand calculator) Iterate Sig. Figs x (0) = 1.5 1 x (1) = 1 2 x (2) = 1 2 x (3) = 1 2 (1.5 + 2.0/1.5) = 1.416 6666 6667 3 (1.416 + 2.0/1.416 ) = 1.414 2156 8628 6 (1.4142 + 2.0/1.4142 ) = 1.414 2135 6238 11 10

Alternate Derivation of Newton s Method (Taylor series) Again, let x be a root of f(x) = 0, then 0 = f(x ) = f(x (n) ) + (x x (n) )f (x (n) ) + O((x x (n) ) 2 ) (17) Neglecting the higher order terms, we have 0 f(x (n) ) + (x x (n) )f (x (n) ) (18) Now, treating the last expression as an equation, and replacing x (n) with the new iterate, x (n+1), we obtain 0 = f(x (n) ) + (x (n+1) x (n) )f (x (n) ) (19) or as previously. x (n+1) = x (n) f(x(n) ) f (x (n) ) (20) 11

2. Newton s Method for Systems of Equations We now want to solve f(x) = 0 (21) where x = (x 1, x 2,..., x d ) (22) Example (d = 2): f = (f 1 (x), f 2 (x),...,f d (x)) (23) sin(xy) = 1 2 (24) In terms of our canonical notation, we have y 2 = 6x + 2 (25) x (x, y) (26) f (f 1 (x), f 2 (x)) (27) f 1 (x) = f 1 (x, y) = sin(xy) 1 2 (28) f 2 (x) = f 2 (x, y) = y 2 6x 2 (29) 12

The method is again iterative, we start with some initial guess, x (0), then generate iterates x (0) x (1) x (2) x (n) x (n+1) x where x is a solution of (21) Note: The task of determining a good initial estimate x (0) in the d-dimensional case is even more complicated than it is for the case of a single equation again we will assume that x (0) is a good initial guess, and that f(x) is sufficiently well-behaved that Newton s method will provide a solution (i.e. will converge). As we did with the scalar (1-d) case, with any estimate, x (n), we associate the residual vector, r (n), defined by r (n) f(x (n) ) (30) The analogue of f (x) in this case is the Jacobian matrix, J, of first derivatives. Specifically, J has elements J ij given by J ij = f i x j (31) 13

For our current example we have f 1 (x, y) = sin(xy) 1 2 f 2 (x, y) = y 2 6x 2 J = f 1 / x f 1 / y f 2 / x f 2 / y = y cos(xy) x cos(xy) 6 2y We can now derive the multi-dimensional Newton iteration, by considering a multivariate Taylor series expansion, paralleling what we did in the 1-d case: 0 = f(x ) = f(x (n) ) + J[x (n) ] (x x (n) ) + O((x x (n) ) 2 ) (32) where the notation J[x (n) ] means we evaluate the Jacobian matrix at x = x (n). Dropping higher order terms, and replacing x with x (n+1), we have 0 = f(x (n) ) + J[x (n) ](x (n+1) x (n) ) (33) 14

Defining δx (n) via δx (n) (x (n+1) x (n) ) (34) the d-dimensional Newton iteration is given by x (n+1) = x (n) δx (n) (35) where the update vector, δx (n), satisfies the d d linear system J[x (n) ] δx (n) = f(x (n) ) (36) Again note that the Jacobian matrix, J[x (n) ], has elements J ij [x (n) ] = f i x j x=x (n) (37) At each step of the Newton iteration, the linear system (36) can, of course, be solved using an appropriate linear solver (e.g. general, tridiagonal, or banded). 15

General Structure of a Multidimensional Newton Solver x: Solution vector res: Residual vector J: Jacobian matrix dx: Update vector x = x (0) do while dx 2 > ǫ do i = 1, neq res(i) = f i (x) do j = 1, neq J(i,j) = [ f i / x j ](x) end do end do dx = solve(j dx = res) x = x - dx end do 16

Finite Difference Example: Non-Linear BVP Consider the nonlinear two-point boundary value problem u(x) xx + (uu x ) 2 + sin(u) = F(x) (38) which is to be solved on the interval 0 x 1 (39) with the boundary conditions u(0) = u(1) = 0 (40) As we did for the case of the linear BVP, we will approximately solve this equation using O(h 2 ) finite difference techniques. As usual we introduce a uniform finite difference mesh: x j (j 1)h j = 1, 2, N h (N 1) 1 (41) 17

Then, using the standard O(h 2 ) approximations to the first and second derivatives u x (x j ) = u j+1 u j 1 2h + O(h 2 ) (42) u xx (x j ) = u j+1 2u j + u j 1 h 2 + O(h 2 ) (43) the discretized version of (38-40) is u j+1 2u j + u j 1 + (u h 2 j ) 2 u 2 j+1 u j 1 + sin(u j ) F j = 0 ; 2h j = 2... N 1 (44) u 1 = 0 (45) u N = 0 (46) Note that we have cast the discrete equations in the canonical form f(u) = 0 In order to apply Newton s method to the algebraic equations (45-46), we must compute the Jacobian matrix elements of the system. We first observe that due to the nearest-neighbor couplings of the unknowns u j via the approximations (42-43), the Jacobian matrix is tridiagonal in this case. 18

For the interior grid points, j = 2...N, corresponding to rows 2...N of the matrix, we have the following non-zero Jacobian elements: J j, j = 2 h 2 + 2u j u j+1 u j 1 2h 2 + cos(u j ) (47) J j, j 1 = 1 h 2 (u j) 2 u j+1 u j 1 2h 2 (48) J j, j+1 = 1 h 2 + (u j) 2 u j+1 u j 1 2h 2 (49) For the boundary points, j = 1 and j = N, corresponding to the first and last row, respectively, of J, we have and J 1,1 = 1 (50) J 1,2 = 0 (51) J N,N = 1 (52) J N,N 1 = 0 (53) 19

Note that these last expressions correspond to the trivial equations which have associated residuals f 1 = u 1 = 0 (54) f N = u N = 0 (55) r (n) 1 = u (n) 1 (56) r (n) N = u (n) N (57) Observe that if we initialize u (0) 1 = 0 and u (0) N automatically have δu (n) 1 = δu (n) N and u (n) N = 0 as desired. = 0, then we will = 0, which will yield u (n) 1 = 0 This is an example of the general procedure we have seen previously for imposing Dirichlet conditions; namely the conditions are implemented as trivial (linear) equations (but it is, of course, absolutely crucial to implement them properly in this fashion!) 20

Testing procedure: We adopt the same technique used for the linear BVP case we specify u(x), then compute the function F(x) that is required to satisfy (38); F(x) is then supplied as input to the code, and we ensure that as h 0 we observe second order convergence of the computed finite difference solution û(x) to the continuum solution u(x). Example: Taking u(x) = sin(4πx) sin(ωx) (58) then F(x) = u xx + (uu x ) 2 + sin(u) (59) = ω 2 sin(ωx) + ω 2 sin 2 (ωx) cos 2 (ωx) + sin(sin(ωx)) We note that due to the nonlinearity of the system, we will actually find multiple solutions, depending on how we initialize the Newton iteration; this is illustrated with the on-line code nlbvp1d. 21

3. Determining Good Initial Guesses: Continuation It is often the case that we will want to solve nonlinear equations of the form N(x; p) = 0 (60) where we have adopted the notation N( ) to emphasize that we are dealing with a nonlinear system. Here x = (x 1, x 2... x d ) is, as previously, a vector of unknowns, with x = x a solution of (60). The quantity p in (60) is another vector, of length m, which enumerates any additional parameters (generally adjustable) that enter into the problem; these could include: coupling constants, rate constants, perturbation amplitudes etc. The nonlinearity of any particular system of the form (60) may make it very difficult to compute x without a good initial estimate x (0) ; in such cases, the technique of continuation often provides the means to generate such an estimate. 22

Continuation: The basic idea underlying continuation is to sneak up on the solution by introducing an additional parameter, ǫ (the continuation parameter), so that by continuously varying ǫ from 0 to 1 (by convention), we vary from: 1. A problem that we know how to solve, or for which we already have a solution. to 2. The problem of interest. 23

Schematically we can sketch the following picture: "Solution space" x = 1 x ε = 1 x 0 ε = 0 Note that we thus consider a family of problems N ǫ (x; p) = 0 (61) with corresponding solutions x ǫ = x ǫ (62) 24

The efficacy of continuation generally depends on two crucial points: 1. N 0 (x; p) has a known or easily calculable root at x 0. 2. Can often choose ǫ judiciously (i.e. sufficiently small) so that x ǫ ǫ is a good enough initial estimate for N ǫ (x; p) = 0 25

Again, schematically, we have ε = 1 ε = 0 where we note that we may have to adjust (adapt) ǫ as the continuation proceeds. 26

Continuation: Summary and Comments Solve sequence of problems with ǫ = 0, ǫ 2, ǫ 3... 1 using previous solution as initial estimate for each ǫ 0. Will generally have to tailor idea on a case-by-case basis. Can often identify ǫ with one of the p i (intrinsic problem parameters) per se. The first problem, N 0 (x, p) = 0, can frequently be chosen to be linear, and therefore easy to solve, modulo sensitivity/poor conditioning. For time-dependent problems, time evolution often provides natural continuation; ǫ t, and we can use x (t t) as the initial estimate x (0) (t). 27