ApproxSurvivor

class ApproxSurvivor

Implementation of asymptotic missed events.

This object merely puts together two Asymptotes objects.

Subclassed by HJCFIT::MissedEventsG

Public Types

typedef std::function<std::vector<Root>(DeterminantEq const&)> 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[in] Determinant equation for open->shut transitions

  • _roots_af[in] Roots of _af equation

  • _fa[in] Determinant equation for shut->open transitions

  • _roots_fa[in] Roots of _fa equation

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

Initializes approx survivor functor.

Parameters:
  • _matrix[in] Transition matrix

  • _tau[in] resolution/max length missed events

  • _findroots[in] A functor with which to find all roots. This function should take a DeterminantEq as its sole argument and return a std::vector<HJCFIT::RootInterval>

inline 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[in] Transition matrix

  • _tau[in] resolution/max length missed events

  • _xtol[in] Tolerance for interval size

  • _rtol[in] 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[in] maximum number of iterations for any of the three steps.

  • _lowerbound[in] Lower bound of the interval bracketing all roots. If None, the lower bound is obtained from find_lower_bound_for_roots().

  • _upperbound[in] Upper bound of the interval bracketing all roots. If None, the upper bound is obtained from find_upper_bound_for_roots().

inline t_stack_rmatrix af(t_real _t) const

Open to close transitions.

inline t_stack_rmatrix fa(t_real _t) const

Close to open transitions.

inline t_uint nb_af_components() const

Number of exponential components for af.

inline t_uint nb_fa_components() const

Number of exponential components for fa.

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

AF exponential components.

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

FA exponential components.