Algorithm Search⌘K

Proofs: Broyden's method

These are the human proofs of Broyden's method, at full length.

Correctness of Broyden's method full

This proof shows: correctness, termination, convergence-rate.

Throughout, ∥⋅∥\|\cdot\| is the Euclidean norm on Rn\mathbb{R}^n and the induced matrix norm, ∥⋅∥F\|\cdot\|_F the Frobenius norm, J∗=J(x∗)J_* = J(x^*), β=∥J∗−1∥\beta = \|J_*^{-1}\|, Ek=Bk−J∗E_k = B_k - J_*, sk=xk+1−xks_k = x_{k+1} - x_k and ek=xk−x∗e_k = x_k - x^*. Statements are in exact arithmetic. The implementation's step test uses the max-norm, which is equivalent and does not affect any statement below.

Hypotheses (H). FF is continuously differentiable on an open convex set DD containing x∗x^*, F(x∗)=0F(x^*) = 0, J∗J_* is nonsingular, and ∥J(x)−J(z)∥≤γ∥x−z∥\|J(x) - J(z)\| \le \gamma\|x - z\| on DD.

Termination

Each pass of the loop L2 returns at L3, L4 or L8, or increases kk; after KK passes L9 returns. The run uses at most K+1K + 1 evaluations of FF, plus nn for a difference Jacobian.

Lemma 1 (least change secant update)

Bk+1B_{k+1} satisfies Bk+1sk=ykB_{k+1}s_k = y_k and Bk+1z=BkzB_{k+1}z = B_kz for z⊥skz \perp s_k. Among all matrices BB with Bsk=ykBs_k = y_k it minimizes ∥B−Bk∥F\|B - B_k\|_F.

Proof. The first two facts are immediate from Bk+1−Bk=(yk−Bksk)skT/(skTsk)B_{k+1} - B_k = (y_k - B_ks_k)s_k^T/(s_k^Ts_k). If Bsk=ykBs_k = y_k, then (Bk+1−Bk)=(B−Bk)P(B_{k+1} - B_k) = (B - B_k)P with P=skskT/(skTsk)P = s_ks_k^T/(s_k^Ts_k), and ∥(B−Bk)P∥F≤∥B−Bk∥F∥P∥=∥B−Bk∥F\|(B - B_k)P\|_F \le \|B - B_k\|_F\|P\| = \|B - B_k\|_F, since PP is an orthogonal projection. □\square

Lemma 2 (bounded deterioration)

Under (H), if the segment [xk,xk+1][x_k, x_{k+1}] lies in DD, then with Pk=skskT/(skTsk)P_k = s_ks_k^T/(s_k^Ts_k) and ηk=(∥ek∥+∥ek+1∥)/2\eta_k = (\|e_k\| + \|e_{k+1}\|)/2,

Ek+1=Ek(I−Pk)+(Aˉk−J∗)Pk,Aˉk=∫01J(xk+tsk) dt,∥Aˉk−J∗∥≤γηk,E_{k+1} = E_k(I - P_k) + (\bar A_k - J_*)P_k, \qquad \bar A_k = \int_0^1 J(x_k + ts_k)\,dt, \qquad \|\bar A_k - J_*\| \le \gamma\eta_k,

and therefore ∥Ek+1∥F≤∥Ek∥F+γηk\|E_{k+1}\|_F \le \|E_k\|_F + \gamma\eta_k.

Proof. By the fundamental theorem of calculus yk=Aˉksky_k = \bar A_ks_k, so yk−Bksk=(Aˉk−Bk)sky_k - B_ks_k = (\bar A_k - B_k)s_k and Bk+1=Bk+(Aˉk−Bk)PkB_{k+1} = B_k + (\bar A_k - B_k)P_k. Subtracting J∗J_* gives the formula. Since xk+tsk−x∗=(1−t)ek+tek+1x_k + ts_k - x^* = (1 - t)e_k + te_{k+1}, the Lipschitz condition gives ∥Aˉk−J∗∥≤γ∫01((1−t)∥ek∥+t∥ek+1∥) dt=γηk\|\bar A_k - J_*\| \le \gamma\int_0^1 ((1 - t)\|e_k\| + t\|e_{k+1}\|)\,dt = \gamma\eta_k. Finally ∥Ek(I−Pk)∥F≤∥Ek∥F\|E_k(I - P_k)\|_F \le \|E_k\|_F and ∥MPk∥F=∥Msk∥/∥sk∥≤∥M∥\|MP_k\|_F = \|Ms_k\|/\|s_k\| \le \|M\| for any MM. □\square

Theorem 1 (local linear convergence)

Assume (H) and let η≤1/(12β)\eta \le 1/(12\beta) and ε>0\varepsilon > 0 satisfy γε≤1/(3β)\gamma\varepsilon \le 1/(3\beta), ε≤2η/(3γ)\varepsilon \le 2\eta/(3\gamma), and the ball {∥x−x∗∥≤ε}\{\|x - x^*\| \le \varepsilon\} lies in DD. If ∥e0∥≤ε\|e_0\| \le \varepsilon and ∥E0∥F≤η\|E_0\|_F \le \eta, then for every kk: BkB_k is nonsingular with ∥Bk−1∥≤3β/2\|B_k^{-1}\| \le 3\beta/2, ∥Ek∥F≤2η\|E_k\|_F \le 2\eta, and ∥ek+1∥≤12∥ek∥\|e_{k+1}\| \le \frac12\|e_k\|.

Proof. Induction on kk, with the hypothesis that ∥Ek∥F≤2η\|E_k\|_F \le 2\eta and ∥ej∥≤2−jε\|e_j\| \le 2^{-j}\varepsilon for j≤kj \le k. Then ∥J∗−1Ek∥≤2βη≤1/6\|J_*^{-1}E_k\| \le 2\beta\eta \le 1/6, so by the Banach perturbation lemma Bk=J∗(I+J∗−1Ek)B_k = J_*(I + J_*^{-1}E_k) is nonsingular with ∥Bk−1∥≤β/(1−1/6)≤3β/2\|B_k^{-1}\| \le \beta/(1 - 1/6) \le 3\beta/2. Next,

ek+1=ek−Bk−1F(xk)=Bk−1(Ekek−(F(xk)−F(x∗)−J∗ek)),e_{k+1} = e_k - B_k^{-1}F(x_k) = B_k^{-1}\bigl(E_ke_k - (F(x_k) - F(x^*) - J_*e_k)\bigr),

and ∥F(xk)−F(x∗)−J∗ek∥≤γ2∥ek∥2\|F(x_k) - F(x^*) - J_*e_k\| \le \frac{\gamma}{2}\|e_k\|^2 by the Lipschitz condition. Hence

∥ek+1∥≤3β2(2η+γ2ε)∥ek∥≤(14+14)∥ek∥=12∥ek∥,\|e_{k+1}\| \le \tfrac{3\beta}{2}\bigl(2\eta + \tfrac{\gamma}{2}\varepsilon\bigr)\|e_k\| \le \bigl(\tfrac14 + \tfrac14\bigr)\|e_k\| = \tfrac12\|e_k\|,

using 3βη≤1/43\beta\eta \le 1/4 and 34βγε≤1/4\frac34\beta\gamma\varepsilon \le 1/4. The ball is convex, so the segment [xk,xk+1][x_k, x_{k+1}] lies in it, and Lemma 2 applies to every step so far:

∥Ek+1∥F≤∥E0∥F+γ∑j=0kηj≤η+γ2∑j≥0(2−j+2−j−1)ε=η+3γε2≤2η.\|E_{k+1}\|_F \le \|E_0\|_F + \gamma\sum_{j=0}^{k}\eta_j \le \eta + \frac{\gamma}{2}\sum_{j \ge 0}\bigl(2^{-j} + 2^{-j-1}\bigr)\varepsilon = \eta + \frac{3\gamma\varepsilon}{2} \le 2\eta.

This completes the induction. □\square

Theorem 2 (superlinear convergence)

Under the hypotheses of Theorem 1, if no eke_k is 00, then ∥ek+1∥/∥ek∥→0\|e_{k+1}\|/\|e_k\| \to 0.

Proof. Let θk=∥Eksk∥/∥sk∥\theta_k = \|E_ks_k\|/\|s_k\|. Because PkP_k is an orthogonal projection, ∥Ek(I−Pk)∥F2=∥Ek∥F2−∥EkPk∥F2=∥Ek∥F2−θk2\|E_k(I - P_k)\|_F^2 = \|E_k\|_F^2 - \|E_kP_k\|_F^2 = \|E_k\|_F^2 - \theta_k^2. With Lemma 2,

∥Ek+1∥F≤∥Ek∥F2−θk2+γηk≤∥Ek∥F−θk22∥Ek∥F+γηk\|E_{k+1}\|_F \le \sqrt{\|E_k\|_F^2 - \theta_k^2} + \gamma\eta_k \le \|E_k\|_F - \frac{\theta_k^2}{2\|E_k\|_F} + \gamma\eta_k

when Ek≠0E_k \ne 0 (when Ek=0E_k = 0, θk=0\theta_k = 0). Since ∥Ek∥F≤2η\|E_k\|_F \le 2\eta, this gives θk2≤4η(∥Ek∥F−∥Ek+1∥F+γηk)\theta_k^2 \le 4\eta(\|E_k\|_F - \|E_{k+1}\|_F + \gamma\eta_k). Summing over kk, the first two terms telescope and ∑kηk≤3ε/2\sum_k\eta_k \le 3\varepsilon/2, so ∑kθk2≤4η(η+3γε/2)<∞\sum_k\theta_k^2 \le 4\eta(\eta + 3\gamma\varepsilon/2) < \infty and θk→0\theta_k \to 0.

Now F(xk+1)=F(xk)+AˉkskF(x_{k+1}) = F(x_k) + \bar A_ks_k and Bksk=−F(xk)B_ks_k = -F(x_k), so F(xk+1)=(Aˉk−Bk)sk=(Aˉk−J∗)sk−EkskF(x_{k+1}) = (\bar A_k - B_k)s_k = (\bar A_k - J_*)s_k - E_ks_k and

∥F(xk+1)∥≤(γηk+θk)∥sk∥.\|F(x_{k+1})\| \le (\gamma\eta_k + \theta_k)\|s_k\|.

On the other hand F(xk+1)=J∗ek+1+rF(x_{k+1}) = J_*e_{k+1} + r with ∥r∥≤γ2∥ek+1∥2\|r\| \le \frac{\gamma}{2}\|e_{k+1}\|^2, so ∥F(xk+1)∥≥∥ek+1∥(1/β−γε/2)≥∥ek+1∥/(2β)\|F(x_{k+1})\| \ge \|e_{k+1}\|(1/\beta - \gamma\varepsilon/2) \ge \|e_{k+1}\|/(2\beta). Also ∥sk∥≤∥ek∥+∥ek+1∥≤2∥ek∥\|s_k\| \le \|e_k\| + \|e_{k+1}\| \le 2\|e_k\|. Together,

∥ek+1∥∥ek∥≤4β(γηk+θk)→0.□\frac{\|e_{k+1}\|}{\|e_k\|} \le 4\beta(\gamma\eta_k + \theta_k) \to 0. \qquad \square

The same computation shows ∥sk∥/∥ek∥→1\|s_k\|/\|e_k\| \to 1, since sk=ek+1−eks_k = e_{k+1} - e_k. So near the root the step test at L8 measures the error up to a factor tending to 1, which justifies it locally. If some F(xk)=0F(x_k) = 0, the method stops there with status "exact", which is correct.

Remarks on what is not proved here

The order is not 2, and BkB_k need not converge to J∗J_*; neither is needed above. Gay's results (finite termination in 2n2n steps on affine problems, 2n2n-step quadratic convergence) are cited, not proved, on the page; the tests check the first in exact rational arithmetic on small cases. Nothing is claimed for starts outside the ball of Theorem 1, and the effect of rounding on the update when sks_k is tiny is described on the page as observed behaviour.

Back to Broyden's method