![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Class template extrapolation_stepperBoost , Chapter 1. Boost.Numeric.Odeint , Header <boost/numeric/odeint/stepper/extrapolation_stepper.hpp>
|
![]() | Home | Libraries | People | FAQ | More |
boost::numeric::odeint::extrapolation_stepper — Extrapolation stepper with configurable order, and error estimation.
// In header: <boost/numeric/odeint/stepper/extrapolation_stepper.hpp> template<unsigned short Order, typename State, typename Value = double, typename Deriv = State, typename Time = Value, typename Algebra = typename algebra_dispatcher< State >::algebra_type, typename Operations = typename operations_dispatcher< State >::operations_type, typename Resizer = initially_resizer> class extrapolation_stepper : public explicit_error_stepper_base { public: // types typedef explicit_error_stepper_base< extrapolation_stepper< ... >,... > stepper_base_type; typedef stepper_base_type::state_type state_type; typedef stepper_base_type::value_type value_type; typedef stepper_base_type::deriv_type deriv_type; typedef stepper_base_type::time_type time_type; typedef stepper_base_type::algebra_type algebra_type; typedef stepper_base_type::operations_type operations_type; typedef stepper_base_type::resizer_type resizer_type; typedef unsigned short order_type; // construct/copy/destruct extrapolation_stepper(const algebra_type & = algebra_type()); // private member functions BOOST_STATIC_ASSERT_MSG(((Order%2)==0)&&(Order > 2), "extrapolation_stepper requires even Order larger than 2"); template<typename StateIn> bool resize_impl(const StateIn &); template<typename StateIn> bool resize_m_xout(const StateIn &); template<typename StateInOut> void extrapolate(size_t, state_table_type &, const value_matrix &, StateInOut &); // public member functions template<typename System, typename StateIn, typename DerivIn, typename StateOut, typename Err> void do_step_impl(System, const StateIn &, const DerivIn &, time_type, StateOut &, time_type, Err &); template<typename System, typename StateInOut, typename DerivIn, typename Err> void do_step_impl_io(System, StateInOut &, const DerivIn &, time_type, time_type, Err &); template<typename System, typename StateIn, typename DerivIn, typename StateOut> void do_step_impl(System, const StateIn &, const DerivIn &, time_type, StateOut &, time_type); template<typename System, typename StateInOut, typename DerivIn> void do_step_impl_io(System, StateInOut &, const DerivIn &, time_type, time_type); template<typename System, typename StateInOut, typename DerivIn> void do_step_dxdt_impl(System, StateInOut &, const DerivIn &, time_type, time_type); template<typename System, typename StateIn, typename DerivIn, typename StateOut> void do_step_dxdt_impl(System, const StateIn &, const DerivIn &, time_type, StateOut &, time_type); template<typename StateIn> void adjust_size(const StateIn &); // public data members static const order_type order_value; static const order_type stepper_order_value; static const order_type error_order_value; static const size_t m_k_max; };
Степпер экстраполяции является шагомером с оценкой ошибок и настраиваемым порядком. Заказ дается как параметр шаблона и должен быть номером odd. Степпер основан на нескольких казнях модифицированного метода средней точки и экстраполяции Ричардсона. Это по существу тот же метод, что и для bulirsch_stoer, но без переменного порядка.
![]() | Note |
---|---|
Параметр Заказа должен быть еще больше 2. |
extrapolation_stepper
private member functionsBOOST_STATIC_ASSERT_MSG(((Ордер%2>)==0>&>(Ордер>>24>>>4>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
template<имя типа
template<имя типа
Статья Class template extrapolation_stepper раздела Chapter 1. Boost.Numeric.Odeint Header <boost/numeric/odeint/stepper/extrapolation_stepper.hpp> может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Header <boost/numeric/odeint/stepper/extrapolation_stepper.hpp> ::
реклама |