|
|
Levinson RecursionLevinson recursion is a mathematical procedure which recursively calculates the solution to a Toeplitz matrix. It was proposed by Norman Levinson in 1947, improved by Durbin in 1960, and given a matrix formulation requiring multiplications by W. F. Trench in 1964. S. Zohar improved Trench's algorithm in 1969, requiring only multiplications. In most applications where Toeplitz matrices appear, we are dealing with a problem such as where is an Toeplitz matrix and and are vectors. The problem is to solve when and are known. For the solution, straightforward application of Gaussian elimination is rather inefficient, with complexity, , since it does not employ the strong structures present in the Toeplitz system. A first improvement to Gaussian elimination is the Levinson recursion which can be applied to symmetric Toeplitz systems. To illustrate the basics of the Levinson algorithm, first define the principal sub-matrix as the upper left block of . Further, assume that we have the order solution to equation -
\begin{bmatrix} t_0 & t_1 & t_2 & \dots & t_p \\ t_{1} & t_0 & t_1 & \ddots & t_{p-1} \\ t_{2} & t_{1} & t_0 & \ddots & t_{p-2} \\ \vdots & \ddots & \ddots & \ddots & \vdots \\ t_{p} & t_{p-1} & t_{p-2} & \dots & t_{0} \\ \end{bmatrix} \begin{bmatrix} 1 \\ a^{(p)}_1 \\ \vdots \\ a^{(p)}_p \end{bmatrix} = \begin{bmatrix} \epsilon_p \\ 0 \\ \vdots \\ 0 \end{bmatrix}. Extension of with a zero yields -
\begin{bmatrix} t_0 & t_1 & t_2 & \dots & t_{p+1} \\ t_{1} & t_0 & t_1 & \ddots & t_{p } \\ t_{2} & t_{1} & t_0 & \ddots & t_{p-1} \\ \vdots & \ddots & \ddots & \ddots & \vdots \\ t_{p+1}& t_{p } & t_{p-1} & \dots & t_{0} \\ \end{bmatrix} \begin{bmatrix} 1 \\ a^{(p)}_1 \\ \vdots \\ a^{(p)}_p \\ 0 \end{bmatrix} = \begin{bmatrix} \epsilon_p \\ 0 \\ \vdots \\ 0 \\ \eta_p \end{bmatrix} where and . The salient step comes through the realisation that since where and is symmetric, we have , where superscript # denotes reversal of rows. By defining a reflection coefficient , we obtain -
{\mathbf T}_{p+1} \left( \begin{bmatrix} 1 \\ a^{(p)}_1 \\ \vdots \\ a^{(p)}_p \\ 0 \end{bmatrix} + \Gamma_p \begin{bmatrix} 0 \\ a^{(p)}_p \\ a^{(p)}_{p-1} \\ \vdots \\ 1 \end{bmatrix} \right) = \left( \begin{bmatrix} \epsilon_p \\ 0 \\ \vdots \\ 0 \\ \eta_p \end{bmatrix} +\Gamma_p \begin{bmatrix} \eta_p \\ 0 \\ \vdots \\ 0 \\ \epsilon_p \end{bmatrix} \right). Obviously, choosing so that yields the order solution to as -
{\mathbf a}_{p+1}=\begin{bmatrix}{\mathbf a}_p\\0\end{bmatrix} +\Gamma_p\begin{bmatrix}0\\{\mathbf a}_p^\#\end{bmatrix}. Consequently, with a suitable choice of initial values (), this procedure can be used to recursively solve equations of type . Furthermore, using the intermediate values , it is straightforward to solve arbitrary problems of type . The former algorithm, is often called the Levinson-Durbin recursion and the latter, the solution of arbitrary Toeplitz equations, the Levinson recursion. While the Levinson-Durbin recursion has the complexity of , it is possible to further improve the algorithm to reduce complexity by half. The algorithm, called the split Levinson-Durbin algorithm, uses a three term recursion instead of the two term recursion in conventional Levinson recursion. Then either the symmetric or antisymmetric part of two consecutive order solutions, and are used to obtain the next order solution . Several other possibilities exist for the solution of Toeplitz systems, such as the Schur or Cholesky decompositions, but the split Levinson-Durbin is the most efficient. The others are sometimes preferred when decimal truncations cause numerical instability. References - Bunch, J. R. (1985). "Stability of methods for solving Toeplitz systems of equations." SIAM J. Sci. Stat. Comput., v. 6, pp. 349-364.
- Trench, W. F. (1964). "An algorithm for the inversion of finite Toeplitz matrices." J. Soc. Indust. Appl. Math., v. 12, pp. 515-522.
See also split Levinson recursion, linear prediction
|
 |