...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Home  Libraries  People  FAQ  More 
boost::numeric::odeint::symplectic_rkn_sb3a_mclachlan — Implement of the symmetric B3A method of RungeKuttaNystroem method of sixth order.
// In header: <boost/numeric/odeint/stepper/symplectic_rkn_sb3a_mclachlan.hpp> template<typename Coor, typename Momentum = Coor, typename Value = double, typename CoorDeriv = Coor, typename MomentumDeriv = Coor, typename Time = Value, typename Algebra = typename algebra_dispatcher< Coor >::algebra_type, typename Operations = typename operations_dispatcher< Coor >::operations_type, typename Resizer = initially_resizer> class symplectic_rkn_sb3a_mclachlan : public symplectic_nystroem_stepper_base { public: // types typedef stepper_base_type::algebra_type algebra_type; typedef stepper_base_type::value_type value_type; // public member functions symplectic_rkn_sb3a_mclachlan(const algebra_type & = algebra_type()); };
The method is of fourth order and has six stages. It is described HERE. This method cannot be used with multiprecision types since the coefficients are not defined analytically.
ToDo Add reference to the paper.
typename Coor
The type representing the coordinates q.
typename Momentum = Coor
The type representing the coordinates p.
typename Value = double
The basic value type. Should be something like float, double or a highprecision type.
typename CoorDeriv = Coor
The type representing the time derivative of the coordinate dq/dt.
typename MomentumDeriv = Coor
typename Time = Value
The type representing the time t.
typename Algebra = typename algebra_dispatcher< Coor >::algebra_type
The algebra.
typename Operations = typename operations_dispatcher< Coor >::operations_type
The operations.
typename Resizer = initially_resizer
The resizer policy.
symplectic_rkn_sb3a_mclachlan
public member functionssymplectic_rkn_sb3a_mclachlan(const algebra_type & algebra = algebra_type());Constructs the symplectic_rkn_sb3a_mclachlan. This constructor can be used as a default constructor if the algebra has a default constructor.
Parameters: 
