レビンソン再帰またはレビンソン・ダービン再帰は、線形代数における手順で、トープレッツ行列を含む方程式の解を再帰的に計算します。このアルゴリズムはΘ ( n2 )の時間で実行され、 Θ( n3 )の時間で実行されるガウス・ジョルダン消去法よりも大幅に改善されています。
レビンソン・ダービンアルゴリズムは、1947年にノーマン・レビンソンによって最初に提案され、 1960年にジェームズ・ダービンによって改良され、その後、WFトレンチとS.ゾハールによってそれぞれ4n2乗算、そして3n2乗算へと改良された。
データを処理する他の方法としては、シューア分解やコレスキー分解などがあります。これらと比較すると、レビンソン再帰(特に分割レビンソン再帰)は計算速度が速い傾向がありますが、丸め誤差などの計算誤差の影響を受けやすいという欠点があります。
トープリッツ行列に対するベアリスアルゴリズム(一般的なベアリスアルゴリズムと混同しないように)は、レビンソン再帰とほぼ同じ速度で実行されますが、O ( n² )の空間を使用するのに対し、レビンソン再帰はO ( n )の空間しか使用しません。ただし、ベアリスアルゴリズムは数値的に安定しており[ 1 ] [ 2 ]、レビンソン再帰はせいぜい弱安定(つまり、条件の良い線形システムに対して数値的に安定している)にすぎません[ 3 ] 。
漸近的に高速または超高速トープリッツアルゴリズムと呼ばれる新しいアルゴリズムは、さまざまなp (たとえばp = 2、[ 4 ] [ 5 ] p = 3 [ 6 ] ) に対してΘ( n (log n ) p )で解くことができます。レビンソン再帰はいくつかの理由で依然として人気があります。1つは、比較的理解しやすいこと、もう1つは、 nが小さい場合(通常n < 256)には超高速アルゴリズムよりも高速になる可能性があることです。[ 7 ]
行列方程式は次の形式に従います
Mが非ゼロの主対角成分を持つ既知のトープレッツ行列である限り、レビンソン・ダービンアルゴリズムはこのような任意の方程式に適用できます。は既知のベクトルであり、は、まだ決定されていない未知の数値ベクトルx iです。
この記事では、ê iは i 番目の位置を除いてすべてゼロで構成されるベクトルであり、i番目の位置には値 1 が格納されます。その長さは周囲のコンテキストによって暗黙的に決定されます。用語Nは上記の行列の幅を指します。MはN × N行列です。最後に、この記事では、上付き文字は帰納的インデックスを指し、下付き文字はインデックスを示します。たとえば (定義)、この記事では、行列T nは、 Mの左上のn × nブロックをコピーしたn × n行列です 。つまり、T n ij = M ijです。
T nはトープレッツ行列でもあるので、次のように書くことができる。
このアルゴリズムは2つのステップで進行します。最初のステップでは、順方向ベクトルと逆方向ベクトルと呼ばれる2組のベクトルが確立されます。順方向ベクトルは逆方向ベクトルのセットを取得するために使用され、その後すぐに破棄できます。逆方向ベクトルは2番目のステップで必要となり、そこで目的の解を構築するために使用されます。
レビンソン・ダービン再帰では、n番目の「前方ベクトル」が定義され、長さnのベクトルとして、以下の条件を満たす。
n番目の「逆ベクトル」も同様に定義されます。これは、次の条件を満たす長さnのベクトルです。
Mが対称行列の場合、重要な簡略化が実現できます。この場合、2つのベクトルはb n i = f n n +1− iの関係にあり、つまり互いに行を反転させたものとなります。この特殊なケースでは、余分な計算を削減できます。
行列が対称でない場合でも、n番目の順方向ベクトルと逆方向ベクトルは、長さn − 1のベクトルから 次のように求めることができます。まず、順方向ベクトルにゼロを追加して、次の式を得ます。
T n −1からT nへ移行する際、ゼロを使用して前方ベクトルを拡張する場合、行列に追加された列は解に影響を与えません。しかし、行列に追加された行は解に影響を与え、最後の位置に不要な誤差項ε fを生み出します。上記の式は、その値を次のように表します。
このエラーはすぐに返され、新しい順方向ベクトルから削除されますが、まず、逆方向ベクトルも同様の(ただし逆方向の)方法で拡張する必要があります。逆方向ベクトルについては、
これまでと同様に、行列に追加された列はこの新しい逆ベクトルに影響を与えませんが、追加された行は影響を与えます。ここで、値を持つ別の不要なエラーε bが発生します。
これら2つの誤差項は、以下のように記述される高次の順方向ベクトルと逆方向ベクトルを形成するために使用できます。行列の線形性を使用すると、すべてのに対して次の恒等式が成り立ちます。:
αとβを、右辺がê 1またはê nとなるように選択すると、括弧内の値はそれぞれn番目の順方向ベクトルまたは逆方向ベクトルの定義を満たします。このようにαとβを選択すると、括弧内のベクトル和は単純になり、目的の結果が得られます。
これらの係数を見つけるには、、次のようなものである :
それぞれ 、次のようなものである :
前述の2つの式にそれぞれを掛けると次のような方程式が得られる。
さて、上記の2つのベクトルの中央にあるすべてのゼロを無視して統合すると、次の式だけが残ります。
これらを(クレイマーの2×2行列逆行列公式を用いて)解くと、新しい前方ベクトルと後方ベクトルは次のようになります。
これらのベクトル和を実行すると、前のベクトルからn番目の順方向ベクトルと逆方向ベクトルが得られます。あとは、これらのベクトルのうち最初のベクトルを見つけるだけで、簡単な和と乗算で残りのベクトルが得られます。最初の順方向ベクトルと逆方向ベクトルは次のようになります。
上記の手順により、 MのN個の逆ベクトルが得られます。そこから、より任意の方程式は次のようになります。
解は、逆ベクトルが構築されたのと同じ再帰的な方法で構築できます。したがって、中間体のシーケンスに一般化する必要がある、したがって。
次に、以下の点に着目して再帰的に解を構築します。
次に、再びゼロを追加し、必要に応じて誤差定数を定義します。
次に、n番目の逆ベクトルを使用して誤差項を除去し、それを目的の式に置き換えることができます。手順は次のとおりです。
この方法をn = Nまで拡張すると、解が得られます。。
実際には、これらの手順は他の手順と並行して行われることが多いが、これらは一貫性のある単位を形成しており、独立した手順として扱うに値する。
Mが厳密にはトープレッツ行列ではなく、ブロックトープレッツ行列である場合、ブロックトープレッツ行列を行列要素を持つトープレッツ行列とみなすことで、レビンソン漸化式をほぼ同じように導出できます(Musicus 1988)。ブロックトープレッツ行列は、複数の信号ストリーム(例えば、 MIMOシステム)や周期定常信号を扱う信号処理アルゴリズムにおいて自然に現れます。
{{cite web}}: CS1 maint: タイトルとしてアーカイブされたコピー (リンク){{cite web}}: CS1 maint: タイトルとしてアーカイブされたコピー (リンク){{cite web}}: CS1 maint: タイトルとしてアーカイブされたコピー (リンク){{cite web}}: CS1 maint: タイトルとしてアーカイブされたコピー (リンク)情報源の定義
さらなる研究
要約