Niech będą rzeczywistymi, kwadratowymi, gęstymi macierzami. G i Q są symetryczne. Pozwolić
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?
linear-algebra
matrix
dense-matrix
Max Behr
źródło
źródło
Odpowiedzi:
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.= [ A^0- G^- A^T.] ZA^ [ JaX0ja] X H. , 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. [ U11U21U12U22] [ U11U12- U12U11]
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) = Mexp( H^) M- 1
Zatem trzy czynniki są dokładnie symplektyczne. Po prostu używaj ich osobno: nie obliczaj produktu, inaczej stracisz tę właściwość liczbowo.
źródło
Wady tego podejścia:
Zalety:
źródło