Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::numeric::odeint Namespace Reference

Namespaces

 detail
 
 result_of
 
 traits
 
 version
 

Classes

class  adams_bashforth
 The Adams-Bashforth multistep algorithm. More...
 
class  adams_bashforth_moulton
 The Adams-Bashforth-Moulton multistep algorithm. More...
 
class  adams_moulton
 
class  adaptive_iterator
 ODE Iterator with adaptive step size. More...
 
class  adaptive_time_iterator
 ODE Iterator with adaptive step size. More...
 
struct  algebra_dispatcher
 
struct  algebra_dispatcher< blaze::DynamicVector< T, TF > >
 
struct  algebra_dispatcher< blaze::StaticVector< T, N, TF > >
 
struct  algebra_dispatcher< boost::array< T, N > >
 
struct  algebra_dispatcher< boost::compute::vector< T, A > >
 
struct  algebra_dispatcher< boost::numeric::ublas::matrix< T, L, A > >
 
struct  algebra_dispatcher< boost::numeric::ublas::vector< T, A > >
 
struct  algebra_dispatcher< mpi_state< InnerState > >
 Use mpi_algebra for mpi_state. More...
 
struct  algebra_dispatcher< mtl::compressed2D< Value, Parameters > >
 
struct  algebra_dispatcher< mtl::dense2D< Value, Parameters > >
 
struct  algebra_dispatcher< mtl::dense_vector< Value, Parameters > >
 
struct  algebra_dispatcher< mtl::morton_dense< Value, BitMask, Parameters > >
 
struct  algebra_dispatcher< nt2::container::table< T, S > >
 
struct  algebra_dispatcher< openmp_state< T > >
 Use openmp_algebra for openmp_state. More...
 
struct  algebra_dispatcher< std::complex< T > >
 
struct  algebra_dispatcher< thrust::device_vector< T, A > >
 
struct  algebra_dispatcher< thrust::host_vector< T, A > >
 
struct  algebra_dispatcher< vex::multivector< T, N > >
 
struct  algebra_dispatcher< vex::vector< T > >
 
struct  algebra_dispatcher_sfinae
 
struct  algebra_dispatcher_sfinae< FusionSequence, typename boost::enable_if< typename boost::fusion::traits::is_sequence< FusionSequence >::type >::type >
 
struct  algebra_dispatcher_sfinae< T, typename boost::enable_if< typename boost::is_floating_point< T >::type >::type >
 
class  algebra_stepper_base
 Base class for all steppers with algebra and operations. More...
 
struct  always_resizer
 
struct  array_algebra
 
struct  array_wrapper
 
struct  base_tag
 
struct  base_tag< controlled_stepper_tag >
 
struct  base_tag< dense_output_stepper_tag >
 
struct  base_tag< error_stepper_tag >
 
struct  base_tag< explicit_controlled_stepper_fsal_tag >
 
struct  base_tag< explicit_controlled_stepper_tag >
 
struct  base_tag< explicit_error_stepper_fsal_tag >
 
struct  base_tag< explicit_error_stepper_tag >
 
struct  base_tag< stepper_tag >
 
class  bulirsch_stoer
 The Bulirsch-Stoer algorithm. More...
 
class  bulirsch_stoer_dense_out
 The Bulirsch-Stoer algorithm. More...
 
struct  compute_algebra
 
struct  compute_operations
 
class  const_step_iterator
 ODE Iterator with constant step size. More...
 
class  const_step_time_iterator
 ODE Iterator with constant step size. More...
 
singleton  controlled_runge_kutta
 
class  controlled_runge_kutta< ErrorStepper, ErrorChecker, Resizer, explicit_error_stepper_fsal_tag >
 Implements step size control for Runge-Kutta FSAL steppers with error estimation. More...
 
class  controlled_runge_kutta< ErrorStepper, ErrorChecker, Resizer, explicit_error_stepper_tag >
 Implements step size control for Runge-Kutta steppers with error estimation. More...
 
struct  controlled_stepper_tag
 
struct  controller_factory
 
struct  controller_factory< Stepper, controlled_runge_kutta< Stepper > >
 
struct  copy_impl
 
struct  copy_impl< boost::compute::vector< T, A >, boost::compute::vector< T, A > >
 
struct  copy_impl< boost::compute::vector< T, A >, Container2 >
 
struct  copy_impl< Container1, boost::compute::vector< T, A > >
 
struct  copy_impl< Container1, thrust::device_vector< Value > >
 
struct  copy_impl< mpi_state< InnerState1 >, mpi_state< InnerState2 > >
 Copy data between mpi_states of same size. More...
 
struct  copy_impl< nt2::container::table< T, S >, nt2::container::table< T, S > >
 
struct  copy_impl< openmp_state< T >, openmp_state< T > >
 Copy data between openmp_states of same size. More...
 
struct  copy_impl< thrust::device_vector< Value >, Container2 >
 
struct  copy_impl< thrust::device_vector< Value >, thrust::device_vector< Value > >
 
struct  copy_impl< vex::multivector< T1, N >, vex::multivector< T2, N > >
 
struct  copy_impl< vex::vector< T1 >, vex::vector< T2 > >
 
struct  copy_impl_sfinae
 
class  default_error_checker
 The default error checker to be used with Runge-Kutta error steppers. More...
 
struct  default_operations
 
struct  default_rosenbrock_coefficients
 
struct  dense_output_factory
 
struct  dense_output_factory< Stepper, dense_output_runge_kutta< controlled_runge_kutta< Stepper > > >
 
struct  dense_output_factory< Stepper, rosenbrock4_dense_output< rosenbrock4_controller< Stepper > > >
 
singleton  dense_output_runge_kutta
 
class  dense_output_runge_kutta< Stepper, explicit_controlled_stepper_fsal_tag >
 The class representing dense-output Runge-Kutta steppers with FSAL property. More...
 
class  dense_output_runge_kutta< Stepper, stepper_tag >
 The class representing dense-output Runge-Kutta steppers. More...
 
struct  dense_output_stepper_tag
 
struct  error_stepper_tag
 
class  euler
 An implementation of the Euler method. More...
 
struct  explicit_controlled_stepper_fsal_tag
 
struct  explicit_controlled_stepper_tag
 
class  explicit_error_generic_rk
 A generic implementation of explicit Runge-Kutta algorithms with error estimation. More...
 
class  explicit_error_stepper_base
 Base class for explicit steppers with error estimation. More...
 
class  explicit_error_stepper_fsal_base
 Base class for explicit steppers with error estimation and stepper fulfilling the FSAL (first-same-as-last) property. More...
 
struct  explicit_error_stepper_fsal_tag
 
struct  explicit_error_stepper_tag
 
class  explicit_generic_rk
 A generic implementation of explicit Runge-Kutta algorithms. More...
 
class  explicit_stepper_base
 Base class for explicit steppers without step size control and without dense output. More...
 
struct  fusion_algebra
 
struct  fusion_traits
 
struct  get_controller
 
struct  get_controller< rosenbrock4< Value, Coefficients, Resize > >
 
struct  get_controller< runge_kutta_cash_karp54< State, Value, Deriv, Time, Algebra, Operations, Resize > >
 
struct  get_controller< runge_kutta_cash_karp54_classic< State, Value, Deriv, Time, Algebra, Operations, Resize > >
 
struct  get_controller< runge_kutta_dopri5< State, Value, Deriv, Time, Algebra, Operations, Resize > >
 
struct  get_controller< runge_kutta_fehlberg78< State, Value, Deriv, Time, Algebra, Operations, Resize > >
 
struct  get_dense_output
 
struct  get_dense_output< rosenbrock4< Value, Coefficients, Resize > >
 
struct  get_dense_output< runge_kutta_dopri5< State, Value, Deriv, Time, Algebra, Operations, Resize > >
 
class  implicit_euler
 
class  implicit_euler_mtl4
 
struct  initially_resizer
 
struct  inverse_time
 
struct  inverse_time< boost::units::quantity< Unit, Value > >
 
struct  is_multi_array
 
struct  is_multi_array< boost::multi_array< V, Dim, A > >
 
struct  is_pair
 
struct  is_pair< std::pair< T1, T2 > >
 
struct  is_resizeable
 
struct  is_resizeable< blaze::DynamicVector< T, TF > >
 
struct  is_resizeable< boost::compute::vector< T, A > >
 
struct  is_resizeable< boost::numeric::ublas::matrix< T, L, A > >
 
struct  is_resizeable< boost::numeric::ublas::permutation_matrix< T, A > >
 
struct  is_resizeable< boost::numeric::ublas::vector< T, A > >
 
struct  is_resizeable< gsl_vector * >
 
struct  is_resizeable< mpi_state< InnerState > >
 
struct  is_resizeable< mtl::compressed2D< Value, Parameters > >
 
struct  is_resizeable< mtl::dense2D< Value, Parameters > >
 
struct  is_resizeable< mtl::dense_vector< Value, Parameters > >
 
struct  is_resizeable< nt2::container::table< T, S > >
 
struct  is_resizeable< openmp_state< T > >
 
struct  is_resizeable< std::vector< V, A > >
 
struct  is_resizeable< thrust::device_vector< T > >
 
struct  is_resizeable< thrust::host_vector< T > >
 
struct  is_resizeable< vex::multivector< T, N > >
 
struct  is_resizeable< vex::vector< T > >
 
struct  is_resizeable< viennacl::vector< T > >
 
struct  is_resizeable_multi_array
 
struct  is_resizeable_multi_array< boost::multi_array< V, Dim, A > >
 
struct  is_resizeable_sfinae
 
struct  is_resizeable_sfinae< Derived, typename boost::enable_if< typename boost::is_base_of< Eigen::ArrayBase< Derived >, Derived >::type >::type >
 
struct  is_resizeable_sfinae< Derived, typename boost::enable_if< typename boost::is_base_of< Eigen::MatrixBase< Derived >, Derived >::type >::type >
 
struct  is_resizeable_sfinae< FusionSequence, typename boost::enable_if< typename boost::fusion::traits::is_sequence< FusionSequence >::type >::type >
 
struct  is_resizeable_sfinae< T, typename boost::enable_if< typename is_resizeable_multi_array< T >::type >::type >
 
struct  mkl_operations
 
class  modified_midpoint
 Implementation of the modified midpoint method with a configurable number of intermediate steps. More...
 
class  modified_midpoint_dense_out
 Implementation of the modified midpoint method with a configurable number of intermediate steps. More...
 
struct  mpi_nested_algebra
 MPI-parallelized algebra, wrapping another algebra. More...
 
struct  mpi_state
 A container which has its contents distributed among the nodes. More...
 
struct  multi_array_algebra
 
class  n_step_iterator
 ODE Iterator with constant step size. More...
 
class  n_step_time_iterator
 ODE Iterator with constant step size. More...
 
struct  never_resizer
 
struct  norm_result_type
 
struct  null_observer
 
class  observer_collection
 
struct  openmp_nested_algebra
 OpenMP-parallelized algebra, wrapping another, non-parallelized algebra. More...
 
struct  openmp_range_algebra
 OpenMP-parallelized range algebra. More...
 
struct  openmp_state
 A container that is split into distinct parts, for threading. More...
 
struct  operations_dispatcher
 
struct  operations_dispatcher< boost::compute::vector< T, A > >
 
struct  operations_dispatcher< thrust::device_vector< T, A > >
 
struct  operations_dispatcher< thrust::host_vector< T, A > >
 
struct  operations_dispatcher_sfinae
 
struct  range_algebra
 
struct  resize_impl
 
struct  resize_impl< blaze::DynamicVector< T1, TF1 >, blaze::DynamicVector< T2, TF2 > >
 
struct  resize_impl< boost::compute::vector< T, A >, boost::compute::vector< T, A > >
 
struct  resize_impl< boost::numeric::ublas::matrix< T, L, A >, boost::numeric::ublas::matrix< T2, L2, A2 > >
 
struct  resize_impl< boost::numeric::ublas::matrix< T, L, A >, boost::numeric::ublas::vector< T_V, A_V > >
 
struct  resize_impl< boost::numeric::ublas::vector< T_V, A_V >, boost::numeric::ublas::permutation_matrix< T, A > >
 
struct  resize_impl< gsl_vector *, gsl_vector * >
 
struct  resize_impl< mpi_state< InnerState1 >, mpi_state< InnerState2 > >
 
struct  resize_impl< mtl::compressed2D< Value, MatrixParameters >, mtl::dense_vector< Value, VectorParameters > >
 
struct  resize_impl< mtl::dense2D< Value, MatrixParameters >, mtl::dense_vector< Value, VectorParameters > >
 
struct  resize_impl< mtl::dense_vector< Value, Parameters >, mtl::dense_vector< Value, Parameters > >
 
struct  resize_impl< nt2::container::table< T, S >, nt2::container::table< T, S > >
 
struct  resize_impl< openmp_state< T >, openmp_state< T > >
 
struct  resize_impl< thrust::device_vector< T >, thrust::device_vector< T > >
 
struct  resize_impl< thrust::host_vector< T >, thrust::host_vector< T > >
 
struct  resize_impl< vex::multivector< T, N >, vex::multivector< T, N > >
 
struct  resize_impl< vex::vector< T >, vex::vector< T > >
 
struct  resize_impl< viennacl::vector< T >, viennacl::vector< T > >
 
struct  resize_impl_sfinae
 
struct  resize_impl_sfinae< Derived, Derived, typename boost::enable_if< typename boost::is_base_of< Eigen::ArrayBase< Derived >, Derived >::type >::type >
 
struct  resize_impl_sfinae< Derived, Derived, typename boost::enable_if< typename boost::is_base_of< Eigen::MatrixBase< Derived >, Derived >::type >::type >
 
struct  resize_impl_sfinae< FusionSeq, FusionSeq, typename boost::enable_if< typename boost::fusion::traits::is_sequence< FusionSeq >::type >::type >
 
struct  resize_impl_sfinae< T1, T2, typename boost::enable_if< typename boost::mpl::and_< is_resizeable_multi_array< T1 >, is_multi_array< T2 >, boost::mpl::bool_< T1::dimensionality==T2::dimensionality > >::type >::type >
 
struct  rk4_coefficients_a1
 
struct  rk4_coefficients_a2
 
struct  rk4_coefficients_a3
 
struct  rk4_coefficients_b
 
struct  rk4_coefficients_c
 
struct  rk54_ck_coefficients_a1
 
struct  rk54_ck_coefficients_a2
 
struct  rk54_ck_coefficients_a3
 
struct  rk54_ck_coefficients_a4
 
struct  rk54_ck_coefficients_a5
 
struct  rk54_ck_coefficients_b
 
struct  rk54_ck_coefficients_c
 
struct  rk54_ck_coefficients_db
 
struct  rk78_coefficients_a1
 
struct  rk78_coefficients_a10
 
struct  rk78_coefficients_a11
 
struct  rk78_coefficients_a12
 
struct  rk78_coefficients_a2
 
struct  rk78_coefficients_a3
 
struct  rk78_coefficients_a4
 
struct  rk78_coefficients_a5
 
struct  rk78_coefficients_a6
 
struct  rk78_coefficients_a7
 
struct  rk78_coefficients_a8
 
struct  rk78_coefficients_a9
 
struct  rk78_coefficients_b
 
struct  rk78_coefficients_c
 
struct  rk78_coefficients_db
 
class  rosenbrock4
 
class  rosenbrock4_controller
 
class  rosenbrock4_dense_output
 
class  runge_kutta4
 The classical Runge-Kutta stepper of fourth order. More...
 
class  runge_kutta4_classic
 The classical Runge-Kutta stepper of fourth order. More...
 
class  runge_kutta_cash_karp54
 The Runge-Kutta Cash-Karp method. More...
 
class  runge_kutta_cash_karp54_classic
 The Runge-Kutta Cash-Karp method implemented without the generic Runge-Kutta algorithm. More...
 
class  runge_kutta_dopri5
 The Runge-Kutta Dormand-Prince 5 method. More...
 
class  runge_kutta_fehlberg78
 The Runge-Kutta Fehlberg 78 method. More...
 
struct  same_instance_impl
 
struct  same_instance_impl< T, T >
 
struct  same_instance_impl< vex::multivector< T, N >, vex::multivector< T, N > >
 
struct  same_instance_impl< vex::vector< T >, vex::vector< T > >
 
struct  same_size_impl
 
struct  same_size_impl< blaze::DynamicVector< T1, TF1 >, blaze::DynamicVector< T2, TF2 > >
 
struct  same_size_impl< boost::compute::vector< T, A >, boost::compute::vector< T, A > >
 
struct  same_size_impl< boost::numeric::ublas::matrix< T, L, A >, boost::numeric::ublas::matrix< T2, L2, A2 > >
 
struct  same_size_impl< boost::numeric::ublas::matrix< T, L, A >, boost::numeric::ublas::vector< T_V, A_V > >
 
struct  same_size_impl< boost::numeric::ublas::permutation_matrix< T, A >, boost::numeric::ublas::vector< T_V, A_V > >
 
struct  same_size_impl< gsl_vector *, gsl_vector * >
 
struct  same_size_impl< mpi_state< InnerState1 >, mpi_state< InnerState2 > >
 
struct  same_size_impl< mtl::compressed2D< Value, MatrixParameters >, mtl::dense_vector< Value, VectorParameters > >
 
struct  same_size_impl< mtl::dense2D< Value, MatrixParameters >, mtl::dense_vector< Value, VectorParameters > >
 
struct  same_size_impl< mtl::dense_vector< Value, Parameters >, mtl::dense_vector< Value, Parameters > >
 
struct  same_size_impl< nt2::container::table< T, S >, nt2::container::table< T, S > >
 
struct  same_size_impl< openmp_state< T >, openmp_state< T > >
 
struct  same_size_impl< thrust::device_vector< T >, thrust::device_vector< T > >
 
struct  same_size_impl< thrust::host_vector< T >, thrust::host_vector< T > >
 
struct  same_size_impl< vex::multivector< T, N >, vex::multivector< T, N > >
 
struct  same_size_impl< vex::vector< T >, vex::vector< T > >
 
struct  same_size_impl< viennacl::vector< T >, viennacl::vector< T > >
 
struct  same_size_impl_sfinae
 
struct  same_size_impl_sfinae< Derived, Derived, typename boost::enable_if< typename boost::is_base_of< Eigen::ArrayBase< Derived >, Derived >::type >::type >
 
struct  same_size_impl_sfinae< Derived, Derived, typename boost::enable_if< typename boost::is_base_of< Eigen::MatrixBase< Derived >, Derived >::type >::type >
 
struct  same_size_impl_sfinae< FusionSeq, FusionSeq, typename boost::enable_if< typename boost::fusion::traits::is_sequence< FusionSeq >::type >::type >
 
struct  same_size_impl_sfinae< T1, T2, typename boost::enable_if< typename boost::mpl::and_< is_multi_array< T1 >, is_multi_array< T2 >, boost::mpl::bool_< T1::dimensionality==T2::dimensionality > >::type >::type >
 
struct  split_impl
 
struct  split_impl< Source, mpi_state< InnerState >, typename boost::enable_if< boost::has_range_const_iterator< Source > >::type >
 Split data from some container on node 0 to the slaves. More...
 
struct  split_impl< SourceContainer, openmp_state< typename SourceContainer::value_type > >
 Copy data from some container to an openmp_state and resize it. More...
 
struct  stage
 
struct  stage_wrapper
 
struct  state_wrapper
 
struct  state_wrapper< boost::numeric::ublas::permutation_matrix< T, A > >
 
struct  state_wrapper< gsl_vector * >
 
struct  stepper_tag
 
class  symplectic_euler
 Implementation of the symplectic Euler method. More...
 
class  symplectic_nystroem_stepper_base
 Base class for all symplectic steppers of Nystroem type. More...
 
class  symplectic_rkn_sb3a_m4_mclachlan
 Implementation of the symmetric B3A Runge-Kutta Nystroem method of fifth order. More...
 
class  symplectic_rkn_sb3a_mclachlan
 Implement of the symmetric B3A method of Runge-Kutta-Nystroem method of sixth order. More...
 
struct  thrust_algebra
 ToDO extend until for_each14 for rk78. More...
 
struct  thrust_operations
 ToDo extend to scale_sum13 for rk78. More...
 
class  times_iterator
 ODE Iterator with given evaluation points. More...
 
class  times_time_iterator
 ODE Iterator with given evaluation points. More...
 
struct  unit_value_type
 
struct  unit_value_type< boost::units::quantity< Unit, Y > >
 
struct  unsplit_impl
 
struct  unsplit_impl< mpi_state< InnerState >, Target, typename boost::enable_if< boost::has_range_iterator< Target > >::type >
 Merge data from an mpi_state to some container on node 0. More...
 
struct  unsplit_impl< openmp_state< typename TargetContainer::value_type >, TargetContainer >
 Copy data from an openmp_state to some container and resize it. More...
 
struct  vector_space_algebra
 
struct  vector_space_norm_inf
 
struct  vector_space_norm_inf< boost::numeric::ublas::matrix< T, L, A > >
 
struct  vector_space_norm_inf< boost::numeric::ublas::vector< T, A > >
 
struct  vector_space_norm_inf< double >
 
struct  vector_space_norm_inf< Eigen::Matrix< B, S1, S2, O, M1, M2 > >
 
struct  vector_space_norm_inf< float >
 
struct  vector_space_norm_inf< mtl::compressed2D< Value, Parameters > >
 
struct  vector_space_norm_inf< mtl::dense2D< Value, Parameters > >
 
struct  vector_space_norm_inf< mtl::dense_vector< Value, Parameters > >
 
struct  vector_space_norm_inf< mtl::morton_dense< Value, BitMask, Parameters > >
 
struct  vector_space_norm_inf< nt2::container::table< T, S > >
 
struct  vector_space_norm_inf< std::complex< T > >
 
struct  vector_space_norm_inf< vex::multivector< T, N > >
 
struct  vector_space_norm_inf< vex::vector< T > >
 
class  velocity_verlet
 The Velocity-Verlet algorithm. More...
 
struct  viennacl_operations
 

Typedefs

typedef openmp_nested_algebra
< range_algebra
openmp_algebra
 OpenMP-parallelized algebra. More...
 

Enumerations

enum  controlled_step_result {
  success,
  fail
}
 Enum representing the return values of the controlled steppers. More...
 

Functions

template<class System , class State , class Time , class Observer >
boost::enable_if< typename
has_value_type< State >::type,
size_t >::type 
integrate (System system, State &start_state, Time start_time, Time end_time, Time dt, Observer observer)
 Integrates the ODE. More...
 
template<class System , class State , class Time >
size_t integrate (System system, State &start_state, Time start_time, Time end_time, Time dt)
 Integrates the ODE without observer calls. More...
 
template<class Stepper , class System , class State , class Time , class Observer >
size_t integrate_adaptive (Stepper stepper, System system, State &start_state, Time start_time, Time end_time, Time dt, Observer observer)
 Integrates the ODE with adaptive step size. More...
 
template<class Stepper , class System , class State , class Time , class Observer >
size_t integrate_adaptive (Stepper stepper, System system, const State &start_state, Time start_time, Time end_time, Time dt, Observer observer)
 Second version to solve the forwarding problem, can be called with Boost.Range as start_state. More...
 
template<class Stepper , class System , class State , class Time >
size_t integrate_adaptive (Stepper stepper, System system, State &start_state, Time start_time, Time end_time, Time dt)
 integrate_adaptive without an observer. More...
 
template<class Stepper , class System , class State , class Time >
size_t integrate_adaptive (Stepper stepper, System system, const State &start_state, Time start_time, Time end_time, Time dt)
 Second version to solve the forwarding problem, can be called with Boost.Range as start_state. More...
 
template<class Stepper , class System , class State , class Time , class Observer >
size_t integrate_const (Stepper stepper, System system, State &start_state, Time start_time, Time end_time, Time dt, Observer observer)
 Integrates the ODE with constant step size. More...
 
template<class Stepper , class System , class State , class Time , class Observer >
size_t integrate_const (Stepper stepper, System system, const State &start_state, Time start_time, Time end_time, Time dt, Observer observer)
 Second version to solve the forwarding problem, can be called with Boost.Range as start_state. More...
 
template<class Stepper , class System , class State , class Time >
size_t integrate_const (Stepper stepper, System system, State &start_state, Time start_time, Time end_time, Time dt)
 integrate_const without observer calls More...
 
template<class Stepper , class System , class State , class Time >
size_t integrate_const (Stepper stepper, System system, const State &start_state, Time start_time, Time end_time, Time dt)
 Second version to solve the forwarding problem, can be called with Boost.Range as start_state. More...
 
template<class Stepper , class System , class State , class Time , class Observer >
Time integrate_n_steps (Stepper stepper, System system, State &start_state, Time start_time, Time dt, size_t num_of_steps, Observer observer)
 Integrates the ODE with constant step size. More...
 
template<class Stepper , class System , class State , class Time , class Observer >
Time integrate_n_steps (Stepper stepper, System system, const State &start_state, Time start_time, Time dt, size_t num_of_steps, Observer observer)
 Solves the forwarding problem, can be called with Boost.Range as start_state. More...
 
template<class Stepper , class System , class State , class Time >
Time integrate_n_steps (Stepper stepper, System system, State &start_state, Time start_time, Time dt, size_t num_of_steps)
 The same function as above, but without observer calls. More...
 
template<class Stepper , class System , class State , class Time >
Time integrate_n_steps (Stepper stepper, System system, const State &start_state, Time start_time, Time dt, size_t num_of_steps)
 Solves the forwarding problem, can be called with Boost.Range as start_state. More...
 
template<class Stepper , class System , class State , class TimeIterator , class Time , class Observer >
size_t integrate_times (Stepper stepper, System system, State &start_state, TimeIterator times_start, TimeIterator times_end, Time dt, Observer observer)
 Integrates the ODE with observer calls at given time points. More...
 
template<class Stepper , class System , class State , class TimeIterator , class Time , class Observer >
size_t integrate_times (Stepper stepper, System system, const State &start_state, TimeIterator times_start, TimeIterator times_end, Time dt, Observer observer)
 Solves the forwarding problem, can be called with Boost.Range as start_state. More...
 
template<class Stepper , class System , class State , class TimeRange , class Time , class Observer >
size_t integrate_times (Stepper stepper, System system, State &start_state, const TimeRange &times, Time dt, Observer observer)
 The same function as above, but without observer calls. More...
 
template<class Stepper , class System , class State , class TimeRange , class Time , class Observer >
size_t integrate_times (Stepper stepper, System system, const State &start_state, const TimeRange &times, Time dt, Observer observer)
 Solves the forwarding problem, can be called with Boost.Range as start_state. More...
 
template<class Stepper , class System , class State >
adaptive_iterator< Stepper,
System, State > 
make_adaptive_iterator_begin (Stepper stepper, System system, State &x, typename traits::time_type< Stepper >::type t_start, typename traits::time_type< Stepper >::type t_end, typename traits::time_type< Stepper >::type dt)
 Factory function for adaptive_iterator. More...
 
template<class Stepper , class System , class State >
adaptive_iterator< Stepper,
System, State > 
make_adaptive_iterator_end (Stepper stepper, System system, State &x)
 Factory function for adaptive_iterator. More...
 
template<class Stepper , class System , class State >
std::pair< adaptive_iterator
< Stepper, System, State >
, adaptive_iterator< Stepper,
System, State > > 
make_adaptive_range (Stepper stepper, System system, State &x, typename traits::time_type< Stepper >::type t_start, typename traits::time_type< Stepper >::type t_end, typename traits::time_type< Stepper >::type dt)
 Factory function to construct a single pass range of adaptive iterators. More...
 
template<class Stepper , class System , class State >
adaptive_time_iterator
< Stepper, System, State > 
make_adaptive_time_iterator_begin (Stepper stepper, System system, State &x, typename traits::time_type< Stepper >::type t_start, typename traits::time_type< Stepper >::type t_end, typename traits::time_type< Stepper >::type dt)
 Factory function for adaptive_time_iterator. More...
 
template<class Stepper , class System , class State >
adaptive_time_iterator
< Stepper, System, State > 
make_adaptive_time_iterator_end (Stepper stepper, System system, State &x)
 Factory function for adaptive_time_iterator. More...
 
template<class Stepper , class System , class State >
std::pair
< adaptive_time_iterator
< Stepper, System, State >
, adaptive_time_iterator
< Stepper, System, State > > 
make_adaptive_time_range (Stepper stepper, System system, State &x, typename traits::time_type< Stepper >::type t_start, typename traits::time_type< Stepper >::type t_end, typename traits::time_type< Stepper >::type dt)
 Factory function to construct a single pass range of adaptive time iterators. More...
 
template<class Stepper , class System , class State >
const_step_iterator< Stepper,
System, State > 
make_const_step_iterator_begin (Stepper stepper, System system, State &x, typename traits::time_type< Stepper >::type t_start, typename traits::time_type< Stepper >::type t_end, typename traits::time_type< Stepper >::type dt)
 Factory function for const_step_iterator. More...
 
template<class Stepper , class System , class State >
const_step_iterator< Stepper,
System, State > 
make_const_step_iterator_end (Stepper stepper, System system, State &x)
 Factory function for const_step_iterator. More...
 
template<class Stepper , class System , class State >
std::pair< const_step_iterator
< Stepper, System, State >
, const_step_iterator< Stepper,
System, State > > 
make_const_step_range (Stepper stepper, System system, State &x, typename traits::time_type< Stepper >::type t_start, typename traits::time_type< Stepper >::type t_end, typename traits::time_type< Stepper >::type dt)
 Factory function to construct a single pass range of const step iterators. More...
 
template<class Stepper , class System , class State >
const_step_time_iterator
< Stepper, System, State > 
make_const_step_time_iterator_begin (Stepper stepper, System system, State &x, typename traits::time_type< Stepper >::type t_start, typename traits::time_type< Stepper >::type t_end, typename traits::time_type< Stepper >::type dt)
 Factory function for const_step_time_iterator. More...
 
template<class Stepper , class System , class State >
const_step_time_iterator
< Stepper, System, State > 
make_const_step_time_iterator_end (Stepper stepper, System system, State &x)
 Factory function for const_step_time_iterator. More...
 
template<class Stepper , class System , class State >
std::pair
< const_step_time_iterator
< Stepper, System, State >
, const_step_time_iterator
< Stepper, System, State > > 
make_const_step_time_range (Stepper stepper, System system, State &x, typename traits::time_type< Stepper >::type t_start, typename traits::time_type< Stepper >::type t_end, typename traits::time_type< Stepper >::type dt)
 Factory function to construct a single pass range of const_step_time_iterator. More...
 
template<class Stepper , class System , class State >
n_step_iterator< Stepper,
System, State > 
make_n_step_iterator_begin (Stepper stepper, System system, State &x, typename traits::time_type< Stepper >::type t, typename traits::time_type< Stepper >::type dt, size_t num_of_steps)
 Factory function for n_step_iterator. More...
 
template<class Stepper , class System , class State >
n_step_iterator< Stepper,
System, State > 
make_n_step_iterator_end (Stepper stepper, System system, State &x)
 Factory function for n_step_iterator. More...
 
template<class Stepper , class System , class State >
std::pair< n_step_iterator
< Stepper, System, State >
, n_step_iterator< Stepper,
System, State > > 
make_n_step_range (Stepper stepper, System system, State &x, typename traits::time_type< Stepper >::type t, typename traits::time_type< Stepper >::type dt, size_t num_of_steps)
 Factory function to construct a single pass range of n-step iterators. More...
 
template<class Stepper , class System , class State >
n_step_time_iterator< Stepper,
System, State > 
make_n_step_time_iterator_begin (Stepper stepper, System system, State &x, typename traits::time_type< Stepper >::type t, typename traits::time_type< Stepper >::type dt, size_t num_of_steps)
 Factory function for n_step_time_iterator. More...
 
template<class Stepper , class System , class State >
n_step_time_iterator< Stepper,
System, State > 
make_n_step_time_iterator_end (Stepper stepper, System system, State &x)
 Factory function for n_step_time_iterator. More...
 
template<class Stepper , class System , class State >
std::pair
< n_step_time_iterator
< Stepper, System, State >
, n_step_time_iterator
< Stepper, System, State > > 
make_n_step_time_range (Stepper stepper, System system, State &x, typename traits::time_type< Stepper >::type t, typename traits::time_type< Stepper >::type dt, size_t num_of_steps)
 Factory function to construct a single pass range of n-step iterators. More...
 
template<class Stepper , class System , class State , class TimeIterator >
times_iterator< Stepper,
System, State, TimeIterator > 
make_times_iterator_begin (Stepper stepper, System system, State &x, TimeIterator t_start, TimeIterator t_end, typename traits::time_type< Stepper >::type dt)
 Factory function for times_iterator. More...
 
template<class TimeIterator , class Stepper , class System , class State >
times_iterator< Stepper,
System, State, TimeIterator > 
make_times_iterator_end (Stepper stepper, System system, State &x)
 Factory function for times_iterator. More...
 
template<class Stepper , class System , class State , class TimeIterator >
std::pair< times_iterator
< Stepper, System, State,
TimeIterator >, times_iterator
< Stepper, System, State,
TimeIterator > > 
make_times_range (Stepper stepper, System system, State &x, TimeIterator t_start, TimeIterator t_end, typename traits::time_type< Stepper >::type dt)
 Factory function to construct a single pass range of times iterators. More...
 
template<class Stepper , class System , class State , class TimeIterator >
times_time_iterator< Stepper,
System, State, TimeIterator > 
make_times_time_iterator_begin (Stepper stepper, System system, State &x, TimeIterator t_start, TimeIterator t_end, typename traits::time_type< Stepper >::type dt)
 Factory function for times_time_iterator. More...
 
template<class TimeIterator , class Stepper , class System , class State >
times_time_iterator< Stepper,
System, State, TimeIterator > 
make_times_time_iterator_end (Stepper stepper, System system, State &x)
 Factory function for times_time_iterator. More...
 
template<class Stepper , class System , class State , class TimeIterator >
std::pair< times_time_iterator
< Stepper, System, State,
TimeIterator >
, times_time_iterator< Stepper,
System, State, TimeIterator > > 
make_times_time_range (Stepper stepper, System system, State &x, TimeIterator t_start, TimeIterator t_end, typename traits::time_type< Stepper >::type dt)
 Factory function to construct a single pass range of times_time iterators. More...
 
template<class Stepper >
result_of::make_controlled
< Stepper >::type 
make_controlled (typename Stepper::value_type abs_error, typename Stepper::value_type rel_error, const Stepper &stepper=Stepper())
 
template<class Stepper >
result_of::make_dense_output
< Stepper >::type 
make_dense_output (typename Stepper::value_type abs_error, typename Stepper::value_type rel_error, const Stepper &stepper=Stepper())
 
template<class Container1 , class Container2 >
void copy (const Container1 &from, Container2 &to)
 
template<class StateOut , class StateIn >
void resize (StateOut &x1, const StateIn &x2)
 
template<class ResizeWrappedState , class State >
bool adjust_size_by_resizeability (ResizeWrappedState &x, const State &y, boost::true_type)
 
template<class ResizeWrappedState , class State >
bool adjust_size_by_resizeability (ResizeWrappedState &, const State &, boost::false_type)
 
template<class T1 , class T2 >
bool same_instance (const T1 &x1, const T2 &x2)
 
template<class State1 , class State2 >
bool same_size (const State1 &x1, const State2 &x2)
 
template<class Container1 , class Container2 >
void split (const Container1 &from, Container2 &to)
 
template<class Container1 , class Container2 >
void unsplit (const Container1 &from, Container2 &to)
 
template<class T >
detail::get_unit_value_impl< T >
::result_type 
get_unit_value (const T &t)
 
template<class T , class V >
void set_unit_value (T &t, const V &v)
 
std::string get_version_string (void)
 

Typedef Documentation

OpenMP-parallelized algebra.

For use with openmp_state.

Enumeration Type Documentation

Enum representing the return values of the controlled steppers.

Enumerator
success 

The trial step was successful, hence the state and the time have been advanced.

fail 

The step was not successful and might possibly be repeated with a small step size.

Function Documentation

template<class ResizeWrappedState , class State >
bool boost::numeric::odeint::adjust_size_by_resizeability ( ResizeWrappedState &  ,
const State &  ,
boost::false_type   
)
template<class Container1 , class Container2 >
void boost::numeric::odeint::copy ( const Container1 &  from,
Container2 &  to 
)

References boost::numeric::odeint::copy_impl< Container1, Container2 >::copy().

Referenced by boost::numeric::odeint::dense_output_runge_kutta< Stepper, stepper_tag >::calc_state(), boost::numeric::odeint::copy_impl< mpi_state< InnerState1 >, mpi_state< InnerState2 > >::copy(), boost::numeric::odeint::modified_midpoint_dense_out< state_type, value_type, deriv_type, time_type, algebra_type, operations_type, resizer_type >::do_step(), boost::numeric::odeint::modified_midpoint< state_type, value_type, deriv_type, time_type, algebra_type, operations_type, resizer_type >::do_step_impl(), boost::numeric::odeint::runge_kutta_dopri5< State, Value, Deriv, Time, Algebra, Operations, Resizer >::do_step_impl(), boost::numeric::odeint::dense_output_runge_kutta< Stepper, stepper_tag >::initialize(), boost::numeric::odeint::velocity_verlet< Coor, Velocity, Value, Acceleration, Time, TimeSq, Algebra, Operations, Resizer >::initialize(), boost::numeric::odeint::explicit_error_stepper_fsal_base< runge_kutta_dopri5< State, Value, Deriv, Time, Algebra, Operations, Resizer >, 5, 5, 4, State, Value, Deriv, Time, Algebra, Operations, Resizer >::initialize(), boost::numeric::odeint::bulirsch_stoer_dense_out< State, Value, Deriv, Time, Algebra, Operations, Resizer >::initialize(), boost::numeric::odeint::dense_output_runge_kutta< Stepper, explicit_controlled_stepper_fsal_tag >::initialize(), boost::numeric::odeint::controlled_runge_kutta< ErrorStepper, ErrorChecker, Resizer, explicit_error_stepper_fsal_tag >::initialize(), boost::numeric::odeint::split_impl< Source, mpi_state< InnerState >, typename boost::enable_if< boost::has_range_const_iterator< Source > >::type >::split(), boost::numeric::odeint::rosenbrock4_controller< Stepper >::try_step(), boost::numeric::odeint::bulirsch_stoer< State, Value, Deriv, Time, Algebra, Operations, Resizer >::try_step(), boost::numeric::odeint::controlled_runge_kutta< ErrorStepper, ErrorChecker, Resizer, explicit_error_stepper_tag >::try_step(), and boost::numeric::odeint::controlled_runge_kutta< ErrorStepper, ErrorChecker, Resizer, explicit_error_stepper_fsal_tag >::try_step().

std::string boost::numeric::odeint::get_version_string ( void  )
inline
template<class System , class State , class Time , class Observer >
boost::numeric::odeint::integrate ( System  system,
State &  start_state,
Time  start_time,
Time  end_time,
Time  dt,
Observer  observer 
)

Integrates the ODE.

Integrates the ODE given by system from start_time to end_time starting with start_state as initial condition and dt as initial time step. This function uses a dense output dopri5 stepper and performs an adaptive integration with step size control, thus dt changes during the integration. This method uses standard error bounds of 1E-6. After each step, the observer is called.

Parameters
systemThe system function to solve, hence the r.h.s. of the ordinary differential equation.
start_stateThe initial state.
start_timeStart time of the integration.
end_timeEnd time of the integration.
dtInitial step size, will be adjusted during the integration.
observerObserver that will be called after each time step.
Returns
The number of steps performed.

References integrate_adaptive().

Referenced by integrate().

template<class System , class State , class Time >
boost::numeric::odeint::integrate ( System  system,
State &  start_state,
Time  start_time,
Time  end_time,
Time  dt 
)

Integrates the ODE without observer calls.

Integrates the ODE given by system from start_time to end_time starting with start_state as initial condition and dt as initial time step. This function uses a dense output dopri5 stepper and performs an adaptive integration with step size control, thus dt changes during the integration. This method uses standard error bounds of 1E-6. No observer is called.

Parameters
systemThe system function to solve, hence the r.h.s. of the ordinary differential equation.
start_stateThe initial state.
start_timeStart time of the integration.
end_timeEnd time of the integration.
dtInitial step size, will be adjusted during the integration.
Returns
The number of steps performed.

References integrate().

template<class Stepper , class System , class State , class Time , class Observer >
boost::numeric::odeint::integrate_adaptive ( Stepper  stepper,
System  system,
State &  start_state,
Time  start_time,
Time  end_time,
Time  dt,
Observer  observer 
)

Integrates the ODE with adaptive step size.

This function integrates the ODE given by system with the given stepper. The observer is called after each step. If the stepper has no error control, the step size remains constant and the observer is called at equidistant time points t0+n*dt. If the stepper is a ControlledStepper, the step size is adjusted and the observer is called in non-equidistant intervals.

Parameters
stepperThe stepper to be used for numerical integration.
systemFunction/Functor defining the rhs of the ODE.
start_stateThe initial condition x0.
start_timeThe initial time t0.
end_timeThe final integration time tend.
dtThe time step between observer calls, not necessarily the time step of the integration.
observerFunction/Functor called at equidistant time intervals.
Returns
The number of steps performed.

References integrate_adaptive().

Referenced by integrate(), integrate_adaptive(), and integrate_const().

template<class Stepper , class System , class State , class Time , class Observer >
size_t boost::numeric::odeint::integrate_adaptive ( Stepper  stepper,
System  system,
const State &  start_state,
Time  start_time,
Time  end_time,
Time  dt,
Observer  observer 
)

Second version to solve the forwarding problem, can be called with Boost.Range as start_state.

References integrate_adaptive().

template<class Stepper , class System , class State , class Time >
size_t boost::numeric::odeint::integrate_adaptive ( Stepper  stepper,
System  system,
State &  start_state,
Time  start_time,
Time  end_time,
Time  dt 
)

integrate_adaptive without an observer.

References integrate_adaptive().

template<class Stepper , class System , class State , class Time >
size_t boost::numeric::odeint::integrate_adaptive ( Stepper  stepper,
System  system,
const State &  start_state,
Time  start_time,
Time  end_time,
Time  dt 
)

Second version to solve the forwarding problem, can be called with Boost.Range as start_state.

References integrate_adaptive().

Referenced by integrate_adaptive().

template<class Stepper , class System , class State , class Time , class Observer >
boost::numeric::odeint::integrate_const ( Stepper  stepper,
System  system,
State &  start_state,
Time  start_time,
Time  end_time,
Time  dt,
Observer  observer 
)

Integrates the ODE with constant step size.

Integrates the ODE defined by system using the given stepper. This method ensures that the observer is called at constant intervals dt. If the Stepper is a normal stepper without step size control, dt is also used for the numerical scheme. If a ControlledStepper is provided, the algorithm might reduce the step size to meet the error bounds, but it is ensured that the observer is always called at equidistant time points t0 + n*dt. If a DenseOutputStepper is used, the step size also may vary and the dense output is used to call the observer at equidistant time points.

Parameters
stepperThe stepper to be used for numerical integration.
systemFunction/Functor defining the rhs of the ODE.
start_stateThe initial condition x0.
start_timeThe initial time t0.
end_timeThe final integration time tend.
dtThe time step between observer calls, not necessarily the time step of the integration.
observerFunction/Functor called at equidistant time intervals.
Returns
The number of steps performed.

References integrate_adaptive(), integrate_const(), and boost::program_options::value().

Referenced by integrate_const().

template<class Stepper , class System , class State , class Time , class Observer >
size_t boost::numeric::odeint::integrate_const ( Stepper  stepper,
System  system,
const State &  start_state,
Time  start_time,
Time  end_time,
Time  dt,
Observer  observer 
)

Second version to solve the forwarding problem, can be called with Boost.Range as start_state.

References integrate_adaptive(), integrate_const(), and boost::program_options::value().

template<class Stepper , class System , class State , class Time >
size_t boost::numeric::odeint::integrate_const ( Stepper  stepper,
System  system,
State &  start_state,
Time  start_time,
Time  end_time,
Time  dt 
)

integrate_const without observer calls

References integrate_const().

template<class Stepper , class System , class State , class Time >
size_t boost::numeric::odeint::integrate_const ( Stepper  stepper,
System  system,
const State &  start_state,
Time  start_time,
Time  end_time,
Time  dt 
)

Second version to solve the forwarding problem, can be called with Boost.Range as start_state.

References integrate_const().

Referenced by integrate_const().

template<class Stepper , class System , class State , class Time , class Observer >
Time boost::numeric::odeint::integrate_n_steps ( Stepper  stepper,
System  system,
State &  start_state,
Time  start_time,
Time  dt,
size_t  num_of_steps,
Observer  observer 
)

Integrates the ODE with constant step size.

This function is similar to integrate_const. The observer is called at equidistant time intervals t0 + n*dt. If the Stepper is a normal stepper without step size control, dt is also used for the numerical scheme. If a ControlledStepper is provided, the algorithm might reduce the step size to meet the error bounds, but it is ensured that the observer is always called at equidistant time points t0 + n*dt. If a DenseOutputStepper is used, the step size also may vary and the dense output is used to call the observer at equidistant time points. The final integration time is always t0 + num_of_steps*dt.

Parameters
stepperThe stepper to be used for numerical integration.
systemFunction/Functor defining the rhs of the ODE.
start_stateThe initial condition x0.
start_timeThe initial time t0.
dtThe time step between observer calls, not necessarily the time step of the integration.
num_of_stepsNumber of steps to be performed
observerFunction/Functor called at equidistant time intervals.
Returns
The number of steps performed.

References integrate_n_steps().

Referenced by integrate_n_steps().

template<class Stepper , class System , class State , class Time , class Observer >
Time boost::numeric::odeint::integrate_n_steps ( Stepper  stepper,
System  system,
const State &  start_state,
Time  start_time,
Time  dt,
size_t  num_of_steps,
Observer  observer 
)

Solves the forwarding problem, can be called with Boost.Range as start_state.

References integrate_n_steps().

template<class Stepper , class System , class State , class Time >
Time boost::numeric::odeint::integrate_n_steps ( Stepper  stepper,
System  system,
State &  start_state,
Time  start_time,
Time  dt,
size_t  num_of_steps 
)

The same function as above, but without observer calls.

References integrate_n_steps().

template<class Stepper , class System , class State , class Time >
Time boost::numeric::odeint::integrate_n_steps ( Stepper  stepper,
System  system,
const State &  start_state,
Time  start_time,
Time  dt,
size_t  num_of_steps 
)

Solves the forwarding problem, can be called with Boost.Range as start_state.

References integrate_n_steps().

Referenced by integrate_n_steps().

template<class Stepper , class System , class State , class TimeIterator , class Time , class Observer >
size_t boost::numeric::odeint::integrate_times ( Stepper  stepper,
System  system,
State &  start_state,
TimeIterator  times_start,
TimeIterator  times_end,
Time  dt,
Observer  observer 
)

Integrates the ODE with observer calls at given time points.

Integrates the ODE given by system using the given stepper. This function does observer calls at the subsequent time points given by the range times_start, times_end. If the stepper has not step size control, the step size might be reduced occasionally to ensure observer calls exactly at the time points from the given sequence. If the stepper is a ControlledStepper, the step size is adjusted to meet the error bounds, but also might be reduced occasionally to ensure correct observer calls. If a DenseOutputStepper is provided, the dense output functionality is used to call the observer at the given times. The end time of the integration is always *(end_time-1).

Parameters
stepperThe stepper to be used for numerical integration.
systemFunction/Functor defining the rhs of the ODE.
start_stateThe initial condition x0.
times_startIterator to the start time
times_endIterator to the end time
dtThe time step between observer calls, not necessarily the time step of the integration.
observerFunction/Functor called at equidistant time intervals.
Returns
The number of steps performed.

References integrate_times().

Referenced by integrate_times().

template<class Stepper , class System , class State , class TimeIterator , class Time , class Observer >
size_t boost::numeric::odeint::integrate_times ( Stepper  stepper,
System  system,
const State &  start_state,
TimeIterator  times_start,
TimeIterator  times_end,
Time  dt,
Observer  observer 
)

Solves the forwarding problem, can be called with Boost.Range as start_state.

References integrate_times().

template<class Stepper , class System , class State , class TimeRange , class Time , class Observer >
size_t boost::numeric::odeint::integrate_times ( Stepper  stepper,
System  system,
State &  start_state,
const TimeRange &  times,
Time  dt,
Observer  observer 
)

The same function as above, but without observer calls.

References boost::asio::begin, boost::end, and integrate_times().

template<class Stepper , class System , class State , class TimeRange , class Time , class Observer >
size_t boost::numeric::odeint::integrate_times ( Stepper  stepper,
System  system,
const State &  start_state,
const TimeRange &  times,
Time  dt,
Observer  observer 
)

Solves the forwarding problem, can be called with Boost.Range as start_state.

References boost::asio::begin, boost::end, and integrate_times().

Referenced by integrate_times().

template<class Stepper , class System , class State >
boost::numeric::odeint::make_adaptive_iterator_begin ( Stepper  stepper,
System  system,
State &  x,
typename traits::time_type< Stepper >::type  t_start,
typename traits::time_type< Stepper >::type  t_end,
typename traits::time_type< Stepper >::type  dt 
)

Factory function for adaptive_iterator.

Constructs a begin iterator.

Parameters
stepperThe stepper to use during the iteration.
systemThe system function (ODE) to solve.
xThe initial state.
t_startThe initial time.
t_endThe end time, at which the iteration should stop.
dtThe initial time step.
Returns
The adaptive iterator.

References boost::flyweights::x.

template<class Stepper , class System , class State >
boost::numeric::odeint::make_adaptive_iterator_end ( Stepper  stepper,
System  system,
State &  x 
)

Factory function for adaptive_iterator.

Constructs a end iterator.

Parameters
stepperThe stepper to use during the iteration.
systemThe system function (ODE) to solve.
xThe initial state.
Returns
The adaptive iterator.

References boost::flyweights::x.

template<class Stepper , class System , class State >
boost::numeric::odeint::make_adaptive_range ( Stepper  stepper,
System  system,
State &  x,
typename traits::time_type< Stepper >::type  t_start,
typename traits::time_type< Stepper >::type  t_end,
typename traits::time_type< Stepper >::type  dt 
)

Factory function to construct a single pass range of adaptive iterators.

A range is here a pair of adaptive_iterator.

Parameters
stepperThe stepper to use during the iteration.
systemThe system function (ODE) to solve.
xThe initial state.
t_startThe initial time.
t_endThe end time, at which the iteration should stop.
dtThe initial time step.
Returns
The adaptive range.

References boost::xpressive::make_pair.

template<class Stepper , class System , class State >
boost::numeric::odeint::make_adaptive_time_iterator_begin ( Stepper  stepper,
System  system,
State &  x,
typename traits::time_type< Stepper >::type  t_start,
typename traits::time_type< Stepper >::type  t_end,
typename traits::time_type< Stepper >::type  dt 
)

Factory function for adaptive_time_iterator.

Constructs a begin iterator.

Parameters
stepperThe stepper to use during the iteration.
systemThe system function (ODE) to solve.
xThe initial state. adaptive_time_iterator stores a reference of s and changes its value during the iteration.
t_startThe initial time.
t_endThe end time, at which the iteration should stop.
dtThe initial time step.
Returns
The adaptive time iterator.

References boost::flyweights::x.

template<class Stepper , class System , class State >
boost::numeric::odeint::make_adaptive_time_iterator_end ( Stepper  stepper,
System  system,
State &  x 
)

Factory function for adaptive_time_iterator.

Constructs a end iterator.

Parameters
stepperThe stepper to use during the iteration.
systemThe system function (ODE) to solve.
xThe initial state. adaptive_time_iterator stores a reference of s and changes its value during the iteration.
Returns
The adaptive time iterator.

References boost::flyweights::x.

template<class Stepper , class System , class State >
boost::numeric::odeint::make_adaptive_time_range ( Stepper  stepper,
System  system,
State &  x,
typename traits::time_type< Stepper >::type  t_start,
typename traits::time_type< Stepper >::type  t_end,
typename traits::time_type< Stepper >::type  dt 
)

Factory function to construct a single pass range of adaptive time iterators.

A range is here a pair of adaptive_time_iterators.

Parameters
stepperThe stepper to use during the iteration.
systemThe system function (ODE) to solve.
xThe initial state. adaptive_time_iterator stores a reference of s and changes its value during the iteration.
t_startThe initial time.
t_endThe end time, at which the iteration should stop.
dtThe initial time step.
Returns
The adaptive time range.

References boost::xpressive::make_pair.

template<class Stepper , class System , class State >
boost::numeric::odeint::make_const_step_iterator_begin ( Stepper  stepper,
System  system,
State &  x,
typename traits::time_type< Stepper >::type  t_start,
typename traits::time_type< Stepper >::type  t_end,
typename traits::time_type< Stepper >::type  dt 
)

Factory function for const_step_iterator.

Constructs a begin iterator.

Parameters
stepperThe stepper to use during the iteration.
systemThe system function (ODE) to solve.
xThe initial state. const_step_iterator stores a reference of s and changes its value during the iteration.
t_startThe initial time.
t_endThe end time, at which the iteration should stop.
dtThe initial time step.
Returns
The const step iterator.

References boost::flyweights::x.

template<class Stepper , class System , class State >
boost::numeric::odeint::make_const_step_iterator_end ( Stepper  stepper,
System  system,
State &  x 
)

Factory function for const_step_iterator.

Constructs a end iterator.

Parameters
stepperThe stepper to use during the iteration.
systemThe system function (ODE) to solve.
xThe initial state. const_step_iterator stores a reference of s and changes its value during the iteration.
Returns
The const_step_iterator.

References boost::flyweights::x.

template<class Stepper , class System , class State >
boost::numeric::odeint::make_const_step_range ( Stepper  stepper,
System  system,
State &  x,
typename traits::time_type< Stepper >::type  t_start,
typename traits::time_type< Stepper >::type  t_end,
typename traits::time_type< Stepper >::type  dt 
)

Factory function to construct a single pass range of const step iterators.

A range is here a pair of const_step_iterator.

Parameters
stepperThe stepper to use during the iteration.
systemThe system function (ODE) to solve.
xThe initial state. const_step_iterator store a reference of s and changes its value during the iteration.
t_startThe initial time.
t_endThe end time, at which the iteration should stop.
dtThe initial time step.
Returns
The const step range.

References boost::xpressive::make_pair.

template<class Stepper , class System , class State >
boost::numeric::odeint::make_const_step_time_iterator_begin ( Stepper  stepper,
System  system,
State &  x,
typename traits::time_type< Stepper >::type  t_start,
typename traits::time_type< Stepper >::type  t_end,
typename traits::time_type< Stepper >::type  dt 
)

Factory function for const_step_time_iterator.

Constructs a begin iterator.

Parameters
stepperThe stepper to use during the iteration.
systemThe system function (ODE) to solve.
xThe initial state. const_step_time_iterator stores a reference of s and changes its value during the iteration.
t_startThe initial time.
t_endThe end time, at which the iteration should stop.
dtThe initial time step.
Returns
The const step time iterator.

References boost::flyweights::x.

template<class Stepper , class System , class State >
boost::numeric::odeint::make_const_step_time_iterator_end ( Stepper  stepper,
System  system,
State &  x 
)

Factory function for const_step_time_iterator.

Constructs a end iterator.

Parameters
stepperThe stepper to use during the iteration.
systemThe system function (ODE) to solve.
xThe initial state. const_step_time_iterator store a reference of s and changes its value during the iteration.
Returns
The const step time iterator.

References boost::flyweights::x.

template<class Stepper , class System , class State >
boost::numeric::odeint::make_const_step_time_range ( Stepper  stepper,
System  system,
State &  x,
typename traits::time_type< Stepper >::type  t_start,
typename traits::time_type< Stepper >::type  t_end,
typename traits::time_type< Stepper >::type  dt 
)

Factory function to construct a single pass range of const_step_time_iterator.

A range is here a pair of const_step_time_iterator.

Parameters
stepperThe stepper to use during the iteration.
systemThe system function (ODE) to solve.
xThe initial state. const_step_time_iterator stores a reference of s and changes its value during the iteration.
tThe initial time.
t_endThe end time, at which the iteration should stop.
dtThe initial time step.
Returns
The const step time range.

References boost::xpressive::make_pair.

template<class Stepper >
result_of::make_controlled< Stepper >::type boost::numeric::odeint::make_controlled ( typename Stepper::value_type  abs_error,
typename Stepper::value_type  rel_error,
const Stepper &  stepper = Stepper() 
)
template<class Stepper >
result_of::make_dense_output< Stepper >::type boost::numeric::odeint::make_dense_output ( typename Stepper::value_type  abs_error,
typename Stepper::value_type  rel_error,
const Stepper &  stepper = Stepper() 
)
template<class Stepper , class System , class State >
boost::numeric::odeint::make_n_step_iterator_begin ( Stepper  stepper,
System  system,
State &  x,
typename traits::time_type< Stepper >::type  t,
typename traits::time_type< Stepper >::type  dt,
size_t  num_of_steps 
)

Factory function for n_step_iterator.

Constructs a begin iterator.

Parameters
stepperThe stepper to use during the iteration.
systemThe system function (ODE) to solve.
xThe initial state. const_step_iterator stores a reference of s and changes its value during the iteration.
tThe initial time.
dtThe initial time step.
num_of_stepsThe number of steps to be executed.
Returns
The n-step iterator.

References boost::flyweights::t, and boost::flyweights::x.

template<class Stepper , class System , class State >
boost::numeric::odeint::make_n_step_iterator_end ( Stepper  stepper,
System  system,
State &  x 
)

Factory function for n_step_iterator.

Constructs an end iterator.

Parameters
stepperThe stepper to use during the iteration.
systemThe system function (ODE) to solve.
xThe initial state. const_step_iterator stores a reference of s and changes its value during the iteration.
Returns
The const_step_iterator.

References boost::flyweights::x.

template<class Stepper , class System , class State >
boost::numeric::odeint::make_n_step_range ( Stepper  stepper,
System  system,
State &  x,
typename traits::time_type< Stepper >::type  t,
typename traits::time_type< Stepper >::type  dt,
size_t  num_of_steps 
)

Factory function to construct a single pass range of n-step iterators.

A range is here a pair of n_step_iterator.

Parameters
stepperThe stepper to use during the iteration.
systemThe system function (ODE) to solve.
xThe initial state. const_step_iterator store a reference of s and changes its value during the iteration.
tThe initial time.
dtThe initial time step.
num_of_stepsThe number of steps to be executed.
Returns
The n-step range.

References boost::xpressive::make_pair.

template<class Stepper , class System , class State >
boost::numeric::odeint::make_n_step_time_iterator_begin ( Stepper  stepper,
System  system,
State &  x,
typename traits::time_type< Stepper >::type  t,
typename traits::time_type< Stepper >::type  dt,
size_t  num_of_steps 
)

Factory function for n_step_time_iterator.

Constructs a begin iterator.

Parameters
stepperThe stepper to use during the iteration.
systemThe system function (ODE) to solve.
xThe initial state. const_step_iterator stores a reference of s and changes its value during the iteration.
tThe initial time.
dtThe initial time step.
num_of_stepsThe number of steps to be executed.
Returns
The n-step iterator.

References boost::flyweights::t, and boost::flyweights::x.

template<class Stepper , class System , class State >
boost::numeric::odeint::make_n_step_time_iterator_end ( Stepper  stepper,
System  system,
State &  x 
)

Factory function for n_step_time_iterator.

Constructs an end iterator.

Parameters
stepperThe stepper to use during the iteration.
systemThe system function (ODE) to solve.
xThe initial state. const_step_iterator stores a reference of s and changes its value during the iteration.
Returns
The const_step_iterator.

References boost::flyweights::x.

template<class Stepper , class System , class State >
boost::numeric::odeint::make_n_step_time_range ( Stepper  stepper,
System  system,
State &  x,
typename traits::time_type< Stepper >::type  t,
typename traits::time_type< Stepper >::type  dt,
size_t  num_of_steps 
)

Factory function to construct a single pass range of n-step iterators.

A range is here a pair of n_step_time_iterator.

Parameters
stepperThe stepper to use during the iteration.
systemThe system function (ODE) to solve.
xThe initial state. const_step_iterator store a reference of s and changes its value during the iteration.
tThe initial time.
dtThe initial time step.
num_of_stepsThe number of steps to be executed.
Returns
The n-step range.

References boost::xpressive::make_pair.

template<class Stepper , class System , class State , class TimeIterator >
boost::numeric::odeint::make_times_iterator_begin ( Stepper  stepper,
System  system,
State &  x,
TimeIterator  t_start,
TimeIterator  t_end,
typename traits::time_type< Stepper >::type  dt 
)

Factory function for times_iterator.

Constructs a begin iterator.

Parameters
stepperThe stepper to use during the iteration.
systemThe system function (ODE) to solve.
xThe initial state. const_step_iterator stores a reference of s and changes its value during the iteration.
t_startBegin iterator of the sequence of evaluation time points.
t_endEnd iterator of the sequence of evaluation time points.
dtThe initial time step.
Returns
The times iterator.

References boost::flyweights::x.

template<class TimeIterator , class Stepper , class System , class State >
boost::numeric::odeint::make_times_iterator_end ( Stepper  stepper,
System  system,
State &  x 
)

Factory function for times_iterator.

Constructs an end iterator.

Template Parameters
TimesIteratorThe iterator type of the time sequence, must be specifically provided.
Parameters
stepperThe stepper to use during the iteration.
systemThe system function (ODE) to solve.
xThe initial state. const_step_iterator stores a reference of s and changes its value during the iteration.
Returns
The times iterator.

This function needs the TimeIterator type specifically defined as a template parameter.

References boost::flyweights::x.

template<class Stepper , class System , class State , class TimeIterator >
boost::numeric::odeint::make_times_range ( Stepper  stepper,
System  system,
State &  x,
TimeIterator  t_start,
TimeIterator  t_end,
typename traits::time_type< Stepper >::type  dt 
)

Factory function to construct a single pass range of times iterators.

A range is here a pair of times_iterator.

Parameters
stepperThe stepper to use during the iteration.
systemThe system function (ODE) to solve.
xThe initial state. const_step_iterator store a reference of s and changes its value during the iteration.
t_startBegin iterator of the sequence of evaluation time points.
t_endEnd iterator of the sequence of evaluation time points.
dtThe initial time step.
Returns
The times iterator range.

References boost::xpressive::make_pair.

template<class Stepper , class System , class State , class TimeIterator >
boost::numeric::odeint::make_times_time_iterator_begin ( Stepper  stepper,
System  system,
State &  x,
TimeIterator  t_start,
TimeIterator  t_end,
typename traits::time_type< Stepper >::type  dt 
)

Factory function for times_time_iterator.

Constructs a begin iterator.

Parameters
stepperThe stepper to use during the iteration.
systemThe system function (ODE) to solve.
xThe initial state. const_step_iterator stores a reference of s and changes its value during the iteration.
t_startBegin iterator of the sequence of evaluation time points.
t_endEnd iterator of the sequence of evaluation time points.
dtThe initial time step.
Returns
The times_time iterator.

References boost::flyweights::x.

template<class TimeIterator , class Stepper , class System , class State >
boost::numeric::odeint::make_times_time_iterator_end ( Stepper  stepper,
System  system,
State &  x 
)

Factory function for times_time_iterator.

Constructs an end iterator.

Template Parameters
TimesIteratorThe iterator type of the time sequence, must be specifically provided.
Parameters
stepperThe stepper to use during the iteration.
systemThe system function (ODE) to solve.
xThe initial state. const_step_iterator stores a reference of s and changes its value during the iteration.
Returns
The times_time iterator.

This function needs the TimeIterator type specifically defined as a template parameter.

References boost::flyweights::x.

template<class Stepper , class System , class State , class TimeIterator >
boost::numeric::odeint::make_times_time_range ( Stepper  stepper,
System  system,
State &  x,
TimeIterator  t_start,
TimeIterator  t_end,
typename traits::time_type< Stepper >::type  dt 
)

Factory function to construct a single pass range of times_time iterators.

A range is here a pair of times_iterator.

Parameters
stepperThe stepper to use during the iteration.
systemThe system function (ODE) to solve.
xThe initial state. const_step_iterator store a reference of s and changes its value during the iteration.
t_startBegin iterator of the sequence of evaluation time points.
t_endEnd iterator of the sequence of evaluation time points.
dtThe initial time step.
Returns
The times_time iterator range.

References boost::xpressive::make_pair.

template<class T1 , class T2 >
bool boost::numeric::odeint::same_instance ( const T1 &  x1,
const T2 &  x2 
)
template<class Container1 , class Container2 >
void boost::numeric::odeint::split ( const Container1 &  from,
Container2 &  to 
)
template<class Container1 , class Container2 >
void boost::numeric::odeint::unsplit ( const Container1 &  from,
Container2 &  to 
)