ApproxSurvivor

class DCProgs::ApproxSurvivor

Implementation of asymptotic missed events.

This object merely puts together two Asymptotes objects.

Subclassed by DCProgs::MissedEventsG

Public Types

typedef std::function<std::vector<Root>DeterminantEq const &)> DCProgs::ApproxSurvivor::t_RootFinder

Type of the function used to minimize roots.

Public Functions

ApproxSurvivor(DeterminantEq const &_af, std::vector<Root> const &_roots_af, DeterminantEq const &_fa, std::vector<Root> const &_roots_fa)

Initializes approximate survivor functor.

Parameters
  • _af -

    Determinant equation for open->shut transitions

  • _roots_af -

    Roots of _af equation

  • _fa -

    Determinant equation for shut->open transitions

  • _roots_fa -

    Roots of _fa equation

ApproxSurvivor(QMatrix const &_matrix, t_real _tau, t_RootFinder const &_findroots)

Initializes approx survivor functor.

Parameters
  • _matrix -

    Transition matrix

  • _tau -

    resolution/max length missed events

  • _findroots -

    A functor with which to find all roots. This function should take a DeterminantEq as its sole argument and return a std::vector<DCProgs::RootInterval>

ApproxSurvivor(ApproxSurvivor &&_c)

Move constructor.

ApproxSurvivor(QMatrix const &_qmatrix, t_real _tau, t_real _xtol = 1e-12, t_real _rtol = 1e-12, t_uint _itermax = 100, t_real _lowerbound = quiet_nan, t_real _upperbound = quiet_nan)

Initializes missed-events functor.

Parameters
  • _qmatrix -

    Transition matrix

  • _tau -

    resolution/max length missed events

  • _xtol -

    Tolerance for interval size

  • _rtol -

    Tolerance for interval size. The convergence criteria is an affine function of the root: \(x_{\mathrm{tol}} + r_{\mathrm{tol}} x_{\mathrm{current}} = \frac{1}{2}|x_a - x_b|\).

  • _itermax -

    maximum number of iterations for any of the three steps.

  • _lowerbound -

    Lower bound of the interval bracketing all roots. If None, the lower bound is obtained from find_lower_bound_for_roots().

  • _upperbound -

    Upper bound of the interval bracketing all roots. If None, the upper bound is obtained from find_upper_bound_for_roots().

t_rmatrix af(t_real _t) const

Open to close transitions.

t_rmatrix fa(t_real _t) const

Close to open transitions.

t_uint nb_af_components() const

Number of exponential components for af.

t_uint nb_fa_components() const

Number of exponential components for fa.

Asymptotes::t_MatrixAndRoot const &get_af_components(t_int i) const

AF exponential components.

Asymptotes::t_MatrixAndRoot const &get_fa_components(t_int i) const

FA exponential components.