Matrice exponentielle d'une matrice hamiltonienne

10

Soit des matrices réelles, carrées et denses. G et Q sont symétriques. LaisserA,G,QGQ

H=[AGQAT]

être une matrice hamiltonienne. Je veux calculer la matrice exponentielle de . J'ai besoin de l'exponentielle matricielle complète, e t H , pas seulement du produit matrice-vecteur. Existe-t-il des algorithmes ou des bibliothèques spécialisés pour calculer l'exponentielle d'une matrice hamiltonienne?HetH

Max Behr
la source
2
Voulez-vous l'exponentielle de la matrice elle-même, ou voulez-vous vraiment simplement résoudre l'ODE ? z˙=Hz
Daniel Shapero
J'ai besoin de l'exponentielle de la matrice elle-même. Mais je peux résoudre de manière équivalente l'ODE . Z˙=HZ, Z(0)=I
Max Behr
2
La structure de Benner préservant les eigensolvers peut gérer la transformation de similitude pour faciliter le calcul exponentiel matriciel.
percusse du
1
@RichardZhang La voie brutale est la décomposition QZ. Vérifiez par exemple à partir de link.springer.com/article/10.1007/s002110050315 pour plus de détails.
percusse
2
Le document intitulé 19 Dubious Ways to Compute the Exponential of a Matrix, 25 Years Later couvre de nombreuses mauvaises (et quelques bonnes) façons de calculer l'exponentielle de la matrice. Il n'est pas spécifique aux problèmes hamiltoniens mais est néanmoins très utile si vous travaillez sur ce type de problèmes.
Daniel Shapero

Réponses:

6

Réponse très rapide ...

L'exponentielle d'une matrice hamiltonienne est symplectique, une propriété que vous souhaitez probablement conserver, sinon vous utiliseriez simplement une méthode ne préservant pas la structure. En effet, il n'y a pas de réel avantage de vitesse à utiliser une méthode structurée, juste une préservation de la structure.

Un moyen possible de résoudre votre problème est le suivant. D' abord trouver une matrice symplectique de telle sorte que H = M - 1 H M = [ A - G 0 - A T ] est hamiltonien et bloquer triangulaire supérieure, et A a les valeurs propres dans le demi-plan gauche. Vous obtenez cette matrice par exemple en prenant [ I 0 X I ] , où X résout l'équation de Riccati associée à HH^=M1HM=[A^G^0A^T]A^[I0XI]XH, ou (plus stable car orthogonale) en réordonnant la décomposition de Schur de et en appliquant l'astuce de Laub (c'est-à-dire en remplaçant le facteur de Schur unitaire [ U 11 U 12 U 21 U 22 ] par [ U 11 - U 12 U 12 U 11 ] ). Vous pouvez avoir du mal à le faire si le hamiltonien a des valeurs propres sur l'axe imaginaire, mais c'est une longue histoire et pour l'instant je suppose que cela ne se produit pas dans votre problème.H[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^)

Les trois facteurs sont alors exactement symplectiques. Il suffit de les utiliser séparément: ne calculez pas le produit ou vous perdrez cette propriété numériquement.

Federico Poloni
la source
1
HH~=[A^G0A^T]XLA^XL+XLA^T=GM2=[IXL0I]H^H^^A^AT^
1

H

AGQHHHAGQAGQ proviennent d'une équation intégrale qui expliquera également leur structure dense et leur potentiel de compression (selon le noyau).

(HλI)1HHAGQ

H

HH

Inconvénients de cette approche:

  • AGQ
  • ne profite pas de la structure hamiltonienne

Positifs:

  • la représentation compressée de la matrice exponentielle, bien que ce soit toujours une matrice, pas seulement un moyen de faire un MVP
  • complexité logarithmique linéaire (à condition que l'hypothèse de bas rang soit là)
  • la bibliothèque pourrait profiter de la transposition et de la symétrie dans les blocs
Anton Menshov
la source