Broyden's method for root-finding for a vector-valued function of a vector variable
Definition
Suppose are variables and 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 . If we wish, we can also treat the input variables as the coordinates of a vector . We therefore have a differentiable .
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:
The idea behind Broyden's method is that, instead of computing 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 (our approximation for the Jacobian) should satisfy:
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 is as small as possible. When we work out the mathematics, we get the formula:
where
Note that the update to the Jacobian is a rank-one update, i.e., 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:
In words, we are updating the Jacobian along the direction of the line joining and while trying to change it as little as possible overall.
Extreme cases
In the case , so that we are dealing with functions of one variable, Broyden's method reduces to the usual secant method. Explicitly, the formula becomes:
This simplifies to the usual secant method formula.