Algorithm Search⌘K

Proofs: Levinson-Durbin recursion

These are the human proofs of Levinson-Durbin recursion, at full length.

Cost of the Levinson-Durbin recursion full

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

Count flops for r0=1r_0 = 1 (otherwise line L6 adds 2n−12 n - 1 divisions).

Levinson step kk (1≤k≤n−11 \le k \le n - 1). Line L9: 33 flops. Line L10: kk multiplications, kk subtractions, 11 division, so 2k+12k + 1. Line L11: kk multiplications and kk additions, 2k2k. For k<n−1k < n - 1, lines L12 and L13: 2k+12k + 1 and 2k2k. So steps 1,…,n−21, \ldots, n - 2 cost 8k+58k + 5 and step n−1n - 1 costs 4(n−1)+44(n - 1) + 4. The total is

∑k=1n−2(8k+5)+4n=4(n−2)(n−1)+5(n−2)+4n=4n2−3n−2.\sum_{k=1}^{n-2} (8k + 5) + 4n = 4(n - 2)(n - 1) + 5(n - 2) + 4 n = 4 n^2 - 3 n - 2.

Durbin, order nn. Step kk costs 3+(2k+1)+2k=4k+43 + (2k + 1) + 2k = 4k + 4, for k=1,…,n−1k = 1, \ldots, n - 1: 2n(n−1)+4(n−1)=2n2+2n−42n(n - 1) + 4(n - 1) = 2 n^2 + 2 n - 4.

Time. Every step kk does Θ(k)\Theta(k) work regardless of the data, so the time is Θ(n2)\Theta(n^2) in the best and the worst case.

Space. The vectors xx, yy and the new yy (and new xx) have length at most nn, and rr and bb are copied once: Θ(n)\Theta(n) extra storage. ■\blacksquare

Correctness of the Levinson-Durbin recursion full

This proof shows: correctness, termination.

Exact arithmetic, r0=1r_0 = 1. Write ρ(k)=(r1,…,rk)T\rho^{(k)} = (r_1, \ldots, r_k)^T, so Tk+1=(TkEkρ(k)ρ(k)TEk1)T_{k+1} = \begin{pmatrix} T_k & E_k \rho^{(k)} \\ \rho^{(k)T} E_k & 1 \end{pmatrix}, and EkTkEk=TkE_k T_k E_k = T_k because (Tk)ij(T_k)_{ij} depends only on ∣i−j∣|i - j|.

Lemma 1 (Durbin step). Let TkT_k be nonsingular, Tky=−ρ(k)T_k y = -\rho^{(k)}, and β=1+ρ(k)Ty≠0\beta = 1 + \rho^{(k)T} y \ne 0. Then Tk+1T_{k+1} is nonsingular and Tk+1y′=−ρ(k+1)T_{k+1} y' = -\rho^{(k+1)} for y′=(y+αEky,α)y' = (y + \alpha E_k y, \alpha) with α=−(rk+1+ρ(k)TEky)/β\alpha = -(r_{k+1} + \rho^{(k)T} E_k y)/\beta.

Proof. The first kk rows: Tk(y+αEky)+αEkρ(k)=−ρ(k)+αEk(Tky+ρ(k))=−ρ(k)T_k(y + \alpha E_k y) + \alpha E_k \rho^{(k)} = -\rho^{(k)} + \alpha E_k(T_k y + \rho^{(k)}) = -\rho^{(k)}, using TkEk=EkTkT_k E_k = E_k T_k. The last row: ρ(k)TEk(y+αEky)+α=ρ(k)TEky+α(ρ(k)Ty+1)=ρ(k)TEky+αβ=−rk+1\rho^{(k)T} E_k (y + \alpha E_k y) + \alpha = \rho^{(k)T} E_k y + \alpha(\rho^{(k)T} y + 1) = \rho^{(k)T} E_k y + \alpha\beta = -r_{k+1} by the choice of α\alpha. Nonsingularity follows from Lemma 3. □\square

The line L4 sum ∑j<krk−jyj\sum_{j<k} r_{k-j} y_j is ρ(k)TEky\rho^{(k)T} E_k y, and line L5 is the formula of the lemma.

Lemma 2 (Levinson step). Let Tkx=(b0,…,bk−1)TT_k x = (b_0, \ldots, b_{k-1})^T and yy, β\beta as in Lemma 1. Then x′=(x+μEky,μ)x' = (x + \mu E_k y, \mu) with μ=(bk−ρ(k)TEkx)/β\mu = (b_k - \rho^{(k)T} E_k x)/\beta solves Tk+1x′=(b0,…,bk)TT_{k+1} x' = (b_0, \ldots, b_k)^T.

Proof. First kk rows: Tkx+μ(EkTky+Ekρ(k))=TkxT_k x + \mu(E_k T_k y + E_k \rho^{(k)}) = T_k x. Last row: ρ(k)TEkx+μ(ρ(k)Ty+1)=ρ(k)TEkx+μβ=bk\rho^{(k)T} E_k x + \mu(\rho^{(k)T} y + 1) = \rho^{(k)T} E_k x + \mu\beta = b_k. □\square

Line L10's sum ∑j<krj+1xk−1−j\sum_{j<k} r_{j+1} x_{k-1-j} is ρ(k)TEkx\rho^{(k)T} E_k x.

Lemma 3 (the scalar β\beta). With βk=1+ρ(k)Ty(k)\beta_k = 1 + \rho^{(k)T} y^{(k)}, we have βk=det⁡Tk+1/det⁡Tk\beta_k = \det T_{k+1}/\det T_k, and βk=(1−αk−12)βk−1\beta_k = (1 - \alpha_{k-1}^2)\beta_{k-1} with β0=1\beta_0 = 1.

Proof. By the block formula for the determinant, det⁡Tk+1=det⁡Tk⋅(1−ρ(k)TEkTk−1Ekρ(k))=det⁡Tk⋅(1−ρ(k)TTk−1ρ(k))=det⁡Tk(1+ρ(k)Ty(k))\det T_{k+1} = \det T_k \cdot (1 - \rho^{(k)T} E_k T_k^{-1} E_k \rho^{(k)}) = \det T_k \cdot (1 - \rho^{(k)T} T_k^{-1} \rho^{(k)}) = \det T_k (1 + \rho^{(k)T} y^{(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\rho^{(k+1)T} y^{(k+1)} = \rho^{(k)T}(y + \alpha E_k y) + r_{k+1}\alpha = \rho^{(k)T} y + \alpha(\rho^{(k)T} E_k y + r_{k+1}) = \rho^{(k)T} y - \alpha^2 \beta_k. So βk+1=βk−α2βk\beta_{k+1} = \beta_k - \alpha^2\beta_k. □\square

Theorem 4. If all leading minors of TT are nonzero, the procedure LEVINSON returns T−1bT^{-1} b; at step kk it holds x=x(k)x = x^{(k)}, y=y(k)y = y^{(k)} (while k<n−1k < n - 1), β=βk\beta = \beta_k after line L9.

Proof. Induction on kk. For k=1k = 1 (the state before the loop), x=(b0)x = (b_0) solves T1x=b0T_1 x = b_0, y=(−r1)y = (-r_1) solves T1y=−r1T_1 y = -r_1, α=y0\alpha = y_0, β0=1\beta_0 = 1. At step kk, line L9 computes βk\beta_k by Lemma 3, which is nonzero by hypothesis, so Lemmas 2 and 1 give x(k+1)x^{(k+1)} and y(k+1)y^{(k+1)}. After k=n−1k = n - 1, x=x(n)=T−1bx = x^{(n)} = T^{-1} b. □\square

Theorem 5 (definiteness test). TT is positive definite if and only if βk>0\beta_k > 0 for k=0,…,n−1k = 0, \ldots, n - 1, if and only if ∣αk∣<1|\alpha_k| < 1 for k=0,…,n−2k = 0, \ldots, n - 2. So LEVINSON with the check either returns T−1bT^{-1}b or correctly reports that TT is not positive definite.

Proof. By Lemma 3, det⁡Tk=∏j<kβj\det T_k = \prod_{j < k} \beta_j, so all leading minors are positive (Sylvester's criterion) if and only if all βj>0\beta_j > 0. Since βk+1=(1−αk2)βk\beta_{k+1} = (1 - \alpha_k^2)\beta_k, with β0=1\beta_0 = 1, this holds if and only if every 1−αk2>01 - \alpha_k^2 > 0. If the check fails at step kk, the first nonpositive βk\beta_k is det⁡Tk+1/det⁡Tk\det T_{k+1}/\det T_k with det⁡Tk>0\det T_k > 0, so det⁡Tk+1≤0\det T_{k+1} \le 0 and TT is not positive definite. □\square

Termination. The loop of line L8 runs n−1n - 1 times, and each step performs a fixed number of length kk operations. ■\blacksquare

Back to Levinson-Durbin recursion