Algorithm Search⌘K

Proofs: Chebyshev iteration

These are the human proofs of Chebyshev iteration, at full length.

Cost of Chebyshev iteration full

This proof shows: time.worst, space.extra, matvecs.worst, flops.per_step.

Per step. L5 is one matvec, at most 2z2 z flops. L6 and L7 are vector additions, nn flops each. L8 is O(1)O(1). L9 computes c1d+c2rc_1 d + c_2 r: 3n3 n flops (2n2 n multiplications, nn additions). The squared norm in L4 costs 2n−12 n - 1 flops. Total 2z+7n+O(1)2 z + 7 n + O(1) flops.

Number of steps. By the corollary of the correctness proof, for symmetric AA with spectrum in [λmin⁡,λmax⁡][\lambda_{\min}, \lambda_{\max}], after k=⌈(κ/2)ln⁡(2/ε)⌉k = \lceil (\sqrt\kappa/2) \ln(2/\varepsilon) \rceil steps ∥rk∥2≤ε∥r0∥2\|r_k\|_2 \le \varepsilon \|r_0\|_2, so with tol⋅∥b∥2=ε∥r0∥2\mathrm{tol} \cdot \|b\|_2 = \varepsilon \|r_0\|_2 the L4 test succeeds at the latest at that kk. Each step is one matvec, so the matvec count is at most ⌈(κ/2)ln⁡(2/ε)⌉\lceil (\sqrt\kappa/2) \ln(2/\varepsilon) \rceil (plus one for r0r_0), and the time is O((z+n)κln⁡(2/ε))=O(zκln⁡(2/ε))O((z + n) \sqrt\kappa \ln(2/\varepsilon)) = O(z \sqrt\kappa \ln(2/\varepsilon)) when every row has a nonzero (z≥nz \ge n).

Space. The vectors x,r,d,wx, r, d, w of length nn and O(1)O(1) scalars: Θ(n)\Theta(n). ■\blacksquare

The Chebyshev iteration computes the min-max polynomial and converges at rate q full

This proof shows: correctness, termination.

Notation of the page; 0<λmin⁡<λmax⁡0 < \lambda_{\min} < \lambda_{\max} (the case δ=0\delta = 0 is Richardson iteration with ω=1/θ\omega = 1/\theta, for which ek+1=(I−A/θ)eke_{k+1} = (I - A/\theta) e_k). Let s(λ)=(θ−λ)/δs(\lambda) = (\theta - \lambda)/\delta, which maps [λmin⁡,λmax⁡][\lambda_{\min}, \lambda_{\max}] onto [−1,1][-1, 1] and 00 to σ1>1\sigma_1 > 1. Define τk=Tk(σ1)≥1\tau_k = T_k(\sigma_1) \ge 1 and pk(λ)=Tk(s(λ))/τkp_k(\lambda) = T_k(s(\lambda)) / \tau_k, so pk(0)=1p_k(0) = 1.

Lemma 1 (the scalars). The values ρk\rho_k of L1 and L8 satisfy ρk=τk/τk+1\rho_k = \tau_k / \tau_{k+1}.

Proof. ρ0=1/σ1=τ0/τ1\rho_0 = 1/\sigma_1 = \tau_0/\tau_1. The recurrence τk+1=2σ1τk−τk−1\tau_{k+1} = 2 \sigma_1 \tau_k - \tau_{k-1} gives τk/τk+1=1/(2σ1−τk−1/τk)=1/(2σ1−ρk−1)\tau_k/\tau_{k+1} = 1/(2\sigma_1 - \tau_{k-1}/\tau_k) = 1/(2\sigma_1 - \rho_{k-1}), which is L8. □\square

Lemma 2 (polynomial recurrence). For k≥1k \ge 1,

pk+1(λ)=2ρks(λ)pk(λ)−ρkρk−1pk−1(λ).p_{k+1}(\lambda) = 2 \rho_k s(\lambda) p_k(\lambda) - \rho_k \rho_{k-1} p_{k-1}(\lambda).

Proof. Divide Tk+1(s)=2sTk(s)−Tk−1(s)T_{k+1}(s) = 2 s T_k(s) - T_{k-1}(s) by τk+1\tau_{k+1} and use τk/τk+1=ρk\tau_k/\tau_{k+1} = \rho_k and τk−1/τk+1=ρk−1ρk\tau_{k-1}/\tau_{k+1} = \rho_{k-1}\rho_k. □\square

Theorem 1 (polynomial form). In exact arithmetic, for every kk reached, ek=pk(A)e0e_k = p_k(A) e_0, rk=Aekr_k = A e_k, and dk=ek−ek+1d_k = e_k - e_{k+1}.

Proof. L6 and L7 give xk+1=xk+dkx_{k+1} = x_k + d_k and rk+1=rk−Adkr_{k+1} = r_k - A d_k, so rk=b−Axkr_k = b - A x_k for all kk by induction (true at k=0k = 0 by L2), i.e. rk=Aekr_k = A e_k, and ek+1=ek−dke_{k+1} = e_k - d_k. It remains to show ek=pk(A)e0e_k = p_k(A) e_0.

k=0k = 0: p0=1p_0 = 1. k=1k = 1: d0=r0/θ=Ae0/θd_0 = r_0/\theta = A e_0/\theta, so e1=(I−A/θ)e0e_1 = (I - A/\theta) e_0, and p1(λ)=s(λ)/σ1=(θ−λ)/θ=1−λ/θp_1(\lambda) = s(\lambda)/\sigma_1 = (\theta - \lambda)/\theta = 1 - \lambda/\theta.

Step: by L9, dk=ρkρk−1dk−1+(2ρk/δ)rkd_k = \rho_k \rho_{k-1} d_{k-1} + (2\rho_k/\delta) r_k for k≥1k \ge 1 (with the ρ\rho indices of Lemma 1). So

ek+1=ek−ρkρk−1(ek−1−ek)−2ρkδAek=(1+ρkρk−1)ek−2ρkδAek−ρkρk−1ek−1.e_{k+1} = e_k - \rho_k \rho_{k-1} (e_{k-1} - e_k) - \frac{2\rho_k}{\delta} A e_k = (1 + \rho_k\rho_{k-1}) e_k - \frac{2\rho_k}{\delta} A e_k - \rho_k\rho_{k-1} e_{k-1}.

From τk+1=2σ1τk−τk−1\tau_{k+1} = 2\sigma_1\tau_k - \tau_{k-1}, 1=2σ1ρk−ρkρk−11 = 2\sigma_1\rho_k - \rho_k\rho_{k-1}, so 1+ρkρk−1=2ρkσ11 + \rho_k\rho_{k-1} = 2 \rho_k \sigma_1, and 2ρkσ1I−(2ρk/δ)A=2ρks(A)2\rho_k\sigma_1 I - (2\rho_k/\delta) A = 2\rho_k s(A). Hence ek+1=2ρks(A)ek−ρkρk−1ek−1e_{k+1} = 2\rho_k s(A) e_k - \rho_k\rho_{k-1} e_{k-1}, which by the induction hypothesis and Lemma 2 is pk+1(A)e0p_{k+1}(A) e_0. □\square

Theorem 2 (min-max property). For any real polynomial pp of degree ≤k\le k with p(0)=1p(0) = 1, max⁡[λmin⁡,λmax⁡]∣p∣≥1/τk=max⁡[λmin⁡,λmax⁡]∣pk∣\max_{[\lambda_{\min}, \lambda_{\max}]} |p| \ge 1/\tau_k = \max_{[\lambda_{\min}, \lambda_{\max}]} |p_k|.

Proof. ∣Tk∣≤1|T_k| \le 1 on [−1,1][-1, 1] with equality at the k+1k + 1 points sj=cos⁡(jπ/k)s_j = \cos(j\pi/k), where Tk(sj)=(−1)jT_k(s_j) = (-1)^j; so max⁡∣pk∣=1/τk\max |p_k| = 1/\tau_k, attained with alternating signs at λj=θ−δsj\lambda_j = \theta - \delta s_j. Suppose max⁡∣p∣<1/τk\max |p| < 1/\tau_k. Then q=pk−pq = p_k - p has degree ≤k\le k, q(0)=0q(0) = 0, and q(λj)q(\lambda_j) has the sign of (−1)j(-1)^j for j=0,…,kj = 0, \dots, k, so qq has at least kk roots in the interval, plus the root 00 outside it: k+1k + 1 roots, so q=0q = 0, a contradiction. □\square

Theorem 3 (error bound). If AA is symmetric with eigenvalues in [λmin⁡,λmax⁡][\lambda_{\min}, \lambda_{\max}], then ∥ek∥2≤∥e0∥2/τk≤2qk∥e0∥2\|e_k\|_2 \le \|e_0\|_2 / \tau_k \le 2 q^k \|e_0\|_2, and the same holds for rkr_k and in the AA-norm.

Proof. With A=QΛQTA = Q \Lambda Q^T, ∥pk(A)∥2=max⁡i∣pk(λi)∣≤1/τk\|p_k(A)\|_2 = \max_i |p_k(\lambda_i)| \le 1/\tau_k; pk(A)p_k(A) commutes with AA and A1/2A^{1/2}, giving the residual and AA-norm versions. For σ>1\sigma > 1, Tk(σ)=12(wk+w−k)T_k(\sigma) = \frac{1}{2}(w^k + w^{-k}) with w=σ+σ2−1w = \sigma + \sqrt{\sigma^2 - 1}. For σ=σ1=(κ+1)/(κ−1)\sigma = \sigma_1 = (\kappa + 1)/(\kappa - 1), σ12−1=2κ/(κ−1)\sqrt{\sigma_1^2 - 1} = 2\sqrt\kappa/(\kappa - 1), so w=(κ+1)2/(κ−1)=(κ+1)/(κ−1)=1/qw = (\sqrt\kappa + 1)^2/(\kappa - 1) = (\sqrt\kappa + 1)/(\sqrt\kappa - 1) = 1/q. Hence τk≥12q−k\tau_k \ge \frac{1}{2} q^{-k}. □\square

Corollary (step count). 2qk≤ε2 q^k \le \varepsilon when k≥ln⁡(2/ε)/ln⁡(1/q)k \ge \ln(2/\varepsilon)/\ln(1/q). Since ln⁡(1/q)=ln⁡1+1/κ1−1/κ≥2/κ\ln(1/q) = \ln\frac{1 + 1/\sqrt\kappa}{1 - 1/\sqrt\kappa} \ge 2/\sqrt\kappa, k=⌈(κ/2)ln⁡(2/ε)⌉k = \lceil (\sqrt\kappa/2) \ln(2/\varepsilon) \rceil suffices.

Theorem 4 (termination). The loop L3 runs at most kmax+1\mathrm{kmax} + 1 times and each pass either returns or finishes, so the code returns. ■\blacksquare

Back to Chebyshev iteration