Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Class template extrapolation_stepper

Boost , Chapter 1. Boost.Numeric.Odeint , Header <boost/numeric/odeint/stepper/extrapolation_stepper.hpp>

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Boost C++ LibrariesHomeLibrariesPeopleFAQMore

PrevUpHomeNext

Class template extrapolation_stepper

boost::numeric::odeint::extrapolation_stepper — Extrapolation stepper with configurable order, and error estimation.

Synopsis

// 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;
};

Description

Степпер экстраполяции является шагомером с оценкой ошибок и настраиваемым порядком. Заказ дается как параметр шаблона и должен быть номером odd. Степпер основан на нескольких казнях модифицированного метода средней точки и экстраполяции Ричардсона. Это по существу тот же метод, что и для bulirsch_stoer, но без переменного порядка.

[Note]Note

Параметр Заказа должен быть еще больше 2.

extrapolation_stepper public construct/copy/destruct

  1. extrapolation_stepper(const algebra_type & алгебра = algebra_type();

extrapolation_stepper private member functions

  1.  BOOST_STATIC_ASSERT_MSG(((Ордер%2>)==0>&>(Ордер>>24>>>4>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  2. template<имя типа
  3. template<имя типа
  4. >>>>>>>& таблицы,>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

extrapolation_stepper public member functions

  1. >>>>>>>>2>2>2>2>2>2>2>2>>>>>>>>>>>>>>>
  2. >>2>>2>2>2>2>2>2>2>2>2>2>2>2>2>2>>>>>>>>>>>>>
  3. >>>>>>>>>>2>>>>>>>>>>>>>>>>>>
  4. >>>>>>>>>>>>2>>>>>>>>>>>>>>>>
  5. >>>>>>2>>2>2>2>>>>>>>>>>>>>>>>>>>>>
  6. > > > > > > > > > > > > > > > >> >>
  7. template<имя типа

PrevUpHomeNext

Статья 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> ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 22:18:35/0.009537935256958/1