![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
[stateSpace, localStateSpace] of @@SolverCTMC/getStateSpace.m. More...
#include <line/solvers/ctmc/solver_ctmc_getters.h>
Public Attributes | |
| std::vector< NetState< T > > | space |
| The enumerated states. | |
| Matrix< T > | flat |
| the blocks concatenated, as MATLAB returns them | |
| std::vector< std::size_t > | node_width |
| column width of each stateful node's block | |
| std::vector< Matrix< T > > | local |
| localStateSpace{f}: one matrix per stateful node, its DISTINCT local rows in first-appearance order. | |
[stateSpace, localStateSpace] of @@SolverCTMC/getStateSpace.m.
Definition at line 79 of file solver_ctmc_getters.h.
| Matrix<T> line::ctmc::CtmcStateSpace< T >::flat |
the blocks concatenated, as MATLAB returns them
Definition at line 87 of file solver_ctmc_getters.h.
Referenced by line::ctmc::ctmc_get_state_space().
| std::vector<Matrix<T> > line::ctmc::CtmcStateSpace< T >::local |
localStateSpace{f}: one matrix per stateful node, its DISTINCT local rows in first-appearance order.
WITHOUT THIS THE SECOND RETURN VALUE CANNOT BE FORMED. getStateSpace.m under lang='cpp' returns {stateSpace} – a single cell holding the whole flat space – because the local decomposition was not on the wire, and a caller that indexes localStateSpace{f} per node then reads the global space for every node. node_width alone is not enough: it says where a block ENDS, not which rows a node admits.
IT IS THE ENUMERATED CHAIN'S DECOMPOSITION, not spaceGenerator's raw per-node enumeration. The reference's qnc.space{f} is built before the cartesian product and can hold a local row no global state uses; every row here appears in space. On a model whose lattice admits every combination the two coincide, and where they differ this one is the decomposition of the chain that was actually solved.
Definition at line 107 of file solver_ctmc_getters.h.
Referenced by line::ctmc::ctmc_get_state_space().
| std::vector<std::size_t> line::ctmc::CtmcStateSpace< T >::node_width |
column width of each stateful node's block
Definition at line 88 of file solver_ctmc_getters.h.
Referenced by line::ctmc::ctmc_get_state_space().
| std::vector<NetState<T> > line::ctmc::CtmcStateSpace< T >::space |
The enumerated states.
space[s].local[f] is already the reference's localStateSpace{f} row: this port keeps a state as its per-node blocks and never flattens it, so the local decomposition costs nothing to report and cannot disagree with the flat form.
Definition at line 86 of file solver_ctmc_getters.h.
Referenced by line::ctmc::ctmc_get_state_space().