Imported Upstream version 1.57.0
[platform/upstream/boost.git] / libs / numeric / odeint / doc / concepts / system.qbk
1 [/============================================================================
2   Boost.odeint
3
4   Copyright 2011 Mario Mulansky
5   Copyright 2011-2012 Karsten Ahnert
6
7   Use, modification and distribution is subject to the Boost Software License,
8   Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
9   http://www.boost.org/LICENSE_1_0.txt)
10 =============================================================================/]
11
12
13 [section System]
14
15 [heading Description]
16
17 The System concept models the algorithmic implementation of the rhs. of the ODE ['x' = f(x,t)].
18 The only requirement for this concept is that it should be callable with a specific parameter syntax (see below).
19 A System is typically implemented as a function or a functor.
20 Systems fulfilling this concept are required by all Runge-Kutta steppers as well as the Bulirsch-Stoer steppers.
21 However, symplectic and implicit steppers work with other system concepts, see __symplectic_system and __implicit_system.
22
23 [heading Notation]
24
25 [variablelist
26   [[`System`] [A type that is a model of System]] 
27   [[`State`] [A type representing the state /x/ of the ODE]]
28   [[`Deriv`] [A type representing the derivative /x'/ of the ODE]]
29   [[`Time`] [A type representing the time]]
30   [[`sys`] [An object of type `System`]]
31   [[`x`] [Object of type `State`]]
32   [[`dxdt`] [Object of type `Deriv`]]
33   [[`t`] [Object of type `Time`]]
34 ]
35
36 [heading Valid expressions]
37
38 [table
39   [[Name] [Expression] [Type] [Semantics]]
40   [[Calculate ['dx/dt := f(x,t)]] [`sys( x , dxdt , t )`] [`void`] [Calculates f(x,t), the result is stored into dxdt] ]
41 ]
42
43 [endsect]