![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Rate-scaled copy of a distribution, preserving its shape. More...
#include <cmath>#include <cstddef>#include <vector>#include "line/lang/lang_types.h"#include "line/num/number.h"#include "line/util/error.h"#include "line/util/matrix.h"Go to the source code of this file.
Namespaces | |
| namespace | line |
| namespace | line::lang |
Functions | |
| template<class T> | |
| Distrib< T > | line::lang::dist_scale_rate (const Distrib< T > &d, const T &factor) |
| The law of X / factor, in the same family as d. | |
Rate-scaled copy of a distribution, preserving its shape.
Port of matlab/src/api/dist/dist_scale_rate.m. The result is the law of X / factor: every moment of order n is divided by factor^n, so the mean moves and the SCV, the skewness and the whole shape do not.
REBUILT FROM THE PARAMETERS, not by rescaling (D0, D1). Both routes give the same law, but only the first leaves the parameter list coherent with the family, and the parameters are what a serializing consumer writes out. The reference gives the same reason.
THIS IS THE PERTURBATION PRIMITIVE of the finite-difference branch of getSensitivityTable: scaling the rate at a (station, class) by (1 + h) is exactly the perturbation d(.)/d(rate) is taken along, which is why the scaling has to be exact in every moment and not merely in the mean.
REFUSED BY NAME, as the reference's otherwise arm refuses them: MMAP, BMAP, MAPt, PHt and Prior. A marked or time-inhomogeneous process carries more than one time scale (the per-mark blocks, the breakpoint schedule), and scaling only the one the caller had in mind would silently change the others.
Definition in file dist_scale_rate.h.