5#ifndef LINE_API_MAM_AMAP2_FIT_GAMMA_H
6#define LINE_API_MAM_AMAP2_FIT_GAMMA_H
57 "amap2_fit_gamma requires transcendental arithmetic");
63 if (
num_abs(T(M2 - two * M1 * M1)) < cvtol) {
71 for (std::size_t j = 0; j < all.size(); ++j) all[j] =
map_normalize(all[j]);
74 if (r.
amaps.empty()) {
81 if (r.
amaps.empty()) {
Nearest AMAP(2)-feasible (M2, M3, GAMMA) (matlab/lib/m3a/m3a/amap2/amap2_adjust_gamma....
All AMAP(2) representations matching three moments and the autocorrelation decay rate (matlab/lib/m3a...
Markovian arrival process descriptors: stationary vectors, rate, moments, autocorrelation and the ind...
Amap2FitGammaResult< T > amap2_fit_gamma(const T &M1, const T &M2, const T &M3, const T &GAMMA, const T &cvtol)
Fit an AMAP(2) to (M1, M2, M3, GAMMA).
Amap2AdjustGammaResult< T > amap2_adjust_gamma(const T &M1, const T &M2, const T &M3, const T &GAMMA, const std::vector< T > &weights, int method, int constraints, const T &tol)
Nearest AMAP(2)-feasible characteristics.
Map< T > map_exponential_mean(const T &mean)
Poisson process with the given mean inter-arrival time (map_exponential.m).
Map< T > map_normalize(const Map< T > &in)
Clamp negative off-diagonal entries of D0 and negative entries of D1 to zero, then rebuild the diagon...
std::vector< Map< T > > amap2_fitall_gamma(const T &M1, const T &M2, const T &M3, const T &GAMMA, const T °entol, const T &r12tol)
Every AMAP(2) matching (M1, M2, M3, GAMMA).
Conservation laws of a layered queueing network, enumerated from its structure.
Number-type abstraction for the templated API port.
Result of amap2_adjust_gamma.
Result of amap2_fit_gamma.
bool adjusted
true when the fit is of characteristics relaxed by amap2_adjust_gamma
bool poisson_fallback
true when SCV == 1, or no AMAP(2) exists even after adjustment
Map< T > amap
the selected fit
std::vector< Map< T > > amaps
every solution found (of the adjusted characteristics when adjusted)
A MAP as the pair of matrices (D0, D1).