Topic 10.7: Newton's Method in Higher Dimensions (HOWTO)

Contents Previous Chapter Start of Chapter Previous Topic Introduction Notes Theory HOWTO Examples Engineering Error Questions Matlab Maple No Next Topic Next Chapter

Problem

Given n functions, each of n variables (given by a vector x), fi(x), find a vector r (called a root) such that f(r) = 0.

We will write the n functions as a vector-valued function f(x).

Assumptions

We will assume that each of the functions fi(x) is continuous and has continuous partial derivatives.

Tools

We will use sampling, partial derivatives, iteration, and solving systems of linear equations. Information about the partial derivatives is derived from the model.

Initial Requirements

We have an initial approximation x0 of the root.

We have calculated the Jacobian J(f)(x).

Iteration Process

Given the approximation xn, we solve the system of linear equations defined by

J(f)(xn) Δxn = -f(xn)

for Δxn and then set:

xn + 1 = xn + Δxn

Halting Conditions

There are three conditions which may cause the iteration process to halt (where the norm used may be any of the 1, 2, or infinity norms):

  1. We halt if both of the following conditions are met:
    • The step between successive iterates is sufficiently small, ||xn + 1 - xn|| < εstep, and
    • The function evaluated at the point xn + 1 is sufficiently small, ||f(xn + 1)|| < εabs.
  2. If the Jacobian is indeterminate, that is, the determinant |J(f)(xn)| = 0, the iteration process fails and we halt.
  3. If we have iterated some maximum number of times, say N, and have not met Condition 1, we halt and indicate that a solution was not found.

If we halt due to Condition 1, we state that xn + 1 is our approximation to the root.

If we halt due to either Condition 2 or 3, we may either choose a different initial approximation x0, or state that a solution may not exist.

Copyright ©2005 by Douglas Wilhelm Harder. All rights reserved.