Broyden's method for root-finding for a vector-valued function of a vector variable

From Calculus
(Redirected from Broyden's method)

Definition

Suppose x1,x2,,xm are variables and F1,F2,,Fm are real-valued functions of these variables, each of which is jointly differentiable with respect to the variables on a given domain. We can define the vector-valued function F(x1,x2,,xm)=(F1(x1,x2,,xm),F2(x1,x2,,xm),,Fm(x1,x2,,xm)). If we wish, we can also treat the input variables as the coordinates of a vector x=(x1,x2,,xm). We therefore have a differentiable F:RmRm.

Broyden's method is a slight variant of Newton's method for root-finding for a vector-valued function of a vector variable. The main difference is that we do not compute the inverse of the Jacobian at each stage of the iteration. Instead, we compute it only once and use a rank one update at subsequent stages.

Iterative step

Recall that the iterative step for Newton's method is given by:

xn=xn1(J(F)(xn1))1F(xn1)

The idea behind Broyden's method is that, instead of computing (J(F)(xn1))1 globally each time, we compute it only the first time, and then update it each time using a rank one update. The idea is that the matrix Jn1 (our approximation for the Jacobian) should satisfy:

Jn1(xn1xn2)F(xn1)F(xn2)

However, the equation above is underdetermined -- there are many matrices that would satisfy the condition. So we try to find the matrix satisfying the condition for which the Frobenius norm |Jn1Jn2| is as small as possible. When we work out the mathematics, we get the formula:

Jn1=Jn2+ΔFn2Jn2Δxn1|Δxn2|2ΔxnT where

Δxn2=xn1xn2
ΔFn2=Fn1Fn2

Note that the update to the Jacobian is a rank-one update, i.e., Jn1Jn2 is a rank one matrix (arising as a Hadamard product of two vectors. Therefore, we can use the Sherman-Morrison formula to calculate the inverse of the matrix:

Jn11=Jn21+Δxn2Jn21ΔFn2Δxn1TJn21ΔFn2(Δxn2TJn21)

In words, we are updating the Jacobian along the direction of the line joining xn2 and xn1 while trying to change it as little as possible overall.

Extreme cases

In the case m=1, so that we are dealing with functions of one variable, Broyden's method reduces to the usual secant method. Explicitly, the formula becomes:

xn:=xn1f(xn1f(xn1)f(xn2)xn1xn2

This simplifies to the usual secant method formula.