Algorithm Search⌘K

Proofs: Hager's condition estimator

These are the human proofs of Hager's condition estimator, at full length.

Cost of Hager's estimator full

This proof shows: time.worst, space.extra, products.worst, flops.worst.

Products. Higham's form runs at most tt iterations, each with at most one product by BB (line L3) and one by BTB^T (line L6), and line L10 adds one product by BB. So at most 2t+12 t + 1 products.

Flops per product with LU factors. Bx=U−1(L−1(Px))B x = U^{-1}(L^{-1}(P x)): the permutation costs no flops, the unit lower triangular solve n(n−1)n(n - 1) flops and the upper triangular solve n2n^2 flops, so 2n2−n2 n^2 - n. The transposed product BTx=PTL−TU−TxB^T x = P^T L^{-T} U^{-T} x costs the same. So the products cost at most (2t+1)(2n2−n)≤4tn2+2n2(2 t + 1)(2 n^2 - n) \le 4 t n^2 + 2 n^2 flops.

Other work. Per iteration, ∥y∥1\|y\|_1, sign⁡(y)\operatorname{sign}(y), the comparison of sign vectors, the index jj and zTxz^T x take O(n)O(n) operations, and line L10 forms bb and its norm in O(n)O(n). That is O(tn)O(t n) in total. Hence 4tn2+2n2+O(tn)4 t n^2 + 2 n^2 + O(t n) flops and O(tn2)O(t n^2) time.

Space. The vectors xx, yy, the current and previous ξ\xi, zz and bb are each of length nn: Θ(n)\Theta(n) besides the factors. ■\blacksquare

Correctness of Hager's estimator full

This proof shows: correctness, termination.

Exact arithmetic. f(x)=∥Bx∥1f(x) = \|B x\|_1, sign⁡(0)=1\operatorname{sign}(0) = 1, and for a point xx with y=Bxy = B x, ξ=sign⁡(y)\xi = \operatorname{sign}(y) and z=BTξz = B^T \xi.

Lemma 1 (subgradient). For every ww, f(w)≥zTwf(w) \ge z^T w, and f(x)=zTxf(x) = z^T x.

Proof. ∣ξi∣=1|\xi_i| = 1, so f(w)=∑i∣(Bw)i∣≥∑iξi(Bw)i=ξTBw=zTwf(w) = \sum_i |(B w)_i| \ge \sum_i \xi_i (B w)_i = \xi^T B w = z^T w. At w=xw = x, ξiyi=∣yi∣\xi_i y_i = |y_i|, so equality holds. □\square

Theorem 2 (lower bound). Every value assigned to γ\gamma equals ∥Bv∥1/∥v∥1\|B v\|_1 / \|v\|_1 for some v≠0v \ne 0, hence γ≤∥B∥1\gamma \le \|B\|_1.

Proof. The vectors xx used in line L3 are e/ne/n and eje_j, of 1-norm 11, so γ=∥Bx∥1\gamma = \|B x\|_1 is of this form. In line L10, ∥b∥1=∑i=0n−1(1+i/(n−1))=n+n/2=3n/2\|b\|_1 = \sum_{i=0}^{n-1}(1 + i/(n - 1)) = n + n/2 = 3n/2, so 2∥Bb∥1/(3n)=∥Bb∥1/∥b∥12\|B b\|_1/(3n) = \|B b\|_1 / \|b\|_1. Finally ∥Bv∥1≤∥B∥1∥v∥1\|B v\|_1 \le \|B\|_1 \|v\|_1. □\square

Lemma 3 (the maximum is at a vertex). max⁡∥w∥1≤1f(w)=max⁡jf(ej)=∥B∥1\max_{\|w\|_1 \le 1} f(w) = \max_j f(e_j) = \|B\|_1.

Proof. ff is convex (a norm composed with a linear map), and every ww with ∥w∥1≤1\|w\|_1 \le 1 is a convex combination of the points ±ej\pm e_j (and 00): w=∑j∣wj∣sign⁡(wj)ej+(1−∥w∥1)⋅0w = \sum_j |w_j| \operatorname{sign}(w_j) e_j + (1 - \|w\|_1) \cdot 0. So f(w)≤max⁡jf(±ej)=max⁡j∥Bej∥1f(w) \le \max_j f(\pm e_j) = \max_j \|B e_j\|_1, the largest column sum. □\square

Theorem 4 (strict ascent). If ∥z∥∞>zTx\|z\|_\infty > z^T x and jj is chosen in line L7, then f(ej)>f(x)f(e_j) > f(x).

Proof. By Lemma 1 with w=sign⁡(zj)ejw = \operatorname{sign}(z_j) e_j, f(ej)=f(w)≥∣zj∣=∥z∥∞>zTx=f(x)f(e_j) = f(w) \ge |z_j| = \|z\|_\infty > z^T x = f(x). □\square

Theorem 5 (local maximum, Hager). If ∥z∥∞≤zTx\|z\|_\infty \le z^T x, ∥x∥1=1\|x\|_1 = 1, and y=Bxy = B x has no zero entry, then there is a neighbourhood NN of xx such that f(w)≤f(x)f(w) \le f(x) for all w∈Nw \in N with ∥w∥1≤1\|w\|_1 \le 1.

Proof. By continuity there is a neighbourhood NN on which sign⁡(Bw)=ξ\operatorname{sign}(B w) = \xi, and there f(w)=ξTBw=zTw≤∥z∥∞∥w∥1≤∥z∥∞≤zTx=f(x)f(w) = \xi^T B w = z^T w \le \|z\|_\infty \|w\|_1 \le \|z\|_\infty \le z^T x = f(x). □\square

Theorem 6 (termination). Hager's form stops after at most n+1n + 1 iterations, and Higham's after at most tt.

Proof. Higham's loop has the explicit bound tt. In Hager's form, from the second iteration on xx is some eje_j. If the test of line L8 fails at iteration kk, Theorem 4 gives f(xk+1)>f(xk)f(x_{k+1}) > f(x_k), so the values f(x2)<f(x3)<⋯f(x_2) < f(x_3) < \cdots are strictly increasing and the vertices x2,x3,…x_2, x_3, \ldots are distinct. There are nn unit vectors, so at most nn iterations follow the first. □\square

Remark (failure of the stopping test at the start). For B=I−(1−δ)eeT/nB = I - (1 - \delta) e e^T/n with 0<δ<10 < \delta < 1, Be=δeB e = \delta e, so with x=e/nx = e/n, y=δe/ny = \delta e/n, ξ=e\xi = e, z=BTe=δez = B^T e = \delta e and ∥z∥∞=δ=zTx\|z\|_\infty = \delta = z^T x. Hager's form stops with γ=δ\gamma = \delta, while ∥B∥1=1−(1−δ)/n+(n−1)(1−δ)/n≥2(n−1)(1−δ)/n\|B\|_1 = 1 - (1 - \delta)/n + (n - 1)(1 - \delta)/n \ge 2(n-1)(1 - \delta)/n. So no positive lower bound on γ/∥B∥1\gamma / \|B\|_1 holds. ■\blacksquare

Back to Hager's condition estimator