Stan Math Library: stan::math::coupled_ode_system< F, stan::math::var, stan::math::var > Struct Template Reference

| Stan Math Library 2.10.0 reverse mode automatic differentiation

- Main Page
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Public Attributes | List of all members
stan::math::coupled_ode_system< F, stan::math::var, stan::math::var > Struct Template Reference

The coupled ode system for unknown intial values and unknown parameters. More...

`#include <coupled_ode_system.hpp>`

## Public Member Functions
| coupled_ode_system (const F &f, const std::vector< stan::math::var > &y0, const std::vector< stan::math::var > &theta, const std::vector< double > &x, const std::vector< int > &x_int, std::ostream *msgs)
| Construct a coupled ODE system with unknown initial value and known parameters, given the base ODE system functor, the initial state of the base ODE, the parameters, data, and an output stream to which to write messages. More...
void | operator() (const std::vector< double > &z, std::vector< double > &dz_dt, double t)
| Populates the derivative vector with derivatives of the coupled ODE system state with respect to time evaluated at the specified state and specified time. More...
size_t | size () const
| Returns the size of the coupled system. More...
std::vector< double > | initial_state ()
| Returns the initial state of the coupled system. More...
std::vector< std::vector< stan::math::var > > | decouple_states (const std::vector< std::vector< double > > &y)
| Return the basic ODE solutions given the specified coupled system solutions, including the partials versus the parameters encoded in the autodiff results. More...

## Public Attributes
const F & | f_
const std::vector< stan::math::var > & | y0_
std::vector< double > | y0_dbl_
const std::vector< stan::math::var > & | theta_
std::vector< double > | theta_dbl_
const std::vector< double > & | x_
const std::vector< int > & | x_int_
const size_t | N_
const size_t | M_
const size_t | size_
std::ostream * | msgs_

## Detailed Description

### template<typename F>
struct stan::math::coupled_ode_system< F, stan::math::var, stan::math::var >

The coupled ode system for unknown intial values and unknown parameters.

The coupled system has N + N * (N + M) states, where N is size of the base ODE state vector and M is the number of parameters.

The first N states correspond to the base system's N states:

The next N+M states correspond to the sensitivities of the initial conditions, then to the parameters with respect to the to the first base system equation:

The next N+M states correspond to the sensitivities with respect to the second base system equation, etc.

If the original ode has a state vector of size N states and a parameter vector of size M, the coupled system has N + N * (N

- M) states. (derivatives of each state with respect to each initial value and each theta)

Template Parameters

  F | the functor for the base ode system

Definition at line 474 of file coupled_ode_system.hpp.

## Constructor & Destructor Documentation

template<typename F >

stan::math::coupled_ode_system< F, stan::math::var, stan::math::var >::coupled_ode_system | ( | const F & | f,
|  | const std::vector< stan::math::var > & | y0,
|  | const std::vector< stan::math::var > & | theta,
|  | const std::vector< double > & | x,
|  | const std::vector< int > & | x_int,
|  | std::ostream * | msgs
| ) |  |
| inline

Construct a coupled ODE system with unknown initial value and known parameters, given the base ODE system functor, the initial state of the base ODE, the parameters, data, and an output stream to which to write messages.

Parameters

  [in] | f | the base ode system functor.
  [in] | y0 | the initial state of the base ode.
  [in] | theta | parameters of the base ode.
  [in] | x | real data.
  [in] | x_int | integer data.
  [in,out] | msgs | output stream to which to print messages.

Definition at line 500 of file coupled_ode_system.hpp.

## Member Function Documentation

template<typename F >

std::vector<std::vector<stan::math::var> > stan::math::coupled_ode_system< F, stan::math::var, stan::math::var >::decouple_states | ( | const std::vector< std::vector< double > > & | y | ) |
| inline

Return the basic ODE solutions given the specified coupled system solutions, including the partials versus the parameters encoded in the autodiff results.

Parameters

  y | the vector of the coupled states after solving the ode

Definition at line 627 of file coupled_ode_system.hpp.

template<typename F >

std::vector<double> stan::math::coupled_ode_system< F, stan::math::var, stan::math::var >::initial_state | ( |  | ) |
| inline

Returns the initial state of the coupled system.

Because the initial state is unknown, the coupled system incorporates the initial condition offset from zero as a parameter, and hence the return of this function is a vector of zeros.

Returns
  the initial condition of the coupled system. This is a vector of length size() where all elements are 0.

Definition at line 615 of file coupled_ode_system.hpp.

template<typename F >

void stan::math::coupled_ode_system< F, stan::math::var, stan::math::var >::operator() | ( | const std::vector< double > & | z,
|  | std::vector< double > & | dz_dt,
|  | double | t
| ) |  |
| inline

Populates the derivative vector with derivatives of the coupled ODE system state with respect to time evaluated at the specified state and specified time.

Parameters

  [in] | z | the current state of the coupled, shifted ode system, of size `size()`.
  [in,out] | dz_dt | populate with the derivatives of the coupled system evaluated at the specified state and time.
  [in] | t | time.

Exceptions

  exception | if the base system does not return a derivative vector of the same size as the state vector.

y is the base ODE system state

Definition at line 540 of file coupled_ode_system.hpp.

template<typename F >

size_t stan::math::coupled_ode_system< F, stan::math::var, stan::math::var >::size | ( |  | ) | const
| inline

Returns the size of the coupled system.

Returns
  size of the coupled system.

Definition at line 600 of file coupled_ode_system.hpp.

## Member Data Documentation

template<typename F >

const F& stan::math::coupled_ode_system< F, stan::math::var, stan::math::var >::f_

Definition at line 475 of file coupled_ode_system.hpp.

template<typename F >

const size_t stan::math::coupled_ode_system< F, stan::math::var, stan::math::var >::M_

Definition at line 483 of file coupled_ode_system.hpp.

template<typename F >

std::ostream* stan::math::coupled_ode_system< F, stan::math::var, stan::math::var >::msgs_

Definition at line 485 of file coupled_ode_system.hpp.

template<typename F >

const size_t stan::math::coupled_ode_system< F, stan::math::var, stan::math::var >::N_

Definition at line 482 of file coupled_ode_system.hpp.

template<typename F >

const size_t stan::math::coupled_ode_system< F, stan::math::var, stan::math::var >::size_

Definition at line 484 of file coupled_ode_system.hpp.

template<typename F >

const std::vector<stan::math::var>& stan::math::coupled_ode_system< F, stan::math::var, stan::math::var >::theta_

Definition at line 478 of file coupled_ode_system.hpp.

template<typename F >

std::vector<double> stan::math::coupled_ode_system< F, stan::math::var, stan::math::var >::theta_dbl_

Definition at line 479 of file coupled_ode_system.hpp.

template<typename F >

const std::vector<double>& stan::math::coupled_ode_system< F, stan::math::var, stan::math::var >::x_

Definition at line 480 of file coupled_ode_system.hpp.

template<typename F >

const std::vector<int>& stan::math::coupled_ode_system< F, stan::math::var, stan::math::var >::x_int_

Definition at line 481 of file coupled_ode_system.hpp.

template<typename F >

const std::vector<stan::math::var>& stan::math::coupled_ode_system< F, stan::math::var, stan::math::var >::y0_

Definition at line 476 of file coupled_ode_system.hpp.

template<typename F >

std::vector<double> stan::math::coupled_ode_system< F, stan::math::var, stan::math::var >::y0_dbl_

Definition at line 477 of file coupled_ode_system.hpp.

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

- stan/math/rev/arr/functor/coupled_ode_system.hpp

[ Stan Home Page ] © 2011–2016, Stan Development Team.