Class Pfqn_bkt

java.lang.Object
jline.api.pfqn.nc.Pfqn_bkt

public final class Pfqn_bkt extends Object
  • Method Details

    • stirlingRemainder

      public static double stirlingRemainder(double n)
      The Stirling remainder s(N) = log(N!) - (N log N - N + log(2 pi N)/2), exactly, for N >= 1. s(1) is the constant pfqn_ble adds per station direction, and s(N) = 1/(12 N) + O(N^-2).
    • pfqn_bkt

      public static Ret.pfqnNc pfqn_bkt(Matrix L, Matrix N, Matrix Z)
      Knessl-Tier expansion corrected for the Stirling remainder that steepest descent drops in each class direction. pfqn_kt extracts N from the generating function of G by steepest descent. On the demand-free integral the exact coefficient is [u^N] exp(Z u) = Z^N/N!, whereas the expansion returns N log Z - (N log N - N + log(2 pi N)/2), Stirling's approximation of log(N!) in place of log(N!). So KT lies ABOVE the exact value by s(N) per Laplaced class direction, and BKT subtracts sum_r s(N_r). The remainder is evaluated exactly from logGamma: truncating it at 1/(12 N) loses an order of magnitude (on the 1562 models of Cas17 sec5.3.1 the median |error| is 0.083 nats for KT, 1.9e-4 for the truncation and 1.4e-5 for the exact remainder). With a think time BKT is the SAME estimator as pfqn_ble, to the accuracy of the two saddle-point solvers. Only the classes pfqn_kt actually Laplaces are corrected: a class with no jobs is dropped by its recursion, and a self-looping class (one nonzero demand and no think time) has its coefficient extracted exactly, so neither carries a remainder. The predicate below is pfqn_kt's own. See _kb/03-api-layer.md.
    • pfqn_bkt

      public static Ret.pfqnNc pfqn_bkt(Matrix L, Matrix N)