Supposons que j'ai une équation matricielle définie récursivement comme
A[n] = inverse([1 - b[n]A[n+1]]) * a[n]
L'équation pour A [1] ressemble alors à une fraction continue, pour laquelle il existe des méthodes très efficaces qui évitent un recalcul fastidieux (voir «Recettes numériques» pour quelques exemples).
Cependant, je me demande s'il existe des méthodes analogues qui permettent aux coefficients b [n] et a [n] d'être des matrices, avec la seule contrainte que b [n] A [n + 1] soit une matrice carrée de sorte que la matrice
1 - b[n]A[n+1]
est en fait inversible.
algorithms
Lagerbaer
la source
la source
Réponses:
Les deux méthodes suivantes sont données dans Fonctions des matrices: théorie et calcul par Nicholas Higham, à la page 81. Ces formules évaluent
oùXest une matrice carrée.
Méthode descendante:
Méthode ascendante:
La question demande une évaluation de la forme plus générale
Cela peut être évalué par une simple généralisation des formules ci-dessus; par exemple, la méthode ascendante devient
la source
Je sais que cette réponse fait beaucoup d'hypothèses, mais elle généralise au moins votre algorithme:
Supposons que , { B n } et la matrice d'ensemencement, V N , forment tous une famille de navettage de matrices normales, où les décompositions de valeurs propres de { A n } et { B n } sont connues a priori, disons U ′ V N U = Λ N , U ′ A n U = Ω n et U ′ B n U = Δ n{ An} { Bn} VN { An} { Bn} U′VNU= ΛN U′UNEnU= Ωn U′BnU=Δn , où est unitaire et Λ N , { Ω n } et { Δ n } sont des matrices diagonales à valeurs complexes.U ΛN {Ωn} {Δn}
Une fois que nous avons dit la décomposition, par induction,
qui peut être réorganisé sous la forme
où est bien sûr toujours diagonal, donc toute la famille { V n } va nécessairement commuter avec les autres opérateurs, et nous avons montré que les valeurs diagonales de chaque Λ n sont découplées, de sorte que votre formule de récursion scalaire rapide peut être appliquée indépendamment sur les valeurs propres de V N et les matrices de coefficients.Λn {Vn} Λn VN
la source