Wykładnicza macierz macierzy hamiltonowskiej

10

Niech będą rzeczywistymi, kwadratowymi, gęstymi macierzami. G i Q są symetryczne. PozwolićZA,sol,QsolQ

H.=[ZA-sol-Q-ZAT.]

być macierzą hamiltonowską. Chcę obliczyć potęgę naturalną o wykładniku macierzy . Potrzebuję wykładniczej pełnej macierzy, e t H , nie tylko iloczynu macierzowego-wektorowego. Czy dostępne są jakieś wyspecjalizowane algorytmy lub biblioteki do obliczania wykładniczej macierzy hamiltonowskiej?H.mitH.

Max Behr
źródło
2
Czy chcesz samej macierzy wykładniczej, czy po prostu chcesz rozwiązać ODE ? z˙=H.z
Daniel Shapero
Potrzebuję samej wykładniczej macierzy. Lecz równoważnie można rozwiązać Ody . Z˙=H.Z, Z(0)=ja
Max Behr
2
Eigensolwery zachowujące strukturę Bennera mogą poradzić sobie z transformacją podobieństwa w celu ułatwienia obliczania wykładniczego macierzy.
percusse
1
@RichardZhang Brutalny sposób to rozkład QZ. Sprawdź na przykład zaczynając od link.springer.com/article/10.1007/s002110050315, aby uzyskać więcej informacji.
percusse
2
Artykuł 19 Wątpliwe sposoby obliczania wykładniczej macierzy , 25 lat później, obejmuje wiele złych (i kilka dobrych) sposobów obliczania wykładniczej macierzy. Nie jest specyficzny dla problemów hamiltonowskich, ale mimo to jest naprawdę cenny, jeśli pracujesz nad tego rodzaju problemami.
Daniel Shapero,

Odpowiedzi:

6

Bardzo szybka odpowiedź ...

Wykładnik macierzy hamiltonowskiej jest symplektyczny, właściwość, którą prawdopodobnie chciałbyś zachować, w przeciwnym razie po prostu użyłbyś metody nie zachowującej struktury. Rzeczywiście, nie ma rzeczywistej przewagi prędkości w stosowaniu metody strukturalnej, tylko zachowanie struktury.

Możliwy sposób rozwiązania problemu jest następujący. Pierwszy znaleźć symplektycznych matrycy tak, że H = M - 1 H K = [ - G 0 - t ] jest Hamiltona i bloku górnej trójkątny i ma wartości własnych w lewej połowie płaszczyzny. Otrzymujesz tę macierz, na przykład biorąc [ I 0 X I ] , gdzie X rozwiązuje równanie Riccati związane z HH.^=M.-1H.M.=[ZA^-sol^0-ZA^T.]ZA^[ja0Xja]XH., lub (bardziej stabilny, ponieważ jest ortogonalny) poprzez zmianę kolejności rozkładu Schura i zastosowanie sztuczki Lauba (tj. zastąpienie jednolitego współczynnika Schur [ U 11 U 12 U 21 U 22 ] przez [ U 11 - U 12 U 12 U 11 ] ). Możesz mieć problem z zrobieniem tego, jeśli Hamiltonian ma wartości własne na osi urojonej, ale to długa historia i na razie przypuszczam, że nie dzieje się tak w twoim problemie.H.[U11U12U21U22][U11-U12U12U11]

Gdy trzeba trzeba exp ( H ) = M exp ( H ), M - 1 , można obliczyć exp ( H ) = [ exp ( ) X 0 exp ( - t ) ] , gdzie X rozwiązuje pewne równania Lapunowa, uważam coś takiego X + X a TM.exp(H.)=M.exp(H.^)M.-1

exp(H.^)=[exp(ZA^)X0exp(-ZA^T.)],
X (objawy mogą być uszkodzone, nakłada exp ( H ) H = H exp ( H ) i rozszerzają bloków w celu uzyskania prawidłowego równanie. Odszukaj „metodę Schur-Parletta”, aby znaleźć odniesienie do tej sztuczki).
ZA^X+XZA^T.=-exp(ZA^)sol^-sol^exp(-ZA^T.)
exp(H.^)H.^=H.^exp(H.^)

Zatem trzy czynniki są dokładnie symplektyczne. Po prostu używaj ich osobno: nie obliczaj produktu, inaczej stracisz tę właściwość liczbowo.

Federico Poloni
źródło
1
H.H.~=[ZA^-sol0-ZA^T.]XL.ZA^XL.+XL.ZA^T.=-solM.2)=[jaXL.0ja]H.^H.^^ZA^-ZAT.^
1

H.

ZAsolQH.H.H.ZAsolQZAsolQ pochodzą z integralnego równania, które wyjaśni również ich gęstą strukturę i potencjał do kompresji (w zależności od jądra).

(H.-λja)-1H.H.ZAsolQ

H.

H.H.

Wady tego podejścia:

  • ZAsolQ
  • nie korzysta ze struktury hamiltonowskiej

Zalety:

  • skompresowana reprezentacja macierzy wykładniczej, choć nadal jest to macierz, a nie tylko sposób na wykonanie MVP
  • złożoność liniowo-logarytmiczna (pod warunkiem, że istnieje założenie niskiej rangi)
  • biblioteka może skorzystać z transpozycji i symetrii w blokach
Anton Menshov
źródło