• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<html>
2<head>
3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4<title>Overview</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="../getting_started.html" title="Getting started">
9<link rel="prev" href="../getting_started.html" title="Getting started">
10<link rel="next" href="usage__compilation__headers.html" title="Usage, Compilation, Headers">
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="../getting_started.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../getting_started.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="usage__compilation__headers.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
24</div>
25<div class="section">
26<div class="titlepage"><div><div><h3 class="title">
27<a name="boost_numeric_odeint.getting_started.overview"></a><a class="link" href="overview.html" title="Overview">Overview</a>
28</h3></div></div></div>
29<p>
30        odeint is a library for solving initial value problems (IVP) of ordinary
31        differential equations. Mathematically, these problems are formulated as
32        follows:
33      </p>
34<p>
35        <span class="emphasis"><em>x'(t) = f(x,t)</em></span>, <span class="emphasis"><em>x(0) = x0</em></span>.
36      </p>
37<p>
38        <span class="emphasis"><em>x</em></span> and <span class="emphasis"><em>f</em></span> can be vectors and the
39        solution is some function <span class="emphasis"><em>x(t)</em></span> fulfilling both equations
40        above. In the following we will refer to <span class="emphasis"><em>x'(t)</em></span> also
41        <code class="computeroutput"><span class="identifier">dxdt</span></code> which is also our notation
42        for the derivative in the source code.
43      </p>
44<p>
45        Ordinary differential equations occur nearly everywhere in natural sciences.
46        For example, the whole Newtonian mechanics are described by second order
47        differential equations. Be sure, you will find them in every discipline.
48        They also occur if partial differential equations (PDEs) are discretized.
49        Then, a system of coupled ordinary differential occurs, sometimes also referred
50        as lattices ODEs.
51      </p>
52<p>
53        Numerical approximations for the solution <span class="emphasis"><em>x(t)</em></span> are calculated
54        iteratively. The easiest algorithm is the Euler scheme, where starting at
55        <span class="emphasis"><em>x(0)</em></span> one finds <span class="emphasis"><em>x(dt) = x(0) + dt f(x(0),0)</em></span>.
56        Now one can use <span class="emphasis"><em>x(dt)</em></span> and obtain <span class="emphasis"><em>x(2dt)</em></span>
57        in a similar way and so on. The Euler method is of order 1, that means the
58        error at each step is <span class="emphasis"><em>~ dt<sup>2</sup></em></span>. This is, of course, not
59        very satisfying, which is why the Euler method is rarely used for real life
60        problems and serves just as illustrative example.
61      </p>
62<p>
63        The main focus of odeint is to provide numerical methods implemented in a
64        way where the algorithm is completely independent on the data structure used
65        to represent the state <span class="emphasis"><em>x</em></span>. In doing so, odeint is applicable
66        for a broad variety of situations and it can be used with many other libraries.
67        Besides the usual case where the state is defined as a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span></code>
68        or a <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code>, we provide native support for the
69        following libraries:
70      </p>
71<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
72<li class="listitem">
73            <a href="http://www.boost.org/doc/libs/release/libs/numeric/ublas/index.html" target="_top">Boost.uBLAS</a>
74          </li>
75<li class="listitem">
76            <a href="http://code.google.com/p/thrust/" target="_top">Thrust</a>, making
77            odeint naturally running on CUDA devices
78          </li>
79<li class="listitem">
80            gsl_vector for compatibility with the many numerical function in the
81            GSL
82          </li>
83<li class="listitem">
84            <a href="http://www.boost.org/doc/libs/release/libs/range/" target="_top">Boost.Range</a>
85          </li>
86<li class="listitem">
87            <a href="http://www.boost.org/doc/libs/release/libs/fusion/" target="_top">Boost.Fusion</a>
88            (the state type can be a fusion vector)
89          </li>
90<li class="listitem">
91            <a href="http://www.boost.org/doc/libs/release/libs/units/" target="_top">Boost.Units</a>
92          </li>
93<li class="listitem">
94            <a href="http://software.intel.com/en-us/articles/intel-mkl/" target="_top">Intel
95            Math Kernel Library</a> for maximum performance
96          </li>
97<li class="listitem">
98            <a href="https://github.com/ddemidov/vexcl" target="_top">VexCL</a> for OpenCL
99          </li>
100<li class="listitem">
101            <a href="http://www.boost.org/doc/libs/release/libs/graph/" target="_top">Boost.Graph</a>
102            (still experimentally)
103          </li>
104</ul></div>
105<p>
106        In odeint, the following algorithms are implemented:
107      </p>
108<div class="table">
109<a name="boost_numeric_odeint.getting_started.overview.stepper_algorithms"></a><p class="title"><b>Table 1.1. Stepper Algorithms</b></p>
110<div class="table-contents"><table class="table" summary="Stepper Algorithms">
111<colgroup>
112<col>
113<col>
114<col>
115<col>
116<col>
117<col>
118<col>
119<col>
120<col>
121</colgroup>
122<thead><tr>
123<th>
124                <p>
125                  Algorithm
126                </p>
127              </th>
128<th>
129                <p>
130                  Class
131                </p>
132              </th>
133<th>
134                <p>
135                  Concept
136                </p>
137              </th>
138<th>
139                <p>
140                  System Concept
141                </p>
142              </th>
143<th>
144                <p>
145                  Order
146                </p>
147              </th>
148<th>
149                <p>
150                  Error Estimation
151                </p>
152              </th>
153<th>
154                <p>
155                  Dense Output
156                </p>
157              </th>
158<th>
159                <p>
160                  Internal state
161                </p>
162              </th>
163<th>
164                <p>
165                  Remarks
166                </p>
167              </th>
168</tr></thead>
169<tbody>
170<tr>
171<td>
172                <p>
173                  Explicit Euler
174                </p>
175              </td>
176<td>
177                <p>
178                  <code class="computeroutput"><span class="identifier">euler</span></code>
179                </p>
180              </td>
181<td>
182                <p>
183                  <a class="link" href="../concepts/dense_output_stepper.html" title="Dense Output Stepper">Dense
184                  Output Stepper</a>
185                </p>
186              </td>
187<td>
188                <p>
189                  <a class="link" href="../concepts/system.html" title="System">System</a>
190                </p>
191              </td>
192<td>
193                <p>
194                  1
195                </p>
196              </td>
197<td>
198                <p>
199                  No
200                </p>
201              </td>
202<td>
203                <p>
204                  Yes
205                </p>
206              </td>
207<td>
208                <p>
209                  No
210                </p>
211              </td>
212<td>
213                <p>
214                  Very simple, only for demonstrating purpose
215                </p>
216              </td>
217</tr>
218<tr>
219<td>
220                <p>
221                  Modified Midpoint
222                </p>
223              </td>
224<td>
225                <p>
226                  <code class="computeroutput"><span class="identifier">modified_midpoint</span></code>
227                </p>
228              </td>
229<td>
230                <p>
231                  <a class="link" href="../concepts/stepper.html" title="Stepper">Stepper</a>
232                </p>
233              </td>
234<td>
235                <p>
236                  <a class="link" href="../concepts/system.html" title="System">System</a>
237                </p>
238              </td>
239<td>
240                <p>
241                  configurable (2)
242                </p>
243              </td>
244<td>
245                <p>
246                  No
247                </p>
248              </td>
249<td>
250                <p>
251                  No
252                </p>
253              </td>
254<td>
255                <p>
256                  No
257                </p>
258              </td>
259<td>
260                <p>
261                  Used in Bulirsch-Stoer implementation
262                </p>
263              </td>
264</tr>
265<tr>
266<td>
267                <p>
268                  Runge-Kutta 4
269                </p>
270              </td>
271<td>
272                <p>
273                  <code class="computeroutput"><span class="identifier">runge_kutta4</span></code>
274                </p>
275              </td>
276<td>
277                <p>
278                  <a class="link" href="../concepts/stepper.html" title="Stepper">Stepper</a>
279                </p>
280              </td>
281<td>
282                <p>
283                  <a class="link" href="../concepts/system.html" title="System">System</a>
284                </p>
285              </td>
286<td>
287                <p>
288                  4
289                </p>
290              </td>
291<td>
292                <p>
293                  No
294                </p>
295              </td>
296<td>
297                <p>
298                  No
299                </p>
300              </td>
301<td>
302                <p>
303                  No
304                </p>
305              </td>
306<td>
307                <p>
308                  The classical Runge-Kutta scheme, good general scheme without error
309                  control
310                </p>
311              </td>
312</tr>
313<tr>
314<td>
315                <p>
316                  Cash-Karp
317                </p>
318              </td>
319<td>
320                <p>
321                  <code class="computeroutput"><span class="identifier">runge_kutta_cash_karp54</span></code>
322                </p>
323              </td>
324<td>
325                <p>
326                  <a class="link" href="../concepts/error_stepper.html" title="Error Stepper">Error
327                  Stepper</a>
328                </p>
329              </td>
330<td>
331                <p>
332                  <a class="link" href="../concepts/system.html" title="System">System</a>
333                </p>
334              </td>
335<td>
336                <p>
337                  5
338                </p>
339              </td>
340<td>
341                <p>
342                  Yes (4)
343                </p>
344              </td>
345<td>
346                <p>
347                  No
348                </p>
349              </td>
350<td>
351                <p>
352                  No
353                </p>
354              </td>
355<td>
356                <p>
357                  Good general scheme with error estimation, to be used in controlled_error_stepper
358                </p>
359              </td>
360</tr>
361<tr>
362<td>
363                <p>
364                  Dormand-Prince 5
365                </p>
366              </td>
367<td>
368                <p>
369                  <code class="computeroutput"><span class="identifier">runge_kutta_dopri5</span></code>
370                </p>
371              </td>
372<td>
373                <p>
374                  <a class="link" href="../concepts/error_stepper.html" title="Error Stepper">Error
375                  Stepper</a>
376                </p>
377              </td>
378<td>
379                <p>
380                  <a class="link" href="../concepts/system.html" title="System">System</a>
381                </p>
382              </td>
383<td>
384                <p>
385                  5
386                </p>
387              </td>
388<td>
389                <p>
390                  Yes (4)
391                </p>
392              </td>
393<td>
394                <p>
395                  Yes
396                </p>
397              </td>
398<td>
399                <p>
400                  Yes
401                </p>
402              </td>
403<td>
404                <p>
405                  Standard method with error control and dense output, to be used
406                  in controlled_error_stepper and in dense_output_controlled_explicit_fsal.
407                </p>
408              </td>
409</tr>
410<tr>
411<td>
412                <p>
413                  Fehlberg 78
414                </p>
415              </td>
416<td>
417                <p>
418                  <code class="computeroutput"><span class="identifier">runge_kutta_fehlberg78</span></code>
419                </p>
420              </td>
421<td>
422                <p>
423                  <a class="link" href="../concepts/error_stepper.html" title="Error Stepper">Error
424                  Stepper</a>
425                </p>
426              </td>
427<td>
428                <p>
429                  <a class="link" href="../concepts/system.html" title="System">System</a>
430                </p>
431              </td>
432<td>
433                <p>
434                  8
435                </p>
436              </td>
437<td>
438                <p>
439                  Yes (7)
440                </p>
441              </td>
442<td>
443                <p>
444                  No
445                </p>
446              </td>
447<td>
448                <p>
449                  No
450                </p>
451              </td>
452<td>
453                <p>
454                  Good high order method with error estimation, to be used in controlled_error_stepper.
455                </p>
456              </td>
457</tr>
458<tr>
459<td>
460                <p>
461                  Adams Bashforth
462                </p>
463              </td>
464<td>
465                <p>
466                  <code class="computeroutput"><span class="identifier">adams_bashforth</span></code>
467                </p>
468              </td>
469<td>
470                <p>
471                  <a class="link" href="../concepts/stepper.html" title="Stepper">Stepper</a>
472                </p>
473              </td>
474<td>
475                <p>
476                  <a class="link" href="../concepts/system.html" title="System">System</a>
477                </p>
478              </td>
479<td>
480                <p>
481                  configurable
482                </p>
483              </td>
484<td>
485                <p>
486                  No
487                </p>
488              </td>
489<td>
490                <p>
491                  No
492                </p>
493              </td>
494<td>
495                <p>
496                  Yes
497                </p>
498              </td>
499<td>
500                <p>
501                  Multistep method
502                </p>
503              </td>
504</tr>
505<tr>
506<td>
507                <p>
508                  Adams Bashforth Moulton
509                </p>
510              </td>
511<td>
512                <p>
513                  <code class="computeroutput"><span class="identifier">adams_bashforth_moulton</span></code>
514                </p>
515              </td>
516<td>
517                <p>
518                  <a class="link" href="../concepts/stepper.html" title="Stepper">Stepper</a>
519                </p>
520              </td>
521<td>
522                <p>
523                  <a class="link" href="../concepts/system.html" title="System">System</a>
524                </p>
525              </td>
526<td>
527                <p>
528                  configurable
529                </p>
530              </td>
531<td>
532                <p>
533                  No
534                </p>
535              </td>
536<td>
537                <p>
538                  No
539                </p>
540              </td>
541<td>
542                <p>
543                  Yes
544                </p>
545              </td>
546<td>
547                <p>
548                  Combined multistep method
549                </p>
550              </td>
551</tr>
552<tr>
553<td>
554                <p>
555                  Controlled Runge-Kutta
556                </p>
557              </td>
558<td>
559                <p>
560                  <code class="computeroutput"><span class="identifier">controlled_runge_kutta</span></code>
561                </p>
562              </td>
563<td>
564                <p>
565                  <a class="link" href="../concepts/controlled_stepper.html" title="Controlled Stepper">Controlled
566                  Stepper</a>
567                </p>
568              </td>
569<td>
570                <p>
571                  <a class="link" href="../concepts/system.html" title="System">System</a>
572                </p>
573              </td>
574<td>
575                <p>
576                  depends
577                </p>
578              </td>
579<td>
580                <p>
581                  Yes
582                </p>
583              </td>
584<td>
585                <p>
586                  No
587                </p>
588              </td>
589<td>
590                <p>
591                  depends
592                </p>
593              </td>
594<td>
595                <p>
596                  Error control for <a class="link" href="../concepts/error_stepper.html" title="Error Stepper">Error
597                  Stepper</a>. Requires an <a class="link" href="../concepts/error_stepper.html" title="Error Stepper">Error
598                  Stepper</a> from above. Order depends on the given ErrorStepper
599                </p>
600              </td>
601</tr>
602<tr>
603<td>
604                <p>
605                  Dense Output Runge-Kutta
606                </p>
607              </td>
608<td>
609                <p>
610                  <code class="computeroutput"><span class="identifier">dense_output_runge_kutta</span></code>
611                </p>
612              </td>
613<td>
614                <p>
615                  <a class="link" href="../concepts/dense_output_stepper.html" title="Dense Output Stepper">Dense
616                  Output Stepper</a>
617                </p>
618              </td>
619<td>
620                <p>
621                  <a class="link" href="../concepts/system.html" title="System">System</a>
622                </p>
623              </td>
624<td>
625                <p>
626                  depends
627                </p>
628              </td>
629<td>
630                <p>
631                  No
632                </p>
633              </td>
634<td>
635                <p>
636                  Yes
637                </p>
638              </td>
639<td>
640                <p>
641                  Yes
642                </p>
643              </td>
644<td>
645                <p>
646                  Dense output for <a class="link" href="../concepts/stepper.html" title="Stepper">Stepper</a>
647                  and <a class="link" href="../concepts/error_stepper.html" title="Error Stepper">Error
648                  Stepper</a> from above if they provide dense output functionality
649                  (like <code class="computeroutput"><span class="identifier">euler</span></code> and
650                  <code class="computeroutput"><span class="identifier">runge_kutta_dopri5</span></code>).
651                  Order depends on the given stepper.
652                </p>
653              </td>
654</tr>
655<tr>
656<td>
657                <p>
658                  Bulirsch-Stoer
659                </p>
660              </td>
661<td>
662                <p>
663                  <code class="computeroutput"><span class="identifier">bulirsch_stoer</span></code>
664                </p>
665              </td>
666<td>
667                <p>
668                  <a class="link" href="../concepts/controlled_stepper.html" title="Controlled Stepper">Controlled
669                  Stepper</a>
670                </p>
671              </td>
672<td>
673                <p>
674                  <a class="link" href="../concepts/system.html" title="System">System</a>
675                </p>
676              </td>
677<td>
678                <p>
679                  variable
680                </p>
681              </td>
682<td>
683                <p>
684                  Yes
685                </p>
686              </td>
687<td>
688                <p>
689                  No
690                </p>
691              </td>
692<td>
693                <p>
694                  No
695                </p>
696              </td>
697<td>
698                <p>
699                  Stepper with step size and order control. Very good if high precision
700                  is required.
701                </p>
702              </td>
703</tr>
704<tr>
705<td>
706                <p>
707                  Bulirsch-Stoer Dense Output
708                </p>
709              </td>
710<td>
711                <p>
712                  <code class="computeroutput"><span class="identifier">bulirsch_stoer_dense_out</span></code>
713                </p>
714              </td>
715<td>
716                <p>
717                  <a class="link" href="../concepts/dense_output_stepper.html" title="Dense Output Stepper">Dense
718                  Output Stepper</a>
719                </p>
720              </td>
721<td>
722                <p>
723                  <a class="link" href="../concepts/system.html" title="System">System</a>
724                </p>
725              </td>
726<td>
727                <p>
728                  variable
729                </p>
730              </td>
731<td>
732                <p>
733                  Yes
734                </p>
735              </td>
736<td>
737                <p>
738                  Yes
739                </p>
740              </td>
741<td>
742                <p>
743                  No
744                </p>
745              </td>
746<td>
747                <p>
748                  Stepper with step size and order control as well as dense output.
749                  Very good if high precision and dense output is required.
750                </p>
751              </td>
752</tr>
753<tr>
754<td>
755                <p>
756                  Implicit Euler
757                </p>
758              </td>
759<td>
760                <p>
761                  <code class="computeroutput"><span class="identifier">implicit_euler</span></code>
762                </p>
763              </td>
764<td>
765                <p>
766                  <a class="link" href="../concepts/stepper.html" title="Stepper">Stepper</a>
767                </p>
768              </td>
769<td>
770                <p>
771                  <a class="link" href="../concepts/implicit_system.html" title="Implicit System">Implicit
772                  System</a>
773                </p>
774              </td>
775<td>
776                <p>
777                  1
778                </p>
779              </td>
780<td>
781                <p>
782                  No
783                </p>
784              </td>
785<td>
786                <p>
787                  No
788                </p>
789              </td>
790<td>
791                <p>
792                  No
793                </p>
794              </td>
795<td>
796                <p>
797                  Basic implicit routine. Requires the Jacobian. Works only with
798                  <a href="http://www.boost.org/doc/libs/release/libs/numeric/ublas/index.html" target="_top">Boost.uBLAS</a>
799                  vectors as state types.
800                </p>
801              </td>
802</tr>
803<tr>
804<td>
805                <p>
806                  Rosenbrock 4
807                </p>
808              </td>
809<td>
810                <p>
811                  <code class="computeroutput"><span class="identifier">rosenbrock4</span></code>
812                </p>
813              </td>
814<td>
815                <p>
816                  <a class="link" href="../concepts/error_stepper.html" title="Error Stepper">Error
817                  Stepper</a>
818                </p>
819              </td>
820<td>
821                <p>
822                  <a class="link" href="../concepts/implicit_system.html" title="Implicit System">Implicit
823                  System</a>
824                </p>
825              </td>
826<td>
827                <p>
828                  4
829                </p>
830              </td>
831<td>
832                <p>
833                  Yes
834                </p>
835              </td>
836<td>
837                <p>
838                  Yes
839                </p>
840              </td>
841<td>
842                <p>
843                  No
844                </p>
845              </td>
846<td>
847                <p>
848                  Good for stiff systems. Works only with <a href="http://www.boost.org/doc/libs/release/libs/numeric/ublas/index.html" target="_top">Boost.uBLAS</a>
849                  vectors as state types.
850                </p>
851              </td>
852</tr>
853<tr>
854<td>
855                <p>
856                  Controlled Rosenbrock 4
857                </p>
858              </td>
859<td>
860                <p>
861                  <code class="computeroutput"><span class="identifier">rosenbrock4_controller</span></code>
862                </p>
863              </td>
864<td>
865                <p>
866                  <a class="link" href="../concepts/controlled_stepper.html" title="Controlled Stepper">Controlled
867                  Stepper</a>
868                </p>
869              </td>
870<td>
871                <p>
872                  <a class="link" href="../concepts/implicit_system.html" title="Implicit System">Implicit
873                  System</a>
874                </p>
875              </td>
876<td>
877                <p>
878                  4
879                </p>
880              </td>
881<td>
882                <p>
883                  Yes
884                </p>
885              </td>
886<td>
887                <p>
888                  Yes
889                </p>
890              </td>
891<td>
892                <p>
893                  No
894                </p>
895              </td>
896<td>
897                <p>
898                  Rosenbrock 4 with error control. Works only with <a href="http://www.boost.org/doc/libs/release/libs/numeric/ublas/index.html" target="_top">Boost.uBLAS</a>
899                  vectors as state types.
900                </p>
901              </td>
902</tr>
903<tr>
904<td>
905                <p>
906                  Dense Output Rosenbrock 4
907                </p>
908              </td>
909<td>
910                <p>
911                  <code class="computeroutput"><span class="identifier">rosenbrock4_dense_output</span></code>
912                </p>
913              </td>
914<td>
915                <p>
916                  <a class="link" href="../concepts/dense_output_stepper.html" title="Dense Output Stepper">Dense
917                  Output Stepper</a>
918                </p>
919              </td>
920<td>
921                <p>
922                  <a class="link" href="../concepts/implicit_system.html" title="Implicit System">Implicit
923                  System</a>
924                </p>
925              </td>
926<td>
927                <p>
928                  4
929                </p>
930              </td>
931<td>
932                <p>
933                  Yes
934                </p>
935              </td>
936<td>
937                <p>
938                  Yes
939                </p>
940              </td>
941<td>
942                <p>
943                  No
944                </p>
945              </td>
946<td>
947                <p>
948                  Controlled Rosenbrock 4 with dense output. Works only with <a href="http://www.boost.org/doc/libs/release/libs/numeric/ublas/index.html" target="_top">Boost.uBLAS</a>
949                  vectors as state types.
950                </p>
951              </td>
952</tr>
953<tr>
954<td>
955                <p>
956                  Symplectic Euler
957                </p>
958              </td>
959<td>
960                <p>
961                  <code class="computeroutput"><span class="identifier">symplectic_euler</span></code>
962                </p>
963              </td>
964<td>
965                <p>
966                  <a class="link" href="../concepts/stepper.html" title="Stepper">Stepper</a>
967                </p>
968              </td>
969<td>
970                <p>
971                  <a class="link" href="../concepts/symplectic_system.html" title="Symplectic System">Symplectic
972                  System</a> <a class="link" href="../concepts/simple_symplectic_system.html" title="Simple Symplectic System">Simple
973                  Symplectic System</a>
974                </p>
975              </td>
976<td>
977                <p>
978                  1
979                </p>
980              </td>
981<td>
982                <p>
983                  No
984                </p>
985              </td>
986<td>
987                <p>
988                  No
989                </p>
990              </td>
991<td>
992                <p>
993                  No
994                </p>
995              </td>
996<td>
997                <p>
998                  Basic symplectic solver for separable Hamiltonian system
999                </p>
1000              </td>
1001</tr>
1002<tr>
1003<td>
1004                <p>
1005                  Symplectic RKN McLachlan
1006                </p>
1007              </td>
1008<td>
1009                <p>
1010                  <code class="computeroutput"><span class="identifier">symplectic_rkn_sb3a_mclachlan</span></code>
1011                </p>
1012              </td>
1013<td>
1014                <p>
1015                  <a class="link" href="../concepts/stepper.html" title="Stepper">Stepper</a>
1016                </p>
1017              </td>
1018<td>
1019                <p>
1020                  <a class="link" href="../concepts/symplectic_system.html" title="Symplectic System">Symplectic
1021                  System</a> <a class="link" href="../concepts/simple_symplectic_system.html" title="Simple Symplectic System">Simple
1022                  Symplectic System</a>
1023                </p>
1024              </td>
1025<td>
1026                <p>
1027                  4
1028                </p>
1029              </td>
1030<td>
1031                <p>
1032                  No
1033                </p>
1034              </td>
1035<td>
1036                <p>
1037                  No
1038                </p>
1039              </td>
1040<td>
1041                <p>
1042                  No
1043                </p>
1044              </td>
1045<td>
1046                <p>
1047                  Symplectic solver for separable Hamiltonian system with 6 stages
1048                  and order 4.
1049                </p>
1050              </td>
1051</tr>
1052<tr>
1053<td>
1054                <p>
1055                  Symplectic RKN McLachlan
1056                </p>
1057              </td>
1058<td>
1059                <p>
1060                  <code class="computeroutput"><span class="identifier">symplectic_rkn_sb3a_m4_mclachlan</span></code>
1061                </p>
1062              </td>
1063<td>
1064                <p>
1065                  <a class="link" href="../concepts/stepper.html" title="Stepper">Stepper</a>
1066                </p>
1067              </td>
1068<td>
1069                <p>
1070                  <a class="link" href="../concepts/symplectic_system.html" title="Symplectic System">Symplectic
1071                  System</a> <a class="link" href="../concepts/simple_symplectic_system.html" title="Simple Symplectic System">Simple
1072                  Symplectic System</a>
1073                </p>
1074              </td>
1075<td>
1076                <p>
1077                  4
1078                </p>
1079              </td>
1080<td>
1081                <p>
1082                  No
1083                </p>
1084              </td>
1085<td>
1086                <p>
1087                  No
1088                </p>
1089              </td>
1090<td>
1091                <p>
1092                  No
1093                </p>
1094              </td>
1095<td>
1096                <p>
1097                  Symplectic solver with 5 stages and order 4, can be used with arbitrary
1098                  precision types.
1099                </p>
1100              </td>
1101</tr>
1102<tr>
1103<td>
1104                <p>
1105                  Velocity Verlet
1106                </p>
1107              </td>
1108<td>
1109                <p>
1110                  <code class="computeroutput"><span class="identifier">velocity_verlet</span></code>
1111                </p>
1112              </td>
1113<td>
1114                <p>
1115                  <a class="link" href="../concepts/stepper.html" title="Stepper">Stepper</a>
1116                </p>
1117              </td>
1118<td>
1119                <p>
1120                  <a class="link" href="../concepts/second_order_system.html" title="Second Order System">Second
1121                  Order System</a>
1122                </p>
1123              </td>
1124<td>
1125                <p>
1126                  1
1127                </p>
1128              </td>
1129<td>
1130                <p>
1131                  No
1132                </p>
1133              </td>
1134<td>
1135                <p>
1136                  No
1137                </p>
1138              </td>
1139<td>
1140                <p>
1141                  Yes
1142                </p>
1143              </td>
1144<td>
1145                <p>
1146                  Velocity verlet method suitable for molecular dynamics simulation.
1147                </p>
1148              </td>
1149</tr>
1150</tbody>
1151</table></div>
1152</div>
1153<br class="table-break">
1154</div>
1155<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
1156<td align="left"></td>
1157<td align="right"><div class="copyright-footer">Copyright © 2009-2015 Karsten Ahnert and Mario Mulansky<p>
1158        Distributed under the Boost Software License, Version 1.0. (See accompanying
1159        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>)
1160      </p>
1161</div></td>
1162</tr></table>
1163<hr>
1164<div class="spirit-nav">
1165<a accesskey="p" href="../getting_started.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../getting_started.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="usage__compilation__headers.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
1166</div>
1167</body>
1168</html>
1169