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 2z flops. L6 and L7 are vector additions, n flops each. L8 is O(1). L9 computes c1d+c2r: 3n flops (2n multiplications, n additions). The squared norm in L4 costs 2n−1 flops. Total 2z+7n+O(1) flops.
Number of steps. By the corollary of the correctness proof, for symmetric A with spectrum in [λmin,λmax], after k=⌈(κ/2)ln(2/ε)⌉ steps ∥rk∥2≤ε∥r0∥2, so with tol⋅∥b∥2=ε∥r0∥2 the L4 test succeeds at the latest at that k. Each step is one matvec, so the matvec count is at most ⌈(κ/2)ln(2/ε)⌉ (plus one for r0), and the time is O((z+n)κln(2/ε))=O(zκln(2/ε)) when every row has a nonzero (z≥n).
Space. The vectors x,r,d,w of length n and O(1) scalars: Θ(n). ■
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 (the case δ=0 is Richardson iteration with ω=1/θ, for which ek+1=(I−A/θ)ek). Let s(λ)=(θ−λ)/δ, which maps [λmin,λmax] onto [−1,1] and 0 to σ1>1. Define τk=Tk(σ1)≥1 and pk(λ)=Tk(s(λ))/τk, so pk(0)=1.
Lemma 1 (the scalars). The values ρk of L1 and L8 satisfy ρk=τk/τk+1.
Proof.ρ0=1/σ1=τ0/τ1. The recurrence τk+1=2σ1τk−τk−1 gives τk/τk+1=1/(2σ1−τk−1/τk)=1/(2σ1−ρk−1), which is L8. □
Lemma 2 (polynomial recurrence). For k≥1,
pk+1(λ)=2ρks(λ)pk(λ)−ρkρk−1pk−1(λ).
Proof. Divide Tk+1(s)=2sTk(s)−Tk−1(s) by τk+1 and use τk/τk+1=ρk and τk−1/τk+1=ρk−1ρk. □
Theorem 1 (polynomial form). In exact arithmetic, for every k reached, ek=pk(A)e0, rk=Aek, and dk=ek−ek+1.
Proof. L6 and L7 give xk+1=xk+dk and rk+1=rk−Adk, so rk=b−Axk for all k by induction (true at k=0 by L2), i.e. rk=Aek, and ek+1=ek−dk. It remains to show ek=pk(A)e0.
k=0: p0=1. k=1: d0=r0/θ=Ae0/θ, so e1=(I−A/θ)e0, and p1(λ)=s(λ)/σ1=(θ−λ)/θ=1−λ/θ.
Step: by L9, dk=ρkρk−1dk−1+(2ρk/δ)rk for k≥1 (with the ρ indices of Lemma 1). So
From τk+1=2σ1τk−τk−1, 1=2σ1ρk−ρkρk−1, so 1+ρkρk−1=2ρkσ1, and 2ρkσ1I−(2ρk/δ)A=2ρks(A). Hence ek+1=2ρks(A)ek−ρkρk−1ek−1, which by the induction hypothesis and Lemma 2 is pk+1(A)e0. □
Theorem 2 (min-max property). For any real polynomial p of degree ≤k with p(0)=1, max[λmin,λmax]∣p∣≥1/τk=max[λmin,λmax]∣pk∣.
Proof.∣Tk∣≤1 on [−1,1] with equality at the k+1 points sj=cos(jπ/k), where Tk(sj)=(−1)j; so max∣pk∣=1/τk, attained with alternating signs at λj=θ−δsj. Suppose max∣p∣<1/τk. Then q=pk−p has degree ≤k, q(0)=0, and q(λj) has the sign of (−1)j for j=0,…,k, so q has at least k roots in the interval, plus the root 0 outside it: k+1 roots, so q=0, a contradiction. □
Theorem 3 (error bound). If A is symmetric with eigenvalues in [λmin,λmax], then ∥ek∥2≤∥e0∥2/τk≤2qk∥e0∥2, and the same holds for rk and in the A-norm.
Proof. With A=QΛQT, ∥pk(A)∥2=maxi∣pk(λi)∣≤1/τk; pk(A) commutes with A and A1/2, giving the residual and A-norm versions. For σ>1, Tk(σ)=21(wk+w−k) with w=σ+σ2−1. For σ=σ1=(κ+1)/(κ−1), σ12−1=2κ/(κ−1), so w=(κ+1)2/(κ−1)=(κ+1)/(κ−1)=1/q. Hence τk≥21q−k. □
Corollary (step count).2qk≤ε when k≥ln(2/ε)/ln(1/q). Since ln(1/q)=ln1−1/κ1+1/κ≥2/κ, k=⌈(κ/2)ln(2/ε)⌉ suffices.
Theorem 4 (termination). The loop L3 runs at most kmax+1 times and each pass either returns or finishes, so the code returns. ■