Експоненціала матриці гамільтонової матриці


10

Нехай - справжні, квадратні, щільні матриці. і Q симетричні. ДозволяєA,G,QQGQ

H=[AGQAT]

бути гамільтоновою матрицею. Я хочу , щоб обчислити матрицю експоненту H . Мені потрібен повний показник матриці, etH , а не тільки матричний векторний продукт. Чи є якісь спеціалізовані алгоритми чи бібліотеки для обчислення експоненції гамільтонової матриці?


2
Чи хочете ви самі матриці експоненції, чи ви просто хочете вирішити ODE z˙=Hz ?
Даніель Шаперо

Мені потрібна сама матрична експоненція. Але то ж саме я можу вирішити ОДУ Z˙=HZ, Z(0)=I .
Макс Бер

2
Структура Беннера, що забезпечує збереження власних рішень, може мати справу з перетворенням подібності для полегшення матричного експоненціального обчислення.
перкусія

1
@RichardZhang Жорстоким способом є розпад QZ. Перевірте, наприклад, починаючи з link.springer.com/article/10.1007/s002110050315 для отримання більш детальної інформації.
перкусія

2
У статті 19 сумнівних способів обчислення експоненції матриці 25 років пізніше висвітлено багато поганих (і декількох хороших) способів обчислити матричну експоненцію. Він не характерний для гамільтонових проблем, але, тим не менш, дуже цінний, якщо ви працюєте над цими проблемами.
Даніель Шаперо

Відповіді:


6

Дуже швидка відповідь ...

Експоненція гамільтонової матриці є симплектичною, властивістю, яку ви, мабуть, хочете зберегти, інакше ви просто використовуєте метод неструктурування. Дійсно, переваги у швидкості у використанні структурованого методу немає, просто збереження структури.

Можливий спосіб вирішити вашу проблему полягає в наступному. Спочатку знайдіть симплектичну матрицю такою, що - гамільтонів і блокує верхню трикутну, а має власне значення у лівій півплощині. Ви отримуєте цю матрицю, наприклад, взявши , де розв'язує рівняння Ріккаті, пов'язане з , або (більш стійке, оскільки воно є ортогональним) шляхом упорядкування розкладу Шура з і застосовуючи трик Лауб (тобто, замінюючи унітарний фактор Шура з[ Я 0 Х Я ]ХНН[ U 11 U 12 U 21 U 22 ][ U 11 - U 12 U 12 U 11 ]H^=M1HM=[A^G^0A^T]A^[I0XI]XHH[U11U12U21U22][U11U12U12U11] ). Можливо, у вас виникнуть проблеми, якщо Гамільтоніан має власні значення на уявній осі, але це довга історія, і зараз я вважаю, що це не трапиться у вашій проблемі.

Коли у вас є , у вас є , і ви можете обчислити де розв'язує певне рівняння Ляпунова, я вважаю, щось на зразок (знаки можуть бути неправильними; накладати та розгорніть блоки, щоб отримати правильне рівняння. Знайдіть "метод Шура-Парлетта" для посилання на ця хитрість).Mexp(H)=Mexp(H^)M1

exp(H^)=[exp(A^)X0exp(A^T)],
X
A^X+XA^T=exp(A^)G^G^exp(A^T)
exp(H^)H^=H^exp(H^)

Тоді ці три фактори є точно симплектичними. Просто використовуйте їх окремо: не обчислюйте товар, інакше ви втратите цю властивість чисельно.


1
В даний час я роблю це дещо по-іншому. Я використовую стабілізуючий SPD-рішення ARE для встановлення перетворення подібності для і отримання як у вашій пропозиції. Тоді дозвольте розв’язати Lyap.eqn та встановіть другий перехід подібності. . Застосувавши це до і отримайте , що є діагоналлю блоків з та як блокиHH~=[A^G0A^T]XLA^XL+XLA^T=GM2=[IXL0I]H^H^^A^AT^
Макс Бер

1

Можливо, ви можете використовувати ієрархічні матриці ( -матриці) та відповідні функціональні можливості бібліотек, які їх підтримують.H

Ефективно, якщо кожна матриця , і добре & ефективно представлена ​​у -матричному форматі, то блокова гамільтонова матриця є ефективно блокова -матриця. Питання про представлення , і в ієрархічній формі зводиться до їх походження: якщо в них можна знайти структури низького рангу (застосовані можливі перестановки індексів рядків / стовпців), такий підхід є життєздатним. Імовірний приклад може бути, якщо , іAGQHHHAGQAGQ виходять з інтегрального рівняння, яке також пояснить їх щільну структуру та потенціал стиснення (залежно від ядра).

Формальна вимога, щоб цей метод спрацював, буде, якщо представлений у -матричному форматі; однак я б почав безпосередньо з побудови -матричного представлення , та і сподіваюся на найкраще. H H A G Q(HλI)1HHAGQ

Застосування -матриць до експонації матриці добре обговорюється в:H

Є кілька бібліотек, які підтримують -матриці. Я знаю, що стара Lib підтримувала деяку експозицію матриці форми і мала необхідні фрагменти для її побудови.HHH

Мінуси такого підходу:

  • покладається на ефективне представлення , таG QAGQ
  • не користується гамільтоновою структурою

Позитивів:

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