Çok hızlı cevap ...
Hamilton matrisinin üssü sezgiseldir, muhtemelen korumak istediğiniz bir özelliktir, aksi takdirde basitçe yapı koruyucu olmayan bir yöntem kullanırsınız. Gerçekten de, yapılandırılmış yöntemi kullanmanın gerçek bir hız avantajı yoktur, sadece yapının korunmasıdır.
Sorununuzu çözmenin olası bir yolu şudur. Birinci böyle bir simplektik matrisi H = M - 1 H E = [ A - G 0 - bir T ] Hamilton ve üst üçgen blok ve bir sol yarı düzlem içinde özdeğer sahiptir. Bu alarak, örneğin, bu matris elde [ I 0 X I ] , burada X, ilişkili Riccatti denklemi çözer H'H^= M- 1'HM= [ A^0- G^- A^T]bir^[ BenX0ben]X'Hveya (ortogonal olduğundan daha kararlı) Schur ayrışmasını yeniden düzenleyerek ve Laub hile uygulayarak (yani, üniter Schur faktörünü [ U 11 U 12 U 21 U 22 ] [ U 11 - U 12 U 12 U 11 ] ile değiştirerek ] ). Hamiltonyan'ın hayali eksende özdeğerleri varsa bunu yapmakta zorluk çekebilirsiniz, ancak bu uzun bir hikaye ve şimdilik bunun sizin probleminizde olmadığını varsayacağım.'H[ U11U21U12U22][ U11U12- U12U11]
Bir kez , sahip exp ( lH ) = E exp ( lH ) M - 1 ve hesaplayabilir
exp ( lH ) = [ exp ( A ) X, 0 exp ( - bir T ) ] ,
burada X gibi bir şey inanmak, belli Lyapunov denklemi çözer A X + X A TMtecrübe( H) = Mtecrübe( H^) M- 1
tecrübe( H^) = [ exp( A^)0Xtecrübe( - A^T)] ,
X (işaretler yanlış olabilir; empoze
exp ( lH ) H = H exp ( H ) ve doğru denklem elde etmek için bloklar genişletmek. Bu hile için "Schur-Parlett yöntemi" konusuna bakın).
bir^X+ Xbir^T= - tecrübe( A^) G^- G^tecrübe( - A^T)
tecrübe( H^) H^= H^tecrübe( H^)
O zaman üç faktör tam olarak sezgiseldir. Bunları ayrı ayrı kullanın: ürünü hesaplamayın yoksa bu özelliği sayısal olarak kaybedersiniz.