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

Acyclic phase-type fitters from the first two moments. More...

#include <algorithm>
#include <cmath>
#include <string>
#include <vector>
#include "line/api/mam/map_moment.h"
#include "line/lang/lang_types.h"
#include "line/num/number.h"
#include "line/util/error.h"
#include "line/util/matrix.h"
Include dependency graph for aph_fit_moments.h:

Go to the source code of this file.

Namespaces

namespace  line
namespace  line::mam

Functions

template<class T>
Map< T > line::mam::aph_from_2moments (const T &e1, const T &e2)
 Port of BUTools' APHFrom2Moments.
template<class T>
Map< T > line::mam::aph_fit_mean_scv (const T &mean, const T &scv)
 Port of APH.fitMeanAndSCV, the entry point the analyzers fit arrivals with.

Detailed Description

Acyclic phase-type fitters from the first two moments.

Port of BUTools' APHFrom2Moments and of MATLAB APH.fitMeanAndSCV. Both lived in solver_mna.h until a second caller appeared: the closed setup/delay-off branch of solver_mam_basic fits its delay-off with APH.fitMeanAndSCV, exactly as the reference does, and solver_mna.h already includes solver_mam_basic.h, so leaving them there would have been a cycle.

These are NOT the canonical Coxian of coxian_phase_subgen (qbd_setupdelayoff.h). The two agree in the first two moments but not in shape: the Coxian is entered at phase 1, this APH is entered at phase 1 with probability p and at the LAST phase otherwise. Anything reading more than the first two moments – an LST, for instance – sees the difference, so a caller must use whichever one the reference names for that call site.

Definition in file aph_fit_moments.h.