Чи існує ефективний алгоритм для матрично-тривалих дробів?


18

Припустимо, у мене є матричне рівняння, рекурсивно визначене як

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

Тоді рівняння для A [1] виглядає подібним до тривалої дроби, для якої існують деякі високоефективні методи, які уникають втомного перерахунку (див. "Числові рецепти" для деяких прикладів).

Однак мені цікаво, чи існують аналогічні методи, які дозволяють коефіцієнтам b [n] та a [n] бути матрицями, з єдиним обмеженням, що b [n] A [n + 1] є квадратною матрицею, щоб матриця

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

насправді незворотній.


Це питання, яке ви задали в math.SE за кілька місяців до цього, ні? Є чи квадратної або прямокутної форми? А
JM

Я пам'ятаю, що хтось у коментарях на math.SE запропонував мені запитати це, коли бета-версія буде онлайн :) У моєму спеціальному випадку A прямокутний. Рекурсивні рівняння відповідають ієрархічному набору рівнянь, а кількість величин зростає з . У моєму випадку розмірність A [n] дорівнює nx (n-1)н
Lagerbaer

Просто цікаво, для чого це додаток, яке ви хочете використовувати?
Hjulle

1
Дуже коротко, ідентичність з допомогою Дайсона для конкретного гамильтониана формує функцію Гріна , що можна помітити з певним індексом . Збір усіх функцій з одним і тим же індексом у вектор V N дозволяє мені записати V N = α N V N - 1 + β N V N + 1, використовуючи тотожність Дайсона та відповідне наближення. Використовуючи відрізок, так що V N = 0 для всіх n N дозволяє мені знайти матриці A n так, що V nNVNVN=αNVN1+βNVN+1VN=0nNAn і ці матриці задаються моїм рівнянням стилю продовження дробу. Ця методика може, наприклад, обчислити гратчасті функції Гріна для моделей з щільним зв'язуванням. Vn=AnVn1
Lagerbaer

1
Це не моє поле, але я був деякий час на семінарі, де було представлено щось, що стосується цієї проблеми. [Тут] [1] - єдиний слід, який я міг би знайти в Інтернеті. Я справді не знаю, чи допомагає це. [1]: mh2009.ulb.ac.be/ResActiv.pdf
користувач189035

Відповіді:


9

Наступні два методи наведені у функціях матриць: теорія та обчислення Ніколаса Хігхема, на сторінці 81. Ці формули оцінюють

деX- квадратна матриця.

r(X)=b0+a1Xb1+a2Xb2++a2m1Xb2m1+a2mXb2m
X

Спосіб зверху вниз:

P1=I,Q1=0,P0=b0I,Q0=I

для j = 1: 2м

Pj=bjPj1+ajXPj2

Qj=bjQj1+ajXQj2

кінець

rm=P2mQ2m1


Спосіб знизу:

Y2m=(a2m/b2m)X

для j = 2m − 1: −1: 1

Розв’яжіть для Y j .(bjI+Yj+1)Yj=ajXYj

кінець

rm=b0I+Y1


Питання задає оцінку більш загальної форми

b0+a1X1b1+a2X2b2++a2m1X2m1b2m1+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

Ах, але я щойно помітив, що матриця однакова скрізь у вашому рішенні, але моя не обов'язково. Х
Lagerbaer

Гаразд, я це узагальнив.
Девід Кетчесон

6

Я знаю, що ця відповідь робить багато припущень, але вона принаймні узагальнює ваш алгоритм:

Припустимо, що , { B n } і матриця висіву, V N , всі утворюють сімейство комутуючих нормальних матриць, де власне значення розкладу { A{Ан}{Бн}VNаприорно відомі n } і { B n } , скажімо, U V N U = Λ N , U A n U = Ω n , і U B n U = Δ n{Ан}{Бн}U'VNU=ΛNU'АнU=ΩнU'БнU=Δн, де - унітарна і Λ N , { Ω n } , і { Δ n } - комплексні значення діагональних матриць.UΛN{Ωн}{Δн}

Як тільки ми сказали розкладання, за допомогою індукції,

Vн=(Я-БнVн+1)-1Ан=(Я-UΔнU'UΛн+1U')-1UΩнU',

які можна переставити у форму

Vн=U(Я-ΔнΛн+1)-1ΩнU'UΛнU',

Λн{Vн}ΛнVN

АнαнЯБнβнЯVN

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.