LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
line::ssa::NrmSpaceEngine< T > Class Template Reference

The aggregate NRM engine of solver_ssa_nrm_space.m. More...

#include <line/solvers/ssa/solver_ssa_nrm_space.h>

Public Member Functions

 NrmSpaceEngine (const qn::NetworkStruct< T > &sn, const SsaNrmSpaceOptions &opt)
SsaNrmSpaceRun< T > run ()
 Run opt.samples firings and return the tabulated path.
std::vector< NrmSpaceStateenumerate_space () const
 The reachable aggregate state space, closed forward from the initial state over the REACTIONS alone.
std::size_t nreactions () const
std::size_t nslots () const
const NrmSpaceStateinitial () const
std::vector< double > propensities (const NrmSpaceState &s) const
 The whole propensity vector at a state, the reference's reactCache entry.

Detailed Description

template<class T>
class line::ssa::NrmSpaceEngine< T >

The aggregate NRM engine of solver_ssa_nrm_space.m.

It is a class for the reason NrmEngine is, and it is a SEPARATE class rather than a mode of that one because the two disagree about what a state is: this one has no phase dimension, five rate laws instead of thirteen, and a table keyed on (population, buffers) that the plain engine has no place to put. The pieces that look alike – the stoichiometry from rtnodes, the dependency sets, the newest-first buffer – are alike because both are ports of the same reference construction, and are written out here rather than shared because NrmEngine exposes none of them.

Definition at line 319 of file solver_ssa_nrm_space.h.

Constructor & Destructor Documentation

◆ NrmSpaceEngine()

template<class T>
line::ssa::NrmSpaceEngine< T >::NrmSpaceEngine ( const qn::NetworkStruct< T > & sn,
const SsaNrmSpaceOptions & opt )
inline

Definition at line 321 of file solver_ssa_nrm_space.h.

Member Function Documentation

◆ enumerate_space()

template<class T>
std::vector< NrmSpaceState > line::ssa::NrmSpaceEngine< T >::enumerate_space ( ) const

The reachable aggregate state space, closed forward from the initial state over the REACTIONS alone.

This is the space the run indexes into, and it is derived from the reaction network rather than from the state handlers, so comparing it with reachable_space_generator's answer compares two independent accounts of what the model can do.

Definition at line 727 of file solver_ssa_nrm_space.h.

References line::ssa::NrmSpaceState::buf, line::ssa::NrmSpaceState::n, and line::UnsupportedError::UnsupportedError().

◆ initial()

template<class T>
const NrmSpaceState & line::ssa::NrmSpaceEngine< T >::initial ( ) const
inline

Definition at line 346 of file solver_ssa_nrm_space.h.

◆ nreactions()

template<class T>
std::size_t line::ssa::NrmSpaceEngine< T >::nreactions ( ) const
inline

Definition at line 344 of file solver_ssa_nrm_space.h.

◆ nslots()

template<class T>
std::size_t line::ssa::NrmSpaceEngine< T >::nslots ( ) const
inline

Definition at line 345 of file solver_ssa_nrm_space.h.

◆ propensities()

template<class T>
std::vector< double > line::ssa::NrmSpaceEngine< T >::propensities ( const NrmSpaceState & s) const
inline

The whole propensity vector at a state, the reference's reactCache entry.

Definition at line 348 of file solver_ssa_nrm_space.h.

◆ run()


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