Dlaczego integracja leapfrog jest symplectyczna, a RK4 nie, jeśli ta ostatnia jest dokładniejsza?

13

W systemie, w którym teoretycznie należy oszczędzać energię, najdokładniejsza symulacja pozwoliłaby zaoszczędzić energię (a także podać dokładne pozycje, prędkości itp.). RK4 jest dokładniejszy niż skokowy żaba, ale skokowy oszczędza energię, a RK4 nie. Dlaczego to?

niebezpieczneGurda
źródło

Odpowiedzi:

13

TL; DR: To zależy od tego, jakiej dokładności potrzebujesz.

Oszczędzanie energii nie jest automatycznie równe dokładności. Załóżmy, że chcesz zasymulować układ słoneczny i używasz solwera, który - na przykład z ekstremalnego przykładu - po prostu obraca cały układ o pewien kąt co sekundę. Rozwiązania te oczywiście oszczędzają energię, ale są rażąco niepoprawne.

Z drugiej strony, jeśli chcesz przewidzieć ruchy niebieskie w wystarczająco krótkim czasie, wówczas efekty metody Runge – Kutty, która nie zachowuje energii, są nieistotne. Raczej odbija się to na długoterminowych symulacjach. W krótkich skalach czasowych metoda Runge – Kutta daje dokładniejsze wyniki niż skok skokowy - przynajmniej przy porównywalnym wysiłku obliczeniowym.

Teraz, w długich skalach czasowych, żadna z metod nie daje bardzo dokładnych wyników w sensie przewidywania dokładnej przyszłości niektórych warunków początkowych (co może być również trudne z powodu efektu motyla). Jednak metoda leapfrog daje przynajmniej pewne wiarygodne rozwiązanie, ponieważ energia jest zachowana. Jest to wystarczające w przypadku wielu symulacji, w których jakościowe zachowanie badanych systemów jest interesujące.

Wrzlprmft
źródło
To wykroczyło poza to, o co prosiłem, i dokładnie to, co musiałem wiedzieć, w szczególności mocne strony każdego z nich w różnych skalach czasowych. Ten przykład bardzo pomógł mi zrozumieć. Dziękuję Ci bardzo.
perilousGourd
Zauważ, że metody symplektyczne oszczędzają energię, która jest ZAMKNIĘTA do prawidłowej wartości, ale nieco błędnie, zgodnie z ich kolejnością.
Tom Dickens,