Пусть - вещественные квадратные плотные матрицы. и симметричны. ПозволятьG Q
быть гамильтоновой матрицей. Я хочу , чтобы вычислить матрицу экспоненту . Мне нужна полная матричная экспонента, , а не только произведение матрицы на вектор. Существуют ли какие-либо специализированные алгоритмы или библиотеки для вычисления экспоненты гамильтоновой матрицы?e t H
linear-algebra
matrix
dense-matrix
Макс Бер
источник
источник
Ответы:
Очень быстрый ответ ...
Экспонента гамильтоновой матрицы является симплектической, свойство, которое вы, вероятно, хотели бы сохранить, в противном случае вы просто использовали бы метод, не сохраняющий структуру. Действительно, в использовании структурированного метода нет реального преимущества в скорости, только сохранение структуры.
Возможный способ решения вашей проблемы заключается в следующем. Сначала найдите симплектическую матрицу, такую что является гамильтоновым и блочным верхним треугольником, а имеет собственные значения в левой полуплоскости. Вы можете получить эту матрицу, например, взяв , где решает уравнение Риккати, связанное с , или (более устойчиво, поскольку оно ортогонально), переупорядочив разложение Шура из и применяя трик Лауб (то есть, заменяя унитарный фактор Шура с[ Я 0 Х Я ]ХНН[ U 11 U 12 U 21 U 22 ][ U 11 - U 12H^=M−1HM=[A^0−G^−A^T] A^ [IX0I] X H H [U11U21U12U22] [U11U12−U12U11] ). У вас могут возникнуть проблемы, если у гамильтониана есть собственные значения на мнимой оси, но это длинная история, и пока я полагаю, что это не произойдет в вашей проблеме.
Если у вас есть , у вас есть , и вы можете вычислить где решает определенное уравнение Ляпунова, я полагаю, что-то вроде (знаки могут быть неправильными; накладывать и разверните блоки, чтобы получить правильное уравнение. Найдите «метод Шура-Парлетта» для ссылки на этот трюк).ехр ( Н ) = М ехр ( Н ) М - 1 ехр ( Н ) = [ ехр ( ) Х 0 ехр ( - Т ) ] , Х Х + Х Т = - ехр ( ) G - G ехрM exp(H)=Mexp(H^)M−1
Тогда три фактора являются точно симплектическими. Просто используйте их отдельно: не рассчитывайте продукт, иначе вы потеряете это свойство в числовом выражении.
источник
Возможно, у вас есть возможность использовать иерархические матрицы ( -матрицы) и соответствующие функции библиотек, которые их поддерживают.H
Фактически, если каждая матрица , и хорошо и эффективно представлена в формате -матрицы, то блочная гамильтонова матрица фактически является блочной -матрицей. Вопрос о представлении , и в иерархической форме сводится к их происхождению: если в них можно найти низкоранговые структуры (применяются возможные перестановки индексов строк / столбцов), то этот подход является жизнеспособным. Правдоподобный пример был бы, если , иG Q H H H A GA G Q H H H A G A G QQ A G Q приходят из интегрального уравнения, которое также объяснит их плотную структуру и потенциал для сжатия (в зависимости от ядра).
Формальное требование, чтобы этот метод работал, будет, если(H−λI)−1 H H A G Q
Недостатки этого подхода:
Положительных:
источник