o2scl::ode_bv_mshoot< func_t, mat_t, vec_t, vec_int_t > Class Template Reference

Solve boundary-value ODE problems by multishooting with a generic nonlinear solver. More...

#include <ode_bv_mshoot.h>

Inheritance diagram for o2scl::ode_bv_mshoot< func_t, mat_t, vec_t, vec_int_t >:

## Public Member Functions

int solve_final_value (double h, size_t n, size_t n_bound, vec_t &x_bound, mat_t &y_bound, vec_int_t &index, func_t &derivs)
Solve the boundary-value problem and store the solution.

template<class mat_row_t >
int solve_store (double h, size_t n, size_t n_bound, vec_t &x_bound, mat_t &y_bound, vec_int_t &index, size_t &n_sol, vec_t &x_sol, mat_t &y_sol, mat_t &dydx_sol, mat_t &yerr_sol, func_t &derivs)
Solve the boundary-value problem and store the solution.

int set_iv (ode_iv_solve< func_t, vec_t > &ois)
Set initial value solver.

int set_mroot (mroot< mm_funct<> > &root)
Set the equation solver.

## Public Attributes

ode_iv_solve< func_t, vec_t > def_ois
The default initial value solver.

gsl_mroot_hybrids< mm_funct<> > def_mroot
The default equation solver.

Public Attributes inherited from o2scl::ode_bv_solve
int verbose
Set output level.

## Protected Member Functions

int solve_fun (size_t nv, const vec_t &tx, vec_t &ty)
The shooting function to be solved by the multidimensional solver.

## Protected Attributes

ode_iv_solve< func_t, vec_t > * oisp
The solver for the initial value problem.

mroot< mm_funct<> > * mrootp
The equation solver.

vec_int_t * l_index
The index defining the boundary conditions.

vec_t * l_xbound
Storage for the starting vector.

mat_t * l_ybound
Storage for the ending vector.

double l_h
Storage for the stepsize.

func_t * l_derivs
The functions to integrate.

size_t l_n
The number of functions.

size_t l_nbound
The number of boundaries.

size_t l_lhs_unks
The number of unknowns on the LHS.

size_t mem_size
Size of recent allocation.

Temporary storage for \ref solve_fun()
vec_t sy

vec_t sy2

vec_t syerr

vec_t sdydx

vec_t sdydx2

Static Public Attributes inherited from o2scl::ode_bv_solve
static const int unk =0
Unknown on both the left and right boundaries.

static const int right =1
Known on the right boundary.

static const int left =2
Known on the left boundary.

static const int both =3
Known on both the left and right boundaries.

## Detailed Description

### template<class func_t = ode_funct11, class mat_t = boost::numeric::ublas::matrix<double>, class vec_t = boost::numeric::ublas::vector<double>, class vec_int_t = boost::numeric::ublas::vector<int>> class o2scl::ode_bv_mshoot< func_t, mat_t, vec_t, vec_int_t >

This class is experimental.

Default template arguments

Idea for Future:
Make a class which performs an iterative linear solver which uses sparse matrices like ode_it_solve?

Definition at line 55 of file ode_bv_mshoot.h.

The documentation for this class was generated from the following file:

Documentation generated with Doxygen. Provided under the GNU Free Documentation License (see License Information).