![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
All APH(2) representations matching three moments (matlab/lib/m3a/m3a/aph2/aph2_fitall.m). More...
#include <vector>#include "line/api/mam/aph2_assemble.h"#include "line/api/mam/aph_fit.h"#include "line/api/mam/map_fit_detail.h"#include "line/api/mam/map_moment.h"#include "line/num/number.h"#include "line/util/error.h"Go to the source code of this file.
Namespaces | |
| namespace | line |
| namespace | line::mam |
Functions | |
| template<class T> | |
| std::vector< Map< T > > | line::mam::aph2_fitall (const T &M1, const T &M2, const T &M3, const T °entol) |
| All feasible APH(2) fits of (M1, M2, M3). | |
| template<class T> | |
| std::vector< Map< T > > | line::mam::aph2_fitall (const T &M1, const T &M2, const T &M3) |
| aph2_fitall with the MATLAB default degentol = 1e-8. | |
All APH(2) representations matching three moments (matlab/lib/m3a/m3a/aph2/aph2_fitall.m).
The two phase means solve a quadratic whose discriminant is tmp0 = M3^2/9 + (8 M1^3/3 - 2 M1 M2) M3 - 3 M1^2 M2^2 + 2 M2^3, giving one solution when tmp0 vanishes (identical diagonal entries of D0) and two otherwise. Each is retained only when both phase means are positive and the branching probability lies in [0, 1] up to a degeneracy tolerance.
As in the in-tree MATLAB (the "added by GC" branches), an infeasible discriminant or an empty feasible set falls back to a single aph_fit(M1, M2, M3, 2), so the result is never empty.
Gated on transcendental arithmetic: the discriminant square root and the SCV <= 1 lower bound of the third moment.
Definition in file aph2_fitall.h.