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