Αναδρομή Λέβινσον

Η **αναδρομή Λέβινσον** ή **αναδρομή Λέβινσον-Ντούρμπιν** είναι μια διαδικασία στη γραμμική άλγεβρα για τον αναδρομικό υπολογισμό της λύσης μιας εξίσωσης που περιλαμβάνει έναν πίνακα Τόεπλιτς. Ο αλγόριθμος εκτελείται σε χρόνο , ο οποίος αποτελεί ισχυρή βελτίωση σε σχέση με την απαλοιφή Γκάους-Ζορντάν, η οποία εκτελείται σε χρόνο Θ(*n*3).

Ο αλγόριθμος Λέβινσον-Ντούρμπιν προτάθηκε για πρώτη φορά από τον Νόρμαν Λέβινσον το 1947, βελτιώθηκε από τον Τζέιμς Ντούρμπιν το 1960 και στη συνέχεια βελτιώθηκε σε  και στη συνέχεια σε  πολλαπλασιασμούς από τους Γ. Φ. Τρέντς και Σ. Ζοχάρ, αντίστοιχα.

Άλλες μέθοδοι επεξεργασίας δεδομένων περιλαμβάνουν την ανάλυση Σούρ και την ανάλυση Τσολέσκι. Σε σύγκριση με αυτές, η αναδρομή Λέβινσον (ιδίως η αναδρομή Λέβινσον με διάσπαση) τείνει να είναι ταχύτερη υπολογιστικά, αλλά πιο ευαίσθητη σε υπολογιστικές ανακρίβειες όπως τα σφάλματα στρογγυλοποίησης.

Ο αλγόριθμος Μπάρεϊς για πίνακες Τόεπλιτς (που δεν πρέπει να συγχέεται με τον γενικό αλγόριθμο Μπάρεϊς) τρέχει περίπου τόσο γρήγορα όσο η αναδρομή Λεβινσον, αλλά χρησιμοποιεί χώρο , ενώ η αναδρομή Λεβινσον χρησιμοποιεί μόνο χώρο *O*(*n*). Ο αλγόριθμος Μπάρεϊς, όμως, είναι αριθμητικά σταθερός, ενώ η αναδρομή Λέβινσον είναι στην καλύτερη περίπτωση μόνο ασθενώς σταθερή (δηλ. παρουσιάζει αριθμητική ευστάθεια για καλά κλιμακωμένα γραμμικά συστήματα)..

Οι νεότεροι αλγόριθμοι, που ονομάζονται ασυμπτωτικά γρήγοροι ή μερικές φορές υπερταχείς αλγόριθμοι Τόεπλιτς, μπορούν να λύσουν σε  για διάφορα *p* (π.χ. *p* = 2, p = 3 ). Η αναδρομή Λέβινσον παραμένει δημοφιλής για διάφορους λόγους- αφενός, είναι σχετικά εύκολα κατανοητή σε σύγκριση- αφετέρου, μπορεί να είναι ταχύτερη από έναν υπερταχύ αλγόριθμο για μικρά *n* (συνήθως *n*&nbsp;\mathbf M \, \vec x = \vec y.

Ο αλγόριθμος Λέβινσον-Ντούρμπιν μπορεί να χρησιμοποιηθεί για οποιαδήποτε τέτοια εξίσωση, εφόσον ο **Μ** είναι ένας γνωστός πίνακας Τόεπλιτς με μη μηδενική κύρια διαγώνιο. Εδώ \vec y είναι ένα γνωστό διάνυσμα, και \vec x είναι ένα άγνωστο διάνυσμα αριθμών *x**i* που δεν έχει ακόμη προσδιοριστεί.

Για τις ανάγκες αυτού του άρθρου, το *ê**i* είναι ένα διάνυσμα που αποτελείται εξ ολοκλήρου από μηδενικά, εκτός από την *i*η θέση του, η οποία έχει την τιμή ένα. Το μήκος του θα καθορίζεται σιωπηρά από το περιβάλλον πλαίσιο. O όρος *N* αναφέρεται στο πλάτος του παραπάνω πίνακα - ο **M** είναι ένας *N*×*N* πίνακας. Τέλος, σε αυτό το άρθρο, οι άνω δείκτες αναφέρονται σε έναν επαγωγικό δείκτη, ενώ οι κάτω δείκτες υποδηλώνουν δείκτες. Παραδείγματος χάριν (και ορισμού), σε αυτό το άρθρο, ο πίνακας **T***n* είναι ένας πίνακας *n*×*n* που αντιγράφει το άνω αριστερό τμήμα *n*×*n' του μπλοκ από το *'M** - δηλαδή, ''T''<sup>''n''</sup><sub>''ij''</sub> = ''M''<sub>''ij''</sub>..

Ο **T**<sup>''n''</sup> είναι επίσης ένας πίνακας Τόεπλιτς, που σημαίνει ότι μπορεί να γραφεί ως εξής

: <math>\mathbf T^n = \begin{bmatrix}
    t_0    & t_{-1}  & t_{-2}  & \dots  & t_{-n+1}   \\
    t_1    & t_0     & t_{-1}  & \dots  & t_{-n+2} \\
    t_2    & t_1     & t_0     & \dots  & t_{-n+3} \\
    \vdots & \vdots  & \vdots  & \ddots & \vdots   \\
    t_{n-1}& t_{n-2} & t_{n-3} & \dots  & t_0
  \end{bmatrix}. </math>

=== Εισαγωγικά βήματα ===
Ο αλγόριθμος εκτελείται σε δύο βήματα. Στο πρώτο βήμα, δημιουργούνται δύο σύνολα διανυσμάτων, που ονομάζονται ''εμπρός'' και ''πίσω'' διανύσματα. Τα εμπρός διανύσματα χρησιμοποιούνται για να βοηθήσουν στην εύρεση του συνόλου των πίσω διανυσμάτων- στη συνέχεια μπορούν να απορριφθούν αμέσως. Τα προς τα πίσω διανύσματα είναι απαραίτητα για το δεύτερο βήμα, όπου χρησιμοποιούνται για τη δημιουργία της επιθυμητής λύσης.

Η αναδρομή Λέβινσον-Ντέρμπιν ορίζει το ''n''<sup>th</sup> «προωθητικό διάνυσμα», που συμβολίζεται <math>\vec f^n</math>, ως το διάνυσμα μήκους ''n'' που ικανοποιεί:

:<math>\mathbf T^n \vec f^n = \hat e_1.</math>

Το ''n''<sup>th</sup> «αντίστροφο διάνυσμα» <math>\vec b^n</math> ορίζεται ομοίως- είναι το διάνυσμα μήκους ''n'' που ικανοποιεί:

:<math>\mathbf T^n \vec b^n = \hat e_n.</math>

Μια σημαντική απλούστευση μπορεί να προκύψει όταν ο ***M*** είναι [[συμμετρικός πίνακας]]- τότε τα δύο διανύσματα συνδέονται με ''b''<sup>''n''</sup><sub>''i''</sub> = ''f''<sup>''n''</sup><sub>''n''+1−''i''</sub>-δηλαδή, είναι αντίστροφα στη σειρά το ένα του άλλου. Αυτό μπορεί να εξοικονομήσει μερικούς επιπλέον υπολογισμούς σε αυτή την ειδική περίπτωση.

=== Λήψη των διανυσμάτων προς τα πίσω ===

Ακόμη και αν ο πίνακας δεν είναι συμμετρικός, τότε το ''n''<sup>th</sup> εμπρόσθιο και το nοστό οπίσθιο διάνυσμα μπορούν να βρεθούν από τα διανύσματα μήκους''n''&nbsp;−&nbsp;1 ως εξής. Πρώτον, το εμπρόσθιο διάνυσμα μπορεί να επεκταθεί με ένα μηδέν για να προκύψει:

:<math>\mathbf T^n \begin{bmatrix} \vec f^{n-1} \\ 0 \\ \end{bmatrix} =
  \begin{bmatrix}
    \        & \               & \     & t_{-n+1}   \\
    \        & \mathbf T^{n-1} & \     & t_{-n+2} \\
    \        & \               & \     & \vdots   \\
    t_{n-1}  & t_{n-2}         & \dots & t_0      \\
  \end{bmatrix}
  \begin{bmatrix}  \            \\
                   \vec f^{n-1} \\
                   \            \\
                   0            \\
                   \            \\
  \end{bmatrix} = 
  \begin{bmatrix}  1            \\
                   0            \\
                   \vdots       \\
                   0            \\
                   \varepsilon_f^n
  \end{bmatrix}. </math>

Κατά τη μετάβαση από το ***T**n*−1** στο ***T<sup>n</sup>***, η επιπλέον στήλη που προστίθεται στον πίνακα δεν διαταράσσει τη λύση όταν ένα μηδενικό χρησιμοποιείται για την επέκταση του διανύσματος προς τα εμπρός. Ωστόσο, η πρόσθετη γραμμή που προστέθηκε στον πίνακα έχει διαταράξει τη λύση- και έχει δημιουργήσει έναν ανεπιθύμητο όρο σφάλματος ''ε''<sub>''f''</sub> που εμφανίζεται στην τελευταία θέση. Η παραπάνω εξίσωση του δίνει την τιμή του:

: <math> \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}. </math>

Αυτό το σφάλμα θα επιστραφεί σύντομα και θα εξαλειφθεί από το νέο εμπρόσθιο διάνυσμα- αλλά πρώτα, το αντίστροφο διάνυσμα πρέπει να επεκταθεί με παρόμοιο τρόπο (αν και αντίστροφα). Για το αντίστροφο διάνυσμα,

:<math> \mathbf T^n \begin{bmatrix} 0 \\ \vec b^{n-1} \\ \end{bmatrix} =
\begin{bmatrix}
    t_0     & \dots & t_{-n+2}         & t_{-n+1} \\
    \vdots  & \     & \               & \       \\
    t_{n-2} & \     & \mathbf T^{n-1} & \       \\
    t_{n-1} & \     & \               &
  \end{bmatrix}
  \begin{bmatrix}  \            \\
                   0            \\
                   \            \\
                   \vec b^{n-1} \\
                   \            \\
  \end{bmatrix} = 
  \begin{bmatrix}  \varepsilon_b^n  \\
                   0             \\
                   \vdots        \\
                   0             \\
                   1
  \end{bmatrix}. </math>

Όπως και προηγουμένως, η επιπλέον στήλη που προστίθεται στον πίνακα δεν διαταράσσει αυτό το νέο αντίστροφο διάνυσμα, αλλά η επιπλέον γραμμή το διαταράσσει. Εδώ έχουμε ένα άλλο ανεπιθύμητο σφάλμα ''ε''<sub>''b''</sub> με τιμή:

:<math> \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}. \ </math>

Αυτοί οι δύο όροι σφάλματος μπορούν να χρησιμοποιηθούν για να σχηματίσουν διανύσματα υψηλότερης τάξης προς τα εμπρός και προς τα πίσω που περιγράφονται ως εξής. Χρησιμοποιώντας τη γραμμικότητα των πινάκων, η ακόλουθη ταυτότητα ισχύει για όλα τα <math>(\alpha,\beta)</math>:

:<math>\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}.</math>

Εάν τα ''α'' και ''β'' επιλεγούν έτσι ώστε η δεξιά πλευρά να δίνει ''ê''<sub>1</sub> ή ''ê''<sub>''n''</sub>, τότε η ποσότητα στην παρένθεση θα πληροί τον ορισμό του ''n''<sup>th</sup> διανύσματος προς τα εμπρός ή προς τα πίσω, αντίστοιχα. Με αυτά τα άλφα και βήτα επιλεγμένα, το άθροισμα των διανυσμάτων στην παρένθεση είναι απλό και δίνει το επιθυμητό αποτέλεσμα.

Για να βρεθούν αυτοί οι συντελεστές, <math>\alpha^n_{f}</math>, <math>\beta^n_{f}</math> είναι τέτοιοι ώστε :

:<math>
\vec f^n = \alpha^n_{f} \begin{bmatrix} \vec f^{n-1}\\
0
\end{bmatrix}
+\beta^n_{f}\begin{bmatrix}0\\
\vec b^{n-1}
\end{bmatrix}
</math>
και αντίστοιχα <math>\alpha^n_{b}</math>, <math>\beta^n_{b}</math> είναι τέτοια ώστε :
:<math>\vec b^n = \alpha^n_{b}
\begin{bmatrix}
\vec f^{n-1}\\
0
\end{bmatrix}
+\beta^n_{b}\begin{bmatrix}
0\\
\vec b^{n-1}
\end{bmatrix}.
</math>
Πολλαπλασιάζοντας και τις δύο προηγούμενες εξισώσεις με <math>{\mathbf T}^n</math> προκύπτει η ακόλουθη εξίσωση:
: <math>
\begin{bmatrix} 1 & \varepsilon^n_b \\
0 & 0 \\
\vdots & \vdots \\
0 & 0 \\
\varepsilon^n_f & 1
\end{bmatrix} \begin{bmatrix} \alpha^n_f & \alpha^n_b \\ \beta^n_f & \beta^n_b \end{bmatrix}
= \begin{bmatrix}
1 & 0 \\
0 & 0 \\
\vdots & \vdots \\
0 & 0 \\
0 & 1
\end{bmatrix}.</math>

Τώρα, καθώς όλα τα μηδενικά στη μέση των δύο παραπάνω διανυσμάτων δεν λαμβάνονται υπόψη και καταρρέουν, απομένει μόνο η ακόλουθη εξίσωση:

: <math> \begin{bmatrix} 1 & \varepsilon^n_b \\ \varepsilon^n_f & 1 \end{bmatrix} \begin{bmatrix} \alpha^n_f & \alpha^n_b \\ \beta^n_f & \beta^n_b \end{bmatrix} = \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix}.</math>

Με την επίλυση αυτών (χρησιμοποιώντας τον τύπο αντιστροφής του πίνακα 2×2 του Κράμερ), τα νέα διανύσματα προς τα εμπρός και προς τα πίσω είναι:

: <math>\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}</math>

: <math>\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}.</math>

Η εκτέλεση αυτών των διανυσματικών αθροισμάτων, λοιπόν, δίνει τα ''n''<sup>th</sup> εμπρός και πίσω διανύσματα από τα προηγούμενα. Το μόνο που απομένει είναι να βρεθεί το πρώτο από αυτά τα διανύσματα, και στη συνέχεια μερικά γρήγορα αθροίσματα και πολλαπλασιασμοί δίνουν τα υπόλοιπα. Τα πρώτα διανύσματα προς τα εμπρός και προς τα πίσω είναι απλά:

: <math>\vec f^1 = \vec b^1 = \left[ {1 \over M_{11}} \right] = \left[ {1 \over t_0} \right].</math>

== Αλγόριθμος μπλοκ Λέβινσον ==

Εάν ο M δεν είναι αυστηρά Τόεπλιτς, αλλά [[Σύνθετος πίνακας|σύνθετος]] Τόεπλιτς, η αναδρομή Λέβινσον μπορεί να προκύψει με τον ίδιο τρόπο, θεωρώντας τον σύνθετο πίνακα Τόεπλιτς ως πίνακα Τόεπλιτς με στοιχεία πίνακα (Musicus 1988). Οι σύνθετοι πίνακες Τόεπλιτς προκύπτουν φυσικά σε αλγορίθμους επεξεργασίας σήματος όταν πρόκειται για πολλαπλές ροές σήματος (π.χ. σε συστήματα ΜΙΜΟ) ή κυκλικά στάσιμα σήματα.

== Δημοσιεύσεις ==
**Πηγές**
* Levinson, N. (1947). "The Wiener RMS error criterion in filter design and prediction." ''J. Math. Phys.'', v. 25, pp.&nbsp;261–278.
* Durbin, J. (1960). "The fitting of time series models." ''Rev. Inst. Int. Stat.'', v. 28, pp.&nbsp;233–243.
* Trench, W. F. (1964). "An algorithm for the inversion of finite Toeplitz matrices." ''J. Soc. Indust. Appl. Math.'', v. 12, pp.&nbsp;515–522.
* Musicus, B. R. (1988). "Levinson and Fast Choleski Algorithms for Toeplitz and Almost Toeplitz Matrices." ''RLE TR'' No. 538, MIT. [http://dspace.mit.edu/bitstream/1721.1/4954/1/RLE-TR-538-20174000.pdf]
* Delsarte, P. and Genin, Y. V. (1986). "The split Levinson algorithm." ''IEEE Transactions on Acoustics, Speech, and Signal Processing'', v. ASSP-34(3), pp.&nbsp;470–478.
**Περαιτέρω εργασίες**
* 
* [[:en:Richard P. Brent|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 ([[:en:Society for Industrial and Applied Mathematics|SIAM]]).
* Bunch, J. R. (1985). "Stability of methods for solving Toeplitz systems of equations." ''SIAM J. Sci. Stat. Comput.'', v. 6, pp.&nbsp;349–364. [https://doi.org/10.1137/0906025]
* 
**Περιλήψεις*'
* 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. [http://lib.tkk.fi/Diss/2004/isbn9512269473/isbn9512269473.pdf]
* Claerbout, Jon F. (1976). "Chapter 7 – Waveform Applications of Least-Squares." *Fundamentals of Geophysical Data Processing.* Palo Alto: Blackwell Scientific Publications. [https://web.archive.org/web/20060921204908/http://sep.stanford.edu/oldreports/fgdp2/fgdp_07.pdf]
* 
* Golub, G.H., and Loan, C.F. Van (1996). "Section 4.7 : Toeplitz and related Systems" *Matrix Computations'', Johns Hopkins University Press

## Δείτε επίσης

* Field Arithmetic
* Πραγματικό προβολικό επίπεδο
* Μιγαδικός αριθμός
* Αντιερμιτιανός πίνακας
* Μέγιστος κοινός διαιρέτης
* Υπολογιστική βιολογία
* Ελάσσων (γραμμική άλγεβρα)
* Προβολή (γραμμική άλγεβρα)
* Συμμετρικός πίνακας
* Θεωρία σφαλμάτων
* Πολλαπλασιασμός πινάκων
* Επαναλαμβανόμενη συνάρτηση
* Ιδιοτιμές και ιδιοδιανύσματα
* Κανονική κατανομή
* Θεωρία πιθανοτήτων
* High performance algorithms for reduction to condensed (Hessenberg, tridiagonal, bidiagonal) form

## Εξωτερικοί σύνδεσμοι

* English - Greek Dictionary of Pure and Applied Mathematics Εθνικό Μετσόβιο Πολυτεχνείο
* Αγγλοελληνικό Λεξικό Μαθηματικής Ορολογίας - Πανεπιστήμιο Κύπρου
* Matrix calculator
* Matrix Analysis
* Complex-Valued Matrix Derivatives: With Applications in Signal Processing ...
* Exercises of Matrices and Linear Algebra
* Signal Processing for Intelligent Sensor Systems
* Quantum Probability and Spectral Analysis of Graphs.
* Symplectic Methods in Harmonic Analysis and in Mathematical Physics...
* The Theory of Linear Prediction
* Linear Prediction Theory: A Mathematical Basis for Adaptive Systems...
* The Semicircle Law, Free Random Variables and Entropy....
* Symplectic Methods for the Symplectic Eigenproblem

## Παραπομπές


* 
* 
* 
* 

Κατηγορία:Αριθμητική γραμμική άλγεβρα
Κατηγορία:Γραμμική άλγεβρα
Κατηγορία:Θεωρήματα της γραμμικής άλγεβρας
Κατηγορία:Πίνακες (μαθηματικά)
Κατηγορία:Κατανομές
Κατηγορία:Αριθμητική ανάλυση
Κατηγορία:Αλγόριθμοι