Class ode_step (o2scl)¶
-
template<class vec_y_t = boost::numeric::ublas::vector<double>, class vec_dydx_t = vec_y_t, class vec_yerr_t = vec_y_t, class func_t = ode_funct>
class o2scl::ode_step¶ ODE stepper base [abstract base].
Public Functions
-
inline ode_step()¶
-
inline virtual ~ode_step()¶
-
inline virtual int get_order()¶
Return the order of the ODE stepper.
This is used, for example, by astep_gsl to adaptively adjust the stepsize.
-
virtual int step(double x, double h, size_t n, vec_y_t &y, vec_dydx_t &dydx, vec_y_t &yout, vec_yerr_t &yerr, vec_dydx_t &dydx_out, func_t &derivs) = 0¶
Perform an integration step.
Given initial value of the n-dimensional function in
yand the derivative indydx(which must generally be computed beforehand) at the pointx, take a step of sizehgiving the result inyout, the uncertainty at \( x+h \) inyerr, and the new derivative at \( x+h \) indydx_outusing functionderivsto calculate derivatives. Implementations which do not calculateyerrand/ordydx_outdo not reference these variables so that a blankvec_tcan be given. All of the current implementations allowyout=yanddydx_out=dydxif necessary
Protected Attributes
-
int order¶
The order of the ODE stepper.
-
inline ode_step()¶