Brian Silverman | 7c33ab2 | 2018-08-04 17:14:51 -0700 | [diff] [blame^] | 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 | |
| 14 | [section Implicit System] |
| 15 | |
| 16 | [heading Description] |
| 17 | |
| 18 | This concept describes how to define a ODE that can be solved by an implicit routine. |
| 19 | Implicit routines need not only the function /f(x,t)/ but also the Jacobian /df/dx = A(x,t)/. |
| 20 | /A/ is a matrix and implicit routines need to solve the linear problem /Ax = b/. |
| 21 | In odeint this is implemented with use of __ublas, therefore, the ['state_type] implicit routines is ['ublas::vector] and the matrix is defined as ['ublas::matrix]. |
| 22 | |
| 23 | [heading Notation] |
| 24 | |
| 25 | [variablelist |
| 26 | [[`System`] [A type that is a model of `Implicit System`]] |
| 27 | [[`Time`] [A type representing the time of the ODE]] |
| 28 | [[`sys`] [An object of type `System`]] |
| 29 | [[`x`] [Object of type ublas::vector]] |
| 30 | [[`dxdt`] [Object of type ublas::vector]] |
| 31 | [[`jacobi`] [Object of type ublas::matrix]] |
| 32 | [[`t`] [Object of type `Time`]] |
| 33 | ] |
| 34 | |
| 35 | [heading Valid Expressions] |
| 36 | |
| 37 | [table |
| 38 | [[Name] [Expression] [Type] [Semantics]] |
| 39 | [[Calculate ['dx/dt := f(x,t)]] [`sys.first( x , dxdt , t )`] [`void`] [Calculates `f(x,t)`, the result is stored into dxdt] ] |
| 40 | [[Calculate ['A := df/dx (x,t)]] [`sys.second( x , jacobi , t )`] [`void`] [Calculates the Jacobian of /f/ at /x/,/t/, the result is stored into `jacobi`] ] |
| 41 | ] |
| 42 | |
| 43 | [endsect] |