LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
qsys_svclaw_coeffs.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2012-2026, QORE Lab, Imperial College London
3 * All rights reserved.
4 */
5#ifndef LINE_API_QSYS_QSYS_SVCLAW_COEFFS_H
6#define LINE_API_QSYS_QSYS_SVCLAW_COEFFS_H
7
8/**
9 * @file
10 * @ingroup api_qsys
11 * Uniformization coefficients of a service-time descriptor, shared by the qsys
12 * functions that take the law exactly rather than as a PH fit (qsys_mapg1k,
13 * qsys_mgck_sync).
14 *
15 * Port of matlab/src/api/qsys/qsys_svclaw_coeffs.m. For any matrix M with
16 * I + M/theta nonnegative, E[exp(M S)] = sum_n cn[n] (I + M/theta)^n, where
17 * c_n = E[e^{-theta S}(theta S)^n/n!]. sum_n c_n = 1 exactly, which both sets
18 * the truncation order and certifies it. A residual above 1e-6 warns (unless
19 * the session is SILENT) and the coefficients are returned anyway, as in the
20 * reference.
21 *
22 * The coefficients come from mapg1k_detail::service_coefficients, which builds
23 * them by recursion rather than log-gamma (see qsys_mapg1k.h); they agree with
24 * the reference to rounding. As in the reference, cn holds nmax+1 terms when the
25 * initial order guess reaches the cap nmax, and at most nmax otherwise.
26 */
27
28// The definition lives in qsys_mapg1k.h, whose qsys_mapg1k calls it; this header is the public include point.
30
31#endif // LINE_API_QSYS_QSYS_SVCLAW_COEFFS_H
The MAP/G/1/K queue with tail drop: Markovian arrivals, an arbitrary service law F,...