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

Expected maximum and characteristic maximum of K i.i.d. More...

Include dependency graph for fj_xmax_pareto.h:

Go to the source code of this file.

Namespaces

namespace  line
namespace  line::fj

Functions

template<class T>
FJXmaxParetoResult< T > line::fj::fj_xmax_pareto (unsigned K, const T &beta, const T &k)
 Expected maximum and characteristic maximum of K i.i.d.
template<class T>
FJXmaxParetoResult< T > line::fj::fj_xmax_pareto (unsigned K, const T &beta)
 MATLAB's default scale k = beta - 1, which normalizes the branch mean to 1.

Detailed Description

Expected maximum and characteristic maximum of K i.i.d.

shifted-Pareto samples with survival S(x) = (k/(k+x))^beta.

Templated port of matlab/src/api/fj/fj_xmax_pareto.m, cross-checked against FJ_xmax.fj_xmax_pareto and fj_xmax_pareto_char_max in jar/src/main/java/jline/api/fj/FJ_xmax.java (identical formulas; the JAR replaces MATLAB's adaptive integral with a 10001-point composite Simpson rule on the same truncated range, which this port also does).

Xmax = int_0^inf [1 - F(x)^K] dx, truncated at k K^{2/beta} * 10 m_K = k (K^{1/beta} - 1) M_K = m_K + K k^beta (k + m_K)^{1-beta} / (beta - 1)

static_assert(num_traits<T>::has_transcendental) – real powers throughout plus the quadrature. Worth flagging: the truncation point is a heuristic and the Pareto tail is heavy, so Xmax is systematically underestimated; the shortfall grows as beta approaches 2 and the function rejects beta <= 2 outright because the mean of the maximum is then the only finite moment left. M_K, by contrast, is a closed form and is exact.

Definition in file fj_xmax_pareto.h.