![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Markovian arrival process descriptors: stationary vectors, rate, moments, autocorrelation and the index of dispersion. More...
#include <cstddef>#include <vector>#include "line/api/mc/ctmc_solve.h"#include "line/num/number.h"#include "line/util/error.h"#include "line/util/linalg.h"#include "line/util/matrix.h"Go to the source code of this file.
Classes | |
| struct | line::mam::Map< T > |
| A MAP as the pair of matrices (D0, D1). More... | |
Namespaces | |
| namespace | line |
| namespace | line::mam |
Functions | |
| int | line::mam::map_feastol () |
| Tolerance exponent shared by the KPC feasibility checks (map_feastol.m). | |
| template<class T> | |
| Matrix< T > | line::mam::map_infgen (const Map< T > &m) |
| Generator of the underlying phase process, D0 + D1. | |
| template<class T> | |
| std::vector< T > | line::mam::map_prob (const Map< T > &m) |
| Stationary distribution of the phase process, pi (D0 + D1) = 0. | |
| template<class T> | |
| T | line::mam::map_lambda (const Map< T > &m) |
| Stationary arrival rate, lambda = pi D1 e. | |
| template<class T> | |
| std::vector< T > | line::mam::map_pie (const Map< T > &m) |
| Phase distribution seen by an arriving job, pie = pi D1 / (pi D1 e). | |
| template<class T> | |
| T | line::mam::map_mean (const Map< T > &m) |
| Mean inter-arrival time, 1/lambda. | |
| template<class T> | |
| Matrix< T > | line::mam::map_embedded (const Map< T > &m) |
| Embedded DTMC at arrival epochs, P = (-D0)^-1 D1. | |
| template<class T> | |
| T | line::mam::map_moment (const Map< T > &m, unsigned k) |
| Raw moment of order k of the inter-arrival time: k! | |
| template<class T> | |
| T | line::mam::map_var (const Map< T > &m) |
| Variance of the inter-arrival time. | |
| template<class T> | |
| T | line::mam::map_scv (const Map< T > &m) |
| Squared coefficient of variation. | |
| template<class T> | |
| std::vector< T > | line::mam::map_acf (const Map< T > &m, const std::vector< unsigned > &lags) |
| Autocorrelation coefficients of the inter-arrival times at the given lags,. | |
| template<class T> | |
| T | line::mam::map_idc (const Map< T > &m) |
| Index of dispersion for counts, I = 1 + 2(lambda - pie (Q + e pi)^-1 D1 e). | |
| template<class T> | |
| Map< T > | line::mam::map_exponential (const T &lambda) |
| Two-phase MAP constructor for a Poisson process of rate lambda. | |
Markovian arrival process descriptors: stationary vectors, rate, moments, autocorrelation and the index of dispersion.
Templated port of the kpctoolbox MAP primitives used across LINE (matlab/lib/kpctoolbox/map/map_prob.m, map_pie.m, map_lambda.m, map_mean.m, map_moment.m, map_var.m, map_scv.m, map_embedded.m, map_acf.m, map_idc.m, map_infgen.m).
A MAP is the pair (D0, D1): D0 carries the hidden transitions and the negative diagonal, D1 the transitions that emit an arrival. The whole family is rational in the entries of D0 and D1 – stationary vectors are linear solves, moments are i! pie (-D0)^-i e – so all of it is exact in rational arithmetic. That matters for fitting work, where the moments of a candidate MAP are compared against targets and a rounding artifact is easy to mistake for a fitting error.
Definition in file map_moment.h.