Class ode_bv_shoot (o2scl)¶
-
template<class func_t = ode_funct, class vec_t = boost::numeric::ublas::vector<double>, class vec_int_t = boost::numeric::ublas::vector<int>>
class ode_bv_shoot : public o2scl::ode_bv_solve¶ Solve boundary-value ODE problems by shooting from one boundary to the other.
This class is experimental.
Documentation links for default template arguments
func_t
- ode_functvec_t
- boost::numeric::ublas::vector < double >vec_int_t
- boost::numeric::ublas::vector < int >
Subclassed by o2scl::ode_bv_shoot_grid< mat_t, mat_row_t, func_t, vec_t, vec_int_t >
Temporary storage for \ref solve_fun()
-
size_t mem_size¶
Size of recent allocation.
Public Types
-
typedef boost::numeric::ublas::vector<double> ubvector¶
-
typedef boost::numeric::ublas::matrix<double> ubmatrix¶
Public Functions
-
inline ode_bv_shoot()¶
-
inline virtual ~ode_bv_shoot()¶
-
inline void allocate(size_t n)¶
Allocate internal storage.
-
inline int solve_final_value(double x0, double x1, double h, size_t n, vec_t &ystart, vec_t ¥d, vec_int_t &index, vec_t &yerr, vec_t &dydx_end, func_t &derivs)¶
Solve the boundary-value problem and store the solution.
Given the
n
initial values of the functions inystart
, this function integrates the ODEs specified inderivs
over the interval fromx0
tox1
with an initial stepsize ofh
. The final values of the function are given inyend
, the derivatives indydx_end
, and the associated errors are given inyerr
. The initial values ofyend
andyerr
are ignored.
-
template<class mat_t, class mat_row_t>
inline int solve_store(double x0, double x1, double h, size_t n, vec_t &ystart, vec_t ¥d, vec_int_t &index, size_t &n_sol, vec_t &x_sol, mat_t &y_sol, mat_t &yerr_sol, mat_t &dydx_sol, func_t &derivs)¶ Solve the boundary-value problem and store the solution.
-
inline int set_iv(ode_iv_solve<func_t, vec_t> &ois)¶
Set initial value solver.
Public Members
-
ode_iv_solve<func_t, vec_t> def_ois¶
The default initial value solver.