<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Leapfrog-Verfahren</id>
	<title>Leapfrog-Verfahren - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Leapfrog-Verfahren"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Leapfrog-Verfahren&amp;action=history"/>
	<updated>2026-06-21T02:58:56Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Leapfrog-Verfahren&amp;diff=1240717&amp;oldid=prev</id>
		<title>imported&gt;Rosenfalter: /* growthexperiments-addlink-summary-summary:1|0|2 */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Leapfrog-Verfahren&amp;diff=1240717&amp;oldid=prev"/>
		<updated>2024-11-18T21:26:54Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;growthexperiments-addlink-summary-summary:1|0|2&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Das &amp;#039;&amp;#039;&amp;#039;Leapfrog-Verfahren&amp;#039;&amp;#039;&amp;#039; ist eine einfache Methode zur [[Numerische Integration|numerischen Integration]] einer [[Gewöhnliche Differentialgleichung|gewöhnlichen Differentialgleichung]] vom Typ&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; \ddot x = \dot v = a(x) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
beziehungsweise allgemeiner von [[konservatives System|konservativen Systemen]] &amp;lt;math&amp;gt;\ddot{\mathbf{x}} =- \frac {\mathrm{grad}\,V(\mathbf{x})} {M}&amp;lt;/math&amp;gt; die dem [[Zweites newtonsches Gesetz|2. Newtonschen Axiom]] der klassischen Dynamik folgen und beispielsweise die Bewegung eines oder mehrerer Objekte in einem [[Potentialfeld]] &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; beschreiben:&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot {\vec x}_k&lt;br /&gt;
  =-\frac{1}{m_k}\nabla_{{\vec x}_k}&lt;br /&gt;
      V\left({\vec x}_1,\dots,{\vec x}_N\right),\quad k=1,\dots,N.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Leapfrog-Integration ist eine Methode zweiter Ordnung und liefert deshalb im Allgemeinen genauere Ergebnisse als zum Beispiel das [[Eulersches Polygonzugverfahren|eulersche Polygonzugverfahren]], das nur von erster Ordnung ist. Außerdem ist es invariant unter Zeitumkehr und erhält in physikalischen Problemstellungen Größen wie den [[Impuls]] und [[Drehimpuls]], die auch Erhaltungsgrößen des Originalsystems sind, exakt. Des Weiteren wird eine gestörte [[Energie]]funktion in Ordnung &amp;#039;&amp;#039;3&amp;#039;&amp;#039; erhalten, während das Verfahren die globale Konvergenzordnung &amp;#039;&amp;#039;2&amp;#039;&amp;#039; hat.&lt;br /&gt;
&lt;br /&gt;
== Darstellung als Leapfrog-Verfahren ==&lt;br /&gt;
&lt;br /&gt;
Die Leapfrog-Integration berechnet abwechselnd die Positionen &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; und die Geschwindigkeiten &amp;lt;math&amp;gt; v &amp;lt;/math&amp;gt; zu unterschiedlichen Zeitpunkten, ähnlich wie beim [[Bockspringen]] (engl. leapfrog). Die Schritt-Gleichungen für das Verfahren lauten:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\begin{align}&lt;br /&gt;
  x_{i+1} &amp;amp;= x_i + v_{i+1/2}\, \Delta t\\[.3em]&lt;br /&gt;
  v_{i+3/2} &amp;amp;= v_{i+1/2} + a(x_{i+1}) \,\Delta t&lt;br /&gt;
\end{align}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mit den Startwerten &amp;lt;math&amp;gt; x_0 &amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt; v_{1/2} &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Darstellung als Einschrittverfahren ==&lt;br /&gt;
&lt;br /&gt;
Durch lineare Interpolation von Zwischenwerten kann das Leapfrog-Verfahren als Kombination der zwei Varianten des [[symplektisches Eulerverfahren|symplektischen Eulerverfahrens]] betrachtet werden:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\begin{align}&lt;br /&gt;
\text{(SE1)}\quad&amp;amp;\left\{\begin{array}{rcl}&lt;br /&gt;
  v_{i+1/2}&amp;amp;=&amp;amp;v_i+a(x_i) \frac{\Delta t}{2}\\[.5em]&lt;br /&gt;
  x_{i+1/2}&amp;amp;=&amp;amp;x_i+v_{i+1/2} \frac{\Delta t}{2}&lt;br /&gt;
\end{array}\right.\\[.7em]&lt;br /&gt;
\text{(SE2)}\quad&amp;amp;\left\{\begin{array}{rcl}&lt;br /&gt;
  x_{i+1} &amp;amp;=&amp;amp; x_{i+1/2} + v_{i+1/2} \frac{\Delta t}{2}\\[.5em]&lt;br /&gt;
  v_{i+1} &amp;amp;=&amp;amp; v_{i+1/2} + a(x_{i+1}) \frac{\Delta t}{2}&lt;br /&gt;
\end{array}\right.\\&lt;br /&gt;
\end{align}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jeder einzelne Schritt und damit auch die Zusammensetzung ist eine symplektische Transformation und erhält daher Volumina im [[Phasenraum]]. Daraus folgt auch die exakte Erhaltung von Impuls und [[Winkelgeschwindigkeit]], soweit das exakte System diese erhält. Einsetzen von (SE1) und (SE2) ineinander führt zu:&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{array}{rcl}&lt;br /&gt;
  x_{i+1} &amp;amp; = &amp;amp; x_i + v_i \Delta t + a(x_i) \frac{\Delta t^2}{2} \\&lt;br /&gt;
  v_{i+1} &amp;amp; = &amp;amp; v_i +\left(a(x_{i+1})+a(x_i)\right) \frac{\Delta t}{2}&lt;br /&gt;
\end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D.&amp;amp;nbsp;h., dass der neue Ort durch Taylorentwicklung bis zur zweiten Ordnung ausgehend&lt;br /&gt;
vom alten Ort im Phasenraum projiziert wird und die neue Geschwindigkeit bis zur&lt;br /&gt;
ersten Ordnung; allerdings mit einer modifizierten Beschleunigung, die der Mittelwert&lt;br /&gt;
der beiden Beschleunigungen zu den Zeitpunkten &amp;lt;math&amp;gt;t_i&amp;lt;/math&amp;gt;&lt;br /&gt;
und &amp;lt;math&amp;gt;t_{i+1}&amp;lt;/math&amp;gt; ist.&lt;br /&gt;
&lt;br /&gt;
== Darstellung als Mehrschrittverfahren ==&lt;br /&gt;
&lt;br /&gt;
Eliminiert man aus der Leapfrog-Version die Geschwindigkeitsberechnungen, so ergibt sich&lt;br /&gt;
:&amp;lt;math&amp;gt;\begin{align}&lt;br /&gt;
(x_{i+1}-x_i)-(x_i-x_{i-1})&lt;br /&gt;
  &amp;amp;=(v_{i+1/2}-v_{i-1/2})\,\Delta t\\[.3em]&lt;br /&gt;
x_{i+1}-2x_i+x_{i-1}&lt;br /&gt;
  &amp;amp;= a(x_i)\,\Delta t^2\\[.7em]&lt;br /&gt;
\implies\quad&lt;br /&gt;
x_{i+1}=2x_i-x_{i-1}&amp;amp;+a(x_i)\,\Delta t^2,&lt;br /&gt;
  \text{ mit Startwerten }x_0, x_1=x_0+v_0\,\Delta t+\tfrac12 a(x_0)\,\Delta t^2&lt;br /&gt;
\end{align}&amp;lt;/math&amp;gt;&lt;br /&gt;
das [[Verlet-Verfahren]] das als symmetrische Diskretisierung von &amp;lt;math&amp;gt;\ddot x=a(x)&amp;lt;/math&amp;gt; auch direkt hergeleitet werden kann. Diese Diskretisierung hat einen lokalen Fehler von &amp;lt;math&amp;gt;O(\Delta t^4)&amp;lt;/math&amp;gt; und damit (wegen der zweifachen Integration) einen globalen Fehler der Größe &amp;lt;math&amp;gt;O(t_N^2\Delta t^2)&amp;lt;/math&amp;gt; für die Differenz &amp;lt;math&amp;gt;x(t_N)-x_N&amp;lt;/math&amp;gt; zwischen exakter und Näherungslösung zur Endzeit &amp;lt;math&amp;gt;t_N=t_0+N\Delta t&amp;lt;/math&amp;gt;. Eine weitere Variante ist unter dem Namen Velocity-Verlet bekannt&amp;lt;ref name=&amp;quot;Griebel2004&amp;quot; /&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Geschichte ==&lt;br /&gt;
Eine erste Beschreibung dieses Verfahrens wurde von [[Richard Feynman]] in [[Isaac Newton]]s &amp;#039;&amp;#039;Principia&amp;#039;&amp;#039; von 1687 in einem Argument zur Herleitung der Keplerschen Gesetze aus den Bewegungsgleichungen gefunden. Neben anderen wurden Varianten dieses Verfahrens 1860 von J. F. Encke und 1907 von C. Störmer verwendet.&amp;lt;ref name=&amp;quot;hairer2003&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
Betrachtet man die Schwingungsgleichung &amp;lt;math&amp;gt;\ddot x+x=0&amp;lt;/math&amp;gt; mit der exakten Lösung &amp;lt;math&amp;gt;x(t)=C\,\cos (t+\phi)&amp;lt;/math&amp;gt;, so erhält man für &amp;lt;math&amp;gt;\dot x=v,\;\dot v=-x&amp;lt;/math&amp;gt; in der Einschrittformulierung den Übergang&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\binom{x_{k+1}}{v_{k+1}}=&lt;br /&gt;
\begin{pmatrix}1-\tfrac12 \Delta t^2&amp;amp;\Delta t\\-\Delta t(1-\tfrac14 \Delta t^2)&amp;amp;1-\tfrac12 \Delta t^2\end{pmatrix}&lt;br /&gt;
\binom{x_k}{v_k}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es stellt sich heraus, dass das modifizierte Energiefunktional&lt;br /&gt;
&amp;lt;math&amp;gt;E_{\Delta t}(v,x)=\tfrac12\left(v^2+(1-\tfrac14\Delta t^2)x^2\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
exakt erhalten wird. Genauer gilt &amp;lt;math&amp;gt;E_{\Delta t}(v_n,x_n)=E(v_0,x_0).&amp;lt;/math&amp;gt; Damit hat der Fehler in der Energie eine globale Schranke der Ordnung &amp;lt;math&amp;gt;O(\Delta t^2)&amp;lt;/math&amp;gt;. Die Näherungslösung verläuft für alle Zeiten auf den durch das konstante modifizierte Energieniveau definierten Ellipsen.&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;hairer2003&amp;quot;&amp;gt;{{cite journal&lt;br /&gt;
| author=Ernst Hairer&lt;br /&gt;
| coauthors=Christian Lubich, Gerhard Wanner&lt;br /&gt;
| title=Geometric numerical integration illustrated by the Störmer/Verlet method&lt;br /&gt;
| journal = Acta Numerica&lt;br /&gt;
| year = 2003&lt;br /&gt;
| volume = 12&lt;br /&gt;
| pages = 399–450&lt;br /&gt;
| url=https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.7.7106&lt;br /&gt;
| doi=10.1017/S0962492902000144&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;Griebel2004&amp;quot;&amp;gt;&lt;br /&gt;
{{Literatur&lt;br /&gt;
 | Autor=Michael Griebel, Stefan Knapek, Gerhard Zumbusch, Attila Caglar&lt;br /&gt;
 | Titel=Numerische Simulation in der Moleküldynamik&lt;br /&gt;
 | Auflage=&lt;br /&gt;
 | Verlag=Springer&lt;br /&gt;
 | Ort=&lt;br /&gt;
 | Jahr=2004&lt;br /&gt;
 | ISBN=&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Theorie gewöhnlicher Differentialgleichungen]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Rosenfalter</name></author>
	</entry>
</feed>