fbpx
Wikipedia

Levinson recursion

Levinson recursion or Levinson–Durbin recursion is a procedure in linear algebra to recursively calculate the solution to an equation involving a Toeplitz matrix. The algorithm runs in Θ(n2) time, which is a strong improvement over Gauss–Jordan elimination, which runs in Θ(n3).

The Levinson–Durbin algorithm was proposed first by Norman Levinson in 1947, improved by James Durbin in 1960, and subsequently improved to 4n2 and then 3n2 multiplications by W. F. Trench and S. Zohar, respectively.

Other methods to process data include Schur decomposition and Cholesky decomposition. In comparison to these, Levinson recursion (particularly split Levinson recursion) tends to be faster computationally, but more sensitive to computational inaccuracies like round-off errors.

The Bareiss algorithm for Toeplitz matrices (not to be confused with the general Bareiss algorithm) runs about as fast as Levinson recursion, but it uses O(n2) space, whereas Levinson recursion uses only O(n) space. The Bareiss algorithm, though, is numerically stable,[1][2] whereas Levinson recursion is at best only weakly stable (i.e. it exhibits numerical stability for well-conditioned linear systems).[3]

Newer algorithms, called asymptotically fast or sometimes superfast Toeplitz algorithms, can solve in Θ(n logpn) for various p (e.g. p = 2,[4][5] p = 3 [6]). Levinson recursion remains popular for several reasons; for one, it is relatively easy to understand in comparison; for another, it can be faster than a superfast algorithm for small n (usually n < 256).[7]

Derivation edit

Background edit

Matrix equations follow the form

 

The Levinson–Durbin algorithm may be used for any such equation, as long as M is a known Toeplitz matrix with a nonzero main diagonal. Here   is a known vector, and   is an unknown vector of numbers xi yet to be determined.

For the sake of this article, êi is a vector made up entirely of zeroes, except for its ith place, which holds the value one. Its length will be implicitly determined by the surrounding context. The term N refers to the width of the matrix above – M is an N×N matrix. Finally, in this article, superscripts refer to an inductive index, whereas subscripts denote indices. For example (and definition), in this article, the matrix Tn is an n×n matrix that copies the upper left n×n block from M – that is, Tnij = Mij.

Tn is also a Toeplitz matrix, meaning that it can be written as

 

Introductory steps edit

The algorithm proceeds in two steps. In the first step, two sets of vectors, called the forward and backward vectors, are established. The forward vectors are used to help get the set of backward vectors; then they can be immediately discarded. The backwards vectors are necessary for the second step, where they are used to build the solution desired.

Levinson–Durbin recursion defines the nth "forward vector", denoted  , as the vector of length n which satisfies:

 

The nth "backward vector"   is defined similarly; it is the vector of length n which satisfies:

 

An important simplification can occur when M is a symmetric matrix; then the two vectors are related by bni = fnn+1−i—that is, they are row-reversals of each other. This can save some extra computation in that special case.

Obtaining the backward vectors edit

Even if the matrix is not symmetric, then the nth forward and backward vector may be found from the vectors of length n − 1 as follows. First, the forward vector may be extended with a zero to obtain:

 

In going from Tn−1 to Tn, the extra column added to the matrix does not perturb the solution when a zero is used to extend the forward vector. However, the extra row added to the matrix has perturbed the solution; and it has created an unwanted error term εf which occurs in the last place. The above equation gives it the value of:

 

This error will be returned to shortly and eliminated from the new forward vector; but first, the backwards vector must be extended in a similar (albeit reversed) fashion. For the backwards vector,

 

As before, the extra column added to the matrix does not perturb this new backwards vector; but the extra row does. Here we have another unwanted error εb with value:

 

These two error terms can be used to form higher-order forward and backward vectors described as follows. Using the linearity of matrices, the following identity holds for all  :

 

If α and β are chosen so that the right hand side yields ê1 or ên, then the quantity in the parentheses will fulfill the definition of the nth forward or backward vector, respectively. With those alpha and beta chosen, the vector sum in the parentheses is simple and yields the desired result.

To find these coefficients,  ,   are such that :

 

and respectively  ,   are such that :

 

By multiplying both previous equations by   one gets the following equation:

 

Now, all the zeroes in the middle of the two vectors above being disregarded and collapsed, only the following equation is left:

 

With these solved for (by using the Cramer 2×2 matrix inverse formula), the new forward and backward vectors are:

 
 

Performing these vector summations, then, gives the nth forward and backward vectors from the prior ones. All that remains is to find the first of these vectors, and then some quick sums and multiplications give the remaining ones. The first forward and backward vectors are simply:

 

Using the backward vectors edit

The above steps give the N backward vectors for M. From there, a more arbitrary equation is:

 

The solution can be built in the same recursive way that the backwards vectors were built. Accordingly,   must be generalized to a sequence of intermediates  , such that  .

The solution is then built recursively by noticing that if

 

Then, extending with a zero again, and defining an error constant where necessary:

 

We can then use the nth backward vector to eliminate the error term and replace it with the desired formula as follows:

 

Extending this method until n = N yields the solution  .

In practice, these steps are often done concurrently with the rest of the procedure, but they form a coherent unit and deserve to be treated as their own step.

Block Levinson algorithm edit

If M is not strictly Toeplitz, but block Toeplitz, the Levinson recursion can be derived in much the same way by regarding the block Toeplitz matrix as a Toeplitz matrix with matrix elements (Musicus 1988). Block Toeplitz matrices arise naturally in signal processing algorithms when dealing with multiple signal streams (e.g., in MIMO systems) or cyclo-stationary signals.

See also edit

Notes edit

  1. ^ Bojanczyk et al. (1995).
  2. ^ Brent (1999).
  3. ^ Krishna & Wang (1993).
  4. ^ (PDF). Archived from the original (PDF) on 2012-03-25. Retrieved 2013-04-01.{{cite web}}: CS1 maint: archived copy as title (link)
  5. ^ (PDF). Archived from the original (PDF) on 2009-11-15. Retrieved 2009-04-28.{{cite web}}: CS1 maint: archived copy as title (link)
  6. ^ (PDF). saaz.cs.gsu.edu. Archived from the original (PDF) on 18 April 2007. Retrieved 12 January 2022.{{cite web}}: CS1 maint: archived copy as title (link)
  7. ^ (PDF). Archived from the original (PDF) on 2006-09-05. Retrieved 2006-08-15.{{cite web}}: CS1 maint: archived copy as title (link)

References edit

Defining sources

  • Levinson, N. (1947). "The Wiener RMS error criterion in filter design and prediction." J. Math. Phys., v. 25, pp. 261–278.
  • Durbin, J. (1960). "The fitting of time series models." Rev. Inst. Int. Stat., v. 28, pp. 233–243.
  • Trench, W. F. (1964). "An algorithm for the inversion of finite Toeplitz matrices." J. Soc. Indust. Appl. Math., v. 12, pp. 515–522.
  • Musicus, B. R. (1988). "Levinson and Fast Choleski Algorithms for Toeplitz and Almost Toeplitz Matrices." RLE TR No. 538, MIT. [1]
  • Delsarte, P. and Genin, Y. V. (1986). "The split Levinson algorithm." IEEE Transactions on Acoustics, Speech, and Signal Processing, v. ASSP-34(3), pp. 470–478.

Further work

  • Bojanczyk, A.W.; Brent, R.P.; De Hoog, F.R.; Sweet, D.R. (1995). "On the stability of the Bareiss and related Toeplitz factorization algorithms". SIAM Journal on Matrix Analysis and Applications. 16: 40–57. arXiv:1004.5510. doi:10.1137/S0895479891221563. S2CID 367586.
  • Brent R.P. (1999), "Stability of fast algorithms for structured linear systems", Fast Reliable Algorithms for Matrices with Structure (editors—T. Kailath, A.H. Sayed), ch.4 (SIAM).
  • Bunch, J. R. (1985). "Stability of methods for solving Toeplitz systems of equations." SIAM J. Sci. Stat. Comput., v. 6, pp. 349–364. [2]
  • Krishna, H.; Wang, Y. (1993). "The Split Levinson Algorithm is weakly stable". SIAM Journal on Numerical Analysis. 30 (5): 1498–1508. doi:10.1137/0730078.

Summaries

  • Bäckström, T. (2004). "2.2. Levinson–Durbin Recursion." Linear Predictive Modelling of Speech – Constraints and Line Spectrum Pair Decomposition. Doctoral thesis. Report no. 71 / Helsinki University of Technology, Laboratory of Acoustics and Audio Signal Processing. Espoo, Finland. [3]
  • Claerbout, Jon F. (1976). "Chapter 7 – Waveform Applications of Least-Squares." Fundamentals of Geophysical Data Processing. Palo Alto: Blackwell Scientific Publications.
  • Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP (2007), "Section 2.8.2. Toeplitz Matrices", Numerical Recipes: The Art of Scientific Computing (3rd ed.), New York: Cambridge University Press, ISBN 978-0-521-88068-8
  • Golub, G.H., and Loan, C.F. Van (1996). "Section 4.7 : Toeplitz and related Systems" Matrix Computations, Johns Hopkins University Press

levinson, recursion, levinson, durbin, recursion, procedure, linear, algebra, recursively, calculate, solution, equation, involving, toeplitz, matrix, algorithm, runs, time, which, strong, improvement, over, gauss, jordan, elimination, which, runs, levinson, d. Levinson recursion or Levinson Durbin recursion is a procedure in linear algebra to recursively calculate the solution to an equation involving a Toeplitz matrix The algorithm runs in 8 n2 time which is a strong improvement over Gauss Jordan elimination which runs in 8 n3 The Levinson Durbin algorithm was proposed first by Norman Levinson in 1947 improved by James Durbin in 1960 and subsequently improved to 4n2 and then 3n2 multiplications by W F Trench and S Zohar respectively Other methods to process data include Schur decomposition and Cholesky decomposition In comparison to these Levinson recursion particularly split Levinson recursion tends to be faster computationally but more sensitive to computational inaccuracies like round off errors The Bareiss algorithm for Toeplitz matrices not to be confused with the general Bareiss algorithm runs about as fast as Levinson recursion but it uses O n2 space whereas Levinson recursion uses only O n space The Bareiss algorithm though is numerically stable 1 2 whereas Levinson recursion is at best only weakly stable i e it exhibits numerical stability for well conditioned linear systems 3 Newer algorithms called asymptotically fast or sometimes superfast Toeplitz algorithms can solve in 8 n logpn for various p e g p 2 4 5 p 3 6 Levinson recursion remains popular for several reasons for one it is relatively easy to understand in comparison for another it can be faster than a superfast algorithm for small n usually n lt 256 7 Contents 1 Derivation 1 1 Background 1 2 Introductory steps 1 3 Obtaining the backward vectors 1 4 Using the backward vectors 2 Block Levinson algorithm 3 See also 4 Notes 5 ReferencesDerivation editBackground edit Matrix equations follow the form M x y displaystyle mathbf M vec x vec y nbsp The Levinson Durbin algorithm may be used for any such equation as long as M is a known Toeplitz matrix with a nonzero main diagonal Here y displaystyle vec y nbsp is a known vector and x displaystyle vec x nbsp is an unknown vector of numbers xi yet to be determined For the sake of this article ei is a vector made up entirely of zeroes except for its ith place which holds the value one Its length will be implicitly determined by the surrounding context The term N refers to the width of the matrix above M is an N N matrix Finally in this article superscripts refer to an inductive index whereas subscripts denote indices For example and definition in this article the matrix Tn is an n n matrix that copies the upper left n n block from M that is Tnij Mij Tn is also a Toeplitz matrix meaning that it can be written as T n t 0 t 1 t 2 t n 1 t 1 t 0 t 1 t n 2 t 2 t 1 t 0 t n 3 t n 1 t n 2 t n 3 t 0 displaystyle mathbf T n begin bmatrix t 0 amp t 1 amp t 2 amp dots amp t n 1 t 1 amp t 0 amp t 1 amp dots amp t n 2 t 2 amp t 1 amp t 0 amp dots amp t n 3 vdots amp vdots amp vdots amp ddots amp vdots t n 1 amp t n 2 amp t n 3 amp dots amp t 0 end bmatrix nbsp Introductory steps edit The algorithm proceeds in two steps In the first step two sets of vectors called the forward and backward vectors are established The forward vectors are used to help get the set of backward vectors then they can be immediately discarded The backwards vectors are necessary for the second step where they are used to build the solution desired Levinson Durbin recursion defines the nth forward vector denoted f n displaystyle vec f n nbsp as the vector of length n which satisfies T n f n e 1 displaystyle mathbf T n vec f n hat e 1 nbsp The nth backward vector b n displaystyle vec b n nbsp is defined similarly it is the vector of length n which satisfies T n b n e n displaystyle mathbf T n vec b n hat e n nbsp An important simplification can occur when M is a symmetric matrix then the two vectors are related by bni fnn 1 i that is they are row reversals of each other This can save some extra computation in that special case Obtaining the backward vectors edit Even if the matrix is not symmetric then the nth forward and backward vector may be found from the vectors of length n 1 as follows First the forward vector may be extended with a zero to obtain T n f n 1 0 t n 1 T n 1 t n 2 t n 1 t n 2 t 0 f n 1 0 1 0 0 e f n displaystyle mathbf T n begin bmatrix vec f n 1 0 end bmatrix begin bmatrix amp amp amp t n 1 amp mathbf T n 1 amp amp t n 2 amp amp amp vdots t n 1 amp t n 2 amp dots amp t 0 end bmatrix begin bmatrix vec f n 1 0 end bmatrix begin bmatrix 1 0 vdots 0 varepsilon f n end bmatrix nbsp In going from Tn 1 to Tn the extra column added to the matrix does not perturb the solution when a zero is used to extend the forward vector However the extra row added to the matrix has perturbed the solution and it has created an unwanted error term ef which occurs in the last place The above equation gives it the value of e f n i 1 n 1 M n i f i n 1 i 1 n 1 t n i f i n 1 displaystyle varepsilon f n sum i 1 n 1 M ni f i n 1 sum i 1 n 1 t n i f i n 1 nbsp This error will be returned to shortly and eliminated from the new forward vector but first the backwards vector must be extended in a similar albeit reversed fashion For the backwards vector T n 0 b n 1 t 0 t n 2 t n 1 t n 2 T n 1 t n 1 0 b n 1 e b n 0 0 1 displaystyle mathbf T n begin bmatrix 0 vec b n 1 end bmatrix begin bmatrix t 0 amp dots amp t n 2 amp t n 1 vdots amp amp amp t n 2 amp amp mathbf T n 1 amp t n 1 amp amp amp end bmatrix begin bmatrix 0 vec b n 1 end bmatrix begin bmatrix varepsilon b n 0 vdots 0 1 end bmatrix nbsp As before the extra column added to the matrix does not perturb this new backwards vector but the extra row does Here we have another unwanted error eb with value e b n i 2 n M 1 i b i 1 n 1 i 1 n 1 t i b i n 1 displaystyle varepsilon b n sum i 2 n M 1i b i 1 n 1 sum i 1 n 1 t i b i n 1 nbsp These two error terms can be used to form higher order forward and backward vectors described as follows Using the linearity of matrices the following identity holds for all a b displaystyle alpha beta nbsp T a f 0 b 0 b a 1 0 0 e f b e b 0 0 1 displaystyle mathbf T left alpha begin bmatrix vec f 0 end bmatrix beta begin bmatrix 0 vec b end bmatrix right alpha begin bmatrix 1 0 vdots 0 varepsilon f end bmatrix beta begin bmatrix varepsilon b 0 vdots 0 1 end bmatrix nbsp If a and b are chosen so that the right hand side yields e1 or en then the quantity in the parentheses will fulfill the definition of the nth forward or backward vector respectively With those alpha and beta chosen the vector sum in the parentheses is simple and yields the desired result To find these coefficients a f n displaystyle alpha f n nbsp b f n displaystyle beta f n nbsp are such that f n a f n f n 1 0 b f n 0 b n 1 displaystyle vec f n alpha f n begin bmatrix vec f n 1 0 end bmatrix beta f n begin bmatrix 0 vec b n 1 end bmatrix nbsp and respectively a b n displaystyle alpha b n nbsp b b n displaystyle beta b n nbsp are such that b n a b n f n 1 0 b b n 0 b n 1 displaystyle vec b n alpha b n begin bmatrix vec f n 1 0 end bmatrix beta b n begin bmatrix 0 vec b n 1 end bmatrix nbsp By multiplying both previous equations by T n displaystyle mathbf T n nbsp one gets the following equation 1 e b n 0 0 0 0 e f n 1 a f n a b n b f n b b n 1 0 0 0 0 0 0 1 displaystyle begin bmatrix 1 amp varepsilon b n 0 amp 0 vdots amp vdots 0 amp 0 varepsilon f n amp 1 end bmatrix begin bmatrix alpha f n amp alpha b n beta f n amp beta b n end bmatrix begin bmatrix 1 amp 0 0 amp 0 vdots amp vdots 0 amp 0 0 amp 1 end bmatrix nbsp Now all the zeroes in the middle of the two vectors above being disregarded and collapsed only the following equation is left 1 e b n e f n 1 a f n a b n b f n b b n 1 0 0 1 displaystyle begin bmatrix 1 amp varepsilon b n varepsilon f n amp 1 end bmatrix begin bmatrix alpha f n amp alpha b n beta f n amp beta b n end bmatrix begin bmatrix 1 amp 0 0 amp 1 end bmatrix nbsp With these solved for by using the Cramer 2 2 matrix inverse formula the new forward and backward vectors are f n 1 1 e b n e f n f n 1 0 e f n 1 e b n e f n 0 b n 1 displaystyle vec f n 1 over 1 varepsilon b n varepsilon f n begin bmatrix vec f n 1 0 end bmatrix varepsilon f n over 1 varepsilon b n varepsilon f n begin bmatrix 0 vec b n 1 end bmatrix nbsp b n 1 1 e b n e f n 0 b n 1 e b n 1 e b n e f n f n 1 0 displaystyle vec b n 1 over 1 varepsilon b n varepsilon f n begin bmatrix 0 vec b n 1 end bmatrix varepsilon b n over 1 varepsilon b n varepsilon f n begin bmatrix vec f n 1 0 end bmatrix nbsp Performing these vector summations then gives the nth forward and backward vectors from the prior ones All that remains is to find the first of these vectors and then some quick sums and multiplications give the remaining ones The first forward and backward vectors are simply f 1 b 1 1 M 11 1 t 0 displaystyle vec f 1 vec b 1 left 1 over M 11 right left 1 over t 0 right nbsp Using the backward vectors edit The above steps give the N backward vectors for M From there a more arbitrary equation is y M x displaystyle vec y mathbf M vec x nbsp The solution can be built in the same recursive way that the backwards vectors were built Accordingly x displaystyle vec x nbsp must be generalized to a sequence of intermediates x n displaystyle vec x n nbsp such that x N x displaystyle vec x N vec x nbsp The solution is then built recursively by noticing that if T n 1 x 1 n 1 x 2 n 1 x n 1 n 1 y 1 y 2 y n 1 displaystyle mathbf T n 1 begin bmatrix x 1 n 1 x 2 n 1 vdots x n 1 n 1 end bmatrix begin bmatrix y 1 y 2 vdots y n 1 end bmatrix nbsp Then extending with a zero again and defining an error constant where necessary T n x 1 n 1 x 2 n 1 x n 1 n 1 0 y 1 y 2 y n 1 e x n 1 displaystyle mathbf T n begin bmatrix x 1 n 1 x 2 n 1 vdots x n 1 n 1 0 end bmatrix begin bmatrix y 1 y 2 vdots y n 1 varepsilon x n 1 end bmatrix nbsp We can then use the nth backward vector to eliminate the error term and replace it with the desired formula as follows T n x 1 n 1 x 2 n 1 x n 1 n 1 0 y n e x n 1 b n y 1 y 2 y n 1 y n displaystyle mathbf T n left begin bmatrix x 1 n 1 x 2 n 1 vdots x n 1 n 1 0 end bmatrix y n varepsilon x n 1 vec b n right begin bmatrix y 1 y 2 vdots y n 1 y n end bmatrix nbsp Extending this method until n N yields the solution x displaystyle vec x nbsp In practice these steps are often done concurrently with the rest of the procedure but they form a coherent unit and deserve to be treated as their own step Block Levinson algorithm editIf M is not strictly Toeplitz but block Toeplitz the Levinson recursion can be derived in much the same way by regarding the block Toeplitz matrix as a Toeplitz matrix with matrix elements Musicus 1988 Block Toeplitz matrices arise naturally in signal processing algorithms when dealing with multiple signal streams e g in MIMO systems or cyclo stationary signals See also editSplit Levinson recursion Linear prediction Autoregressive modelNotes edit Bojanczyk et al 1995 Brent 1999 Krishna amp Wang 1993 Archived copy PDF Archived from the original PDF on 2012 03 25 Retrieved 2013 04 01 a href Template Cite web html title Template Cite web cite web a CS1 maint archived copy as title link Archived copy PDF Archived from the original PDF on 2009 11 15 Retrieved 2009 04 28 a href Template Cite web html title Template Cite web cite web a CS1 maint archived copy as title link Archived copy PDF saaz cs gsu edu Archived from the original PDF on 18 April 2007 Retrieved 12 January 2022 a href Template Cite web html title Template Cite web cite web a CS1 maint archived copy as title link Archived copy PDF Archived from the original PDF on 2006 09 05 Retrieved 2006 08 15 a href Template Cite web html title Template Cite web cite web a CS1 maint archived copy as title link References editDefining sources Levinson N 1947 The Wiener RMS error criterion in filter design and prediction J Math Phys v 25 pp 261 278 Durbin J 1960 The fitting of time series models Rev Inst Int Stat v 28 pp 233 243 Trench W F 1964 An algorithm for the inversion of finite Toeplitz matrices J Soc Indust Appl Math v 12 pp 515 522 Musicus B R 1988 Levinson and Fast Choleski Algorithms for Toeplitz and Almost Toeplitz Matrices RLE TR No 538 MIT 1 Delsarte P and Genin Y V 1986 The split Levinson algorithm IEEE Transactions on Acoustics Speech and Signal Processing v ASSP 34 3 pp 470 478 Further work Bojanczyk A W Brent R P De Hoog F R Sweet D R 1995 On the stability of the Bareiss and related Toeplitz factorization algorithms SIAM Journal on Matrix Analysis and Applications 16 40 57 arXiv 1004 5510 doi 10 1137 S0895479891221563 S2CID 367586 Brent R P 1999 Stability of fast algorithms for structured linear systems Fast Reliable Algorithms for Matrices with Structure editors T Kailath A H Sayed ch 4 SIAM Bunch J R 1985 Stability of methods for solving Toeplitz systems of equations SIAM J Sci Stat Comput v 6 pp 349 364 2 Krishna H Wang Y 1993 The Split Levinson Algorithm is weakly stable SIAM Journal on Numerical Analysis 30 5 1498 1508 doi 10 1137 0730078 Summaries Backstrom T 2004 2 2 Levinson Durbin Recursion Linear Predictive Modelling of Speech Constraints and Line Spectrum Pair Decomposition Doctoral thesis Report no 71 Helsinki University of Technology Laboratory of Acoustics and Audio Signal Processing Espoo Finland 3 Claerbout Jon F 1976 Chapter 7 Waveform Applications of Least Squares Fundamentals of Geophysical Data Processing Palo Alto Blackwell Scientific Publications 4 Press WH Teukolsky SA Vetterling WT Flannery BP 2007 Section 2 8 2 Toeplitz Matrices Numerical Recipes The Art of Scientific Computing 3rd ed New York Cambridge University Press ISBN 978 0 521 88068 8 Golub G H and Loan C F Van 1996 Section 4 7 Toeplitz and related Systems Matrix Computations Johns Hopkins University Press Retrieved from https en wikipedia org w index php title Levinson recursion amp oldid 1108404650, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.