Cost of the Levinson-Durbin recursion full
This proof shows: time.worst, time.best, space.extra, flops.worst.
Count flops for r0=1 (otherwise line L6 adds 2n−1 divisions).
Levinson step k (1≤k≤n−1). Line L9: 3 flops. Line L10: k multiplications, k subtractions, 1 division, so 2k+1. Line L11: k multiplications and k additions, 2k. For k<n−1, lines L12 and L13: 2k+1 and 2k. So steps 1,…,n−2 cost 8k+5 and step n−1 costs 4(n−1)+4. The total is
k=1∑n−2(8k+5)+4n=4(n−2)(n−1)+5(n−2)+4n=4n2−3n−2. Durbin, order n. Step k costs 3+(2k+1)+2k=4k+4, for k=1,…,n−1: 2n(n−1)+4(n−1)=2n2+2n−4.
Time. Every step k does Θ(k) work regardless of the data, so the time is Θ(n2) in the best and the worst case.
Space. The vectors x, y and the new y (and new x) have length at most n, and r and b are copied once: Θ(n) extra storage. ■
Correctness of the Levinson-Durbin recursion full
This proof shows: correctness, termination.
Exact arithmetic, r0=1. Write ρ(k)=(r1,…,rk)T, so Tk+1=(Tkρ(k)TEkEkρ(k)1), and EkTkEk=Tk because (Tk)ij depends only on ∣i−j∣.
Lemma 1 (Durbin step). Let Tk be nonsingular, Tky=−ρ(k), and β=1+ρ(k)Ty=0. Then Tk+1 is nonsingular and Tk+1y′=−ρ(k+1) for y′=(y+αEky,α) with α=−(rk+1+ρ(k)TEky)/β.
Proof. The first k rows: Tk(y+αEky)+αEkρ(k)=−ρ(k)+αEk(Tky+ρ(k))=−ρ(k), using TkEk=EkTk. The last row: ρ(k)TEk(y+αEky)+α=ρ(k)TEky+α(ρ(k)Ty+1)=ρ(k)TEky+αβ=−rk+1 by the choice of α. Nonsingularity follows from Lemma 3. □
The line L4 sum ∑j<krk−jyj is ρ(k)TEky, and line L5 is the formula of the lemma.
Lemma 2 (Levinson step). Let Tkx=(b0,…,bk−1)T and y, β as in Lemma 1. Then x′=(x+μEky,μ) with μ=(bk−ρ(k)TEkx)/β solves Tk+1x′=(b0,…,bk)T.
Proof. First k rows: Tkx+μ(EkTky+Ekρ(k))=Tkx. Last row: ρ(k)TEkx+μ(ρ(k)Ty+1)=ρ(k)TEkx+μβ=bk. □
Line L10's sum ∑j<krj+1xk−1−j is ρ(k)TEkx.
Lemma 3 (the scalar β). With βk=1+ρ(k)Ty(k), we have βk=detTk+1/detTk, and βk=(1−αk−12)βk−1 with β0=1.
Proof. By the block formula for the determinant, detTk+1=detTk⋅(1−ρ(k)TEkTk−1Ekρ(k))=detTk⋅(1−ρ(k)TTk−1ρ(k))=detTk(1+ρ(k)Ty(k)). For the recurrence, ρ(k+1)Ty(k+1)=ρ(k)T(y+αEky)+rk+1α=ρ(k)Ty+α(ρ(k)TEky+rk+1)=ρ(k)Ty−α2βk. So βk+1=βk−α2βk. □
Theorem 4. If all leading minors of T are nonzero, the procedure LEVINSON returns T−1b; at step k it holds x=x(k), y=y(k) (while k<n−1), β=βk after line L9.
Proof. Induction on k. For k=1 (the state before the loop), x=(b0) solves T1x=b0, y=(−r1) solves T1y=−r1, α=y0, β0=1. At step k, line L9 computes βk by Lemma 3, which is nonzero by hypothesis, so Lemmas 2 and 1 give x(k+1) and y(k+1). After k=n−1, x=x(n)=T−1b. □
Theorem 5 (definiteness test). T is positive definite if and only if βk>0 for k=0,…,n−1, if and only if ∣αk∣<1 for k=0,…,n−2. So LEVINSON with the check either returns T−1b or correctly reports that T is not positive definite.
Proof. By Lemma 3, detTk=∏j<kβj, so all leading minors are positive (Sylvester's criterion) if and only if all βj>0. Since βk+1=(1−αk2)βk, with β0=1, this holds if and only if every 1−αk2>0. If the check fails at step k, the first nonpositive βk is detTk+1/detTk with detTk>0, so detTk+1≤0 and T is not positive definite. □
Termination. The loop of line L8 runs n−1 times, and each step performs a fixed number of length k operations. ■