23 #ifndef O2SCL_ODE_IV_TABLE_H
24 #define O2SCL_ODE_IV_TABLE_H
30 #include <o2scl/astep.h>
31 #include <o2scl/astep_gsl.h>
32 #include <o2scl/ode_iv_solve.h>
34 #ifndef DOXYGEN_NO_O2NS
52 template<
class func_t=ode_funct<>,
53 class vec_t=ubvector,
class alloc_vec_t=ubvector,
61 std::string x_col, std::string y_prefix,
62 std::string dydx_prefix, std::string yerr_prefix,
68 double x0=t.
get(x_col,0);
69 double x1=t.
get(x_col,n_sol-1);
70 double h=t.
get(x_col,1)-x0;
74 this->ao.allocate(x_sol,n_sol);
75 ubmatrix ysol(n_sol,n), dydx_sol(n_sol,n), yerr_sol(n_sol,n);
82 this->
template solve_grid<ubmatrix,ubmatrix_row>
83 (x0,
x1,h,n,ystart,n_sol,x_sol,ysol,dydx_sol,yerr_sol,derivs);
86 std::vector<ubvector *> yt, dyt, errt;
89 for(
size_t i=0;i<n;i++) {
121 vec_t &ystart,
size_t &n_sol,
table<> &t,
122 std::string x_col, std::string y_prefix,
123 std::string dydx_prefix, std::string yerr_prefix,
131 this->ao.allocate(x_sol,n_sol);
132 ubmatrix ysol(n_sol,n), dydx_sol(n_sol,n), yerr_sol(n_sol,n);
135 this->
template solve_store<ubmatrix,ubmatrix_row>
136 (x0,
x1,h,n,ystart,n_sol,x_sol,ysol,dydx_sol,yerr_sol,derivs);
139 std::vector<ubvector *> yt, dyt, errt;
145 for(
size_t i=0;i<n;i++) {
180 #ifndef DOXYGEN_NO_O2NS