1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4<title>Class template symplectic_euler</title> 5<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> 6<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> 7<link rel="home" href="../../../index.html" title="Chapter 1. Boost.Numeric.Odeint"> 8<link rel="up" href="../../../header/boost/numeric/odeint/stepper/symplectic_euler_hpp.html" title="Header <boost/numeric/odeint/stepper/symplectic_euler.hpp>"> 9<link rel="prev" href="../../../header/boost/numeric/odeint/stepper/symplectic_euler_hpp.html" title="Header <boost/numeric/odeint/stepper/symplectic_euler.hpp>"> 10<link rel="next" href="../../../header/boost/numeric/odeint/stepper/symplectic_rkn_sb3a_m4_mclachlan_hpp.html" title="Header <boost/numeric/odeint/stepper/symplectic_rkn_sb3a_m4_mclachlan.hpp>"> 11</head> 12<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> 13<table cellpadding="2" width="100%"><tr> 14<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../logo.jpg"></td> 15<td align="center"><a href="../../../../../../../../index.html">Home</a></td> 16<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> 17<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> 18<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> 19<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td> 20</tr></table> 21<hr> 22<div class="spirit-nav"> 23<a accesskey="p" href="../../../header/boost/numeric/odeint/stepper/symplectic_euler_hpp.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../header/boost/numeric/odeint/stepper/symplectic_euler_hpp.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../../header/boost/numeric/odeint/stepper/symplectic_rkn_sb3a_m4_mclachlan_hpp.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> 24</div> 25<div class="refentry"> 26<a name="boost.numeric.odeint.symplectic_euler"></a><div class="titlepage"></div> 27<div class="refnamediv"> 28<h2><span class="refentrytitle">Class template symplectic_euler</span></h2> 29<p>boost::numeric::odeint::symplectic_euler — Implementation of the symplectic Euler method. </p> 30</div> 31<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> 32<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../../header/boost/numeric/odeint/stepper/symplectic_euler_hpp.html" title="Header <boost/numeric/odeint/stepper/symplectic_euler.hpp>">boost/numeric/odeint/stepper/symplectic_euler.hpp</a>> 33 34</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Coor<span class="special">,</span> <span class="keyword">typename</span> Momentum <span class="special">=</span> <span class="identifier">Coor</span><span class="special">,</span> <span class="keyword">typename</span> Value <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span> 35 <span class="keyword">typename</span> CoorDeriv <span class="special">=</span> <span class="identifier">Coor</span><span class="special">,</span> <span class="keyword">typename</span> MomentumDeriv <span class="special">=</span> <span class="identifier">Coor</span><span class="special">,</span> 36 <span class="keyword">typename</span> Time <span class="special">=</span> <span class="identifier">Value</span><span class="special">,</span> 37 <span class="keyword">typename</span> Algebra <span class="special">=</span> <span class="keyword">typename</span> <span class="identifier">algebra_dispatcher</span><span class="special"><</span> <span class="identifier">Coor</span> <span class="special">></span><span class="special">::</span><span class="identifier">algebra_type</span><span class="special">,</span> 38 <span class="keyword">typename</span> Operations <span class="special">=</span> <span class="keyword">typename</span> <span class="identifier">operations_dispatcher</span><span class="special"><</span> <span class="identifier">Coor</span> <span class="special">></span><span class="special">::</span><span class="identifier">operations_type</span><span class="special">,</span> 39 <span class="keyword">typename</span> Resizer <span class="special">=</span> <span class="identifier">initially_resizer</span><span class="special">></span> 40<span class="keyword">class</span> <a class="link" href="symplectic_euler.html" title="Class template symplectic_euler">symplectic_euler</a> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">symplectic_nystroem_stepper_base</span> <span class="special">{</span> 41<span class="keyword">public</span><span class="special">:</span> 42 <span class="comment">// types</span> 43 <span class="keyword">typedef</span> <span class="identifier">stepper_base_type</span><span class="special">::</span><span class="identifier">algebra_type</span> <a name="boost.numeric.odeint.symplectic_euler.algebra_type"></a><span class="identifier">algebra_type</span><span class="special">;</span> 44 <span class="keyword">typedef</span> <span class="identifier">stepper_base_type</span><span class="special">::</span><span class="identifier">value_type</span> <a name="boost.numeric.odeint.symplectic_euler.value_type"></a><span class="identifier">value_type</span><span class="special">;</span> 45 46 <span class="comment">// <a class="link" href="symplectic_euler.html#boost.numeric.odeint.symplectic_eulerconstruct-copy-destruct">construct/copy/destruct</a></span> 47 <a class="link" href="symplectic_euler.html#idm45875525522816-bb"><span class="identifier">symplectic_euler</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">algebra_type</span> <span class="special">&</span> <span class="special">=</span> <span class="identifier">algebra_type</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span> 48<span class="special">}</span><span class="special">;</span></pre></div> 49<div class="refsect1"> 50<a name="idm45600368189264"></a><h2>Description</h2> 51<p>The method is of first order and has one stage. It is described HERE.</p> 52<p> 53</p> 54<div class="refsect2"> 55<a name="idm45600368188336"></a><h3>Template Parameters</h3> 56<div class="orderedlist"><ol class="orderedlist" type="1"> 57<li class="listitem"> 58<pre class="literallayout"><span class="keyword">typename</span> Coor</pre> 59<p>The type representing the coordinates q. </p> 60</li> 61<li class="listitem"> 62<pre class="literallayout"><span class="keyword">typename</span> Momentum <span class="special">=</span> <span class="identifier">Coor</span></pre> 63<p>The type representing the coordinates p. </p> 64</li> 65<li class="listitem"> 66<pre class="literallayout"><span class="keyword">typename</span> Value <span class="special">=</span> <span class="keyword">double</span></pre> 67<p>The basic value type. Should be something like float, double or a high-precision type. </p> 68</li> 69<li class="listitem"> 70<pre class="literallayout"><span class="keyword">typename</span> CoorDeriv <span class="special">=</span> <span class="identifier">Coor</span></pre> 71<p>The type representing the time derivative of the coordinate dq/dt. </p> 72</li> 73<li class="listitem"><pre class="literallayout"><span class="keyword">typename</span> MomentumDeriv <span class="special">=</span> <span class="identifier">Coor</span></pre></li> 74<li class="listitem"> 75<pre class="literallayout"><span class="keyword">typename</span> Time <span class="special">=</span> <span class="identifier">Value</span></pre> 76<p>The type representing the time t. </p> 77</li> 78<li class="listitem"> 79<pre class="literallayout"><span class="keyword">typename</span> Algebra <span class="special">=</span> <span class="keyword">typename</span> <span class="identifier">algebra_dispatcher</span><span class="special"><</span> <span class="identifier">Coor</span> <span class="special">></span><span class="special">::</span><span class="identifier">algebra_type</span></pre> 80<p>The algebra. </p> 81</li> 82<li class="listitem"> 83<pre class="literallayout"><span class="keyword">typename</span> Operations <span class="special">=</span> <span class="keyword">typename</span> <span class="identifier">operations_dispatcher</span><span class="special"><</span> <span class="identifier">Coor</span> <span class="special">></span><span class="special">::</span><span class="identifier">operations_type</span></pre> 84<p>The operations. </p> 85</li> 86<li class="listitem"> 87<pre class="literallayout"><span class="keyword">typename</span> Resizer <span class="special">=</span> <span class="identifier">initially_resizer</span></pre> 88<p>The resizer policy. </p> 89</li> 90</ol></div> 91</div> 92<div class="refsect2"> 93<a name="idm45600368151840"></a><h3> 94<a name="boost.numeric.odeint.symplectic_eulerconstruct-copy-destruct"></a><code class="computeroutput">symplectic_euler</code> 95 public 96 construct/copy/destruct</h3> 97<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> 98<pre class="literallayout"><a name="idm45875525522816-bb"></a><span class="identifier">symplectic_euler</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">algebra_type</span> <span class="special">&</span> algebra <span class="special">=</span> <span class="identifier">algebra_type</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre>Constructs the <code class="computeroutput"><a class="link" href="symplectic_euler.html" title="Class template symplectic_euler">symplectic_euler</a></code>. This constructor can be used as a default constructor if the algebra has a default constructor. <p> 99</p> 100<div class="variablelist"><table border="0" class="variablelist compact"> 101<colgroup> 102<col align="left" valign="top"> 103<col> 104</colgroup> 105<tbody><tr> 106<td><p><span class="term">Parameters:</span></p></td> 107<td><div class="variablelist"><table border="0" class="variablelist compact"> 108<colgroup> 109<col align="left" valign="top"> 110<col> 111</colgroup> 112<tbody><tr> 113<td><p><span class="term"><code class="computeroutput">algebra</code></span></p></td> 114<td><p>A copy of algebra is made and stored inside explicit_stepper_base. </p></td> 115</tr></tbody> 116</table></div></td> 117</tr></tbody> 118</table></div> 119</li></ol></div> 120</div> 121</div> 122</div> 123<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 124<td align="left"></td> 125<td align="right"><div class="copyright-footer">Copyright © 2009-2015 Karsten Ahnert and Mario Mulansky<p> 126 Distributed under the Boost Software License, Version 1.0. (See accompanying 127 file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) 128 </p> 129</div></td> 130</tr></table> 131<hr> 132<div class="spirit-nav"> 133<a accesskey="p" href="../../../header/boost/numeric/odeint/stepper/symplectic_euler_hpp.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../header/boost/numeric/odeint/stepper/symplectic_euler_hpp.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../../header/boost/numeric/odeint/stepper/symplectic_rkn_sb3a_m4_mclachlan_hpp.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> 134</div> 135</body> 136</html> 137