LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
aph2_fitall.h File Reference

All APH(2) representations matching three moments (matlab/lib/m3a/m3a/aph2/aph2_fitall.m). More...

Include dependency graph for aph2_fitall.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 &degentol)
 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.

Detailed Description

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.