行列値の連続分数のための効率的なアルゴリズムはありますか?


18

次のように再帰的に定義された行列方程式があるとします

A[n] = inverse([1 - b[n]A[n+1]]) * a[n]

その場合、A [1]の方程式は連続分数に似ており、退屈な再計算を回避する非常に効率的な方法がいくつかあります(いくつかの例については「数値レシピ」を参照)。

しかし、b [n] A [n + 1]が正方行列であるという唯一の制約により、係数b [n]およびa [n]を行列にすることができる類似の方法があるのだろうか

1 - b[n]A[n+1]

実際に可逆です。


これは、数か月前にmath.SEで尋ねた質問です。ある正方形や長方形の?A
— JM

math.SEのコメントの誰かが、ベータ版がオンラインになったときにこれを尋ねることを提案したことを思い出します:)私の特別な場合、Aは長方形です。再帰方程式は、方程式の階層セットに対応し、数量の数はとともに増加します。私の場合、A [n]の次元はnx(n-1)n
— Lagerbaer

好奇心が強い、これを使用したいアプリケーションは何ですか?
— Hjulle

1
非常に簡単に言えば、特定のハミルトニアンにダイソンのアイデンティティを使用すると、特定のインデックスラベル付けできるグリーンの関数が生成されます。同じインデックスを持つすべての関数をベクトルすると、ダイソンの恒等式と適切な近似を使用してを記述できます。すべてのに対してなるようにカットオフを使用すると、である行列を見つけることができ、これらの行列は継続分数スタイルの方程式で与えられます。この手法では、たとえば、緊密結合モデルの格子グリーン関数を計算できます。V N V N = α N V N - 1 + β N V N + 1 V N = 0 N ≥ N A N V N = A N V N - 1NVNVN=αNVN−1+βNVN+1VN=0n≥NAnVn=AnVn−1
— ラガーベア

1
それは私の分野ではありませんが、私はこの問題に関連する何かが提示されたセミナーにしばらく戻っていました。[ここ] [1]はオンラインで見つけることができる唯一の痕跡です。私はそれが役立つかどうか本当に知りません。[1]:mh2009.ulb.ac.be/ResActiv.pdf
— user189035

回答:


9

次の2つの方法は、行列の関数:ニコラスハイアムによる理論と計算、81ページで提供されています。これらの式は、

X

r(X)=b0+a1Xb1+a2Xb2+⋯+a2m−1Xb2m−1+a2mXb2m
ここで、は正方行列です。X

トップダウン方式:

P−1=I,Q−1=0,P0=b0I,Q0=I

j = 1:2mの場合

Pj=bjPj−1+ajXPj−2

Qj=bjQj−1+ajXQj−2

終わり

rm=P2mQ2m−1


ボトムアップ方式:

Y2m=(a2m/b2m)X

j = 2m−1:−1:1の場合

解決ため。Y j(bjI+Yj+1)Yj=ajXYj

終わり

rm=b0I+Y1


質問は、より一般的な形式の評価を求めます

b0+a1X1b1+a2X2b2+⋯+a2m−1X2m−1b2m−1+a2mX2mb2m

これは、上記の式を簡単に一般化することで評価できます。例えば、ボトムアップ方式は

Y2m=(a2m/b2m)X2m

j = 2m−1:−1:1の場合

解決ため。Y j(bjI+Yj+1)Yj=ajXjYj

終わり

rm=b0I+Y1。


これは非常に興味深いようです。特定の問題にそれを適用できるかどうかを確認しますが、b [n] * A [n + 1]は正方行列であるため、質問に答えます
— -Lagerbaer

X

さて、私はそれを一般化しました。
— デビッドケッチャソン

6

この答えは多くの仮定を立てることを知っていますが、少なくともあなたのアルゴリズムを一般化します:

{An}{Bn}VN{An}{Bn}U′VNU=ΛNU′AnU=ΩnU′BnU=ΔnUΛN{Ωn}{Δn}

誘導による分解を言ったら、

Vn=(I−BnVn+1)−1An=(I−UΔnU′UΛn+1U′)−1UΩnU′,

フォームに再配置できます

Vn=U(I−ΔnΛn+1)−1ΩnU′≡UΛnU′,

Λn{Vn}ΛnVN

An≡αnIBn≡βnIVN

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.