Class Pfqn_gldsingle_sym

java.lang.Object
jline.api.pfqn.ld.Pfqn_gldsingle_sym

public final class Pfqn_gldsingle_sym extends Object
The single-class gld recursion over EXACT SYMBOLIC demands and rates.

Port of the isSym arm of matlab/src/api/pfqn/pfqn_gldsingle.m, and the twin of the native python object-array arm in api/pfqn/ncld.py.

THE RECURSION IS UNCHANGED FROM THE NUMERIC ONE, which is the whole point: g(m,n,tm) = g(m-1,n,1) + L(m)*g(m,n-1,tm+1)/mu(m,tm) is +, * and / throughout, so it is field-agnostic and runs over a rational function exactly as it runs over a double.

WHAT IS DROPPED, AND WHY, mirroring the reference: the LOG-DOMAIN path, because there is no log here and none is needed (the log domain exists to stop a double underflowing, and an exact rational cannot); and the ZERO-DEMAND GUARD and the LOAD-INDEPENDENCE SCAN, because L > 0 and min(row) == 1 are comparisons with no truth value on a symbol. The reference resolves the first by selecting on N, which is concrete, and skips the second in favour of the recursion, which compares nothing. So does this.

pfqn_lldsingle is NOT the kernel here, for the same reason it is not in the reference: its saving rests on locating the index past which a rate row is constant, and that is a comparison. Copyright (c) 2012-2026, Imperial College London All rights reserved.

  • Method Details

    • pfqn_gldsingle_sym

      public static Ret.pfqnNcSym pfqn_gldsingle_sym(SymMatrix L, Matrix N, SymMatrix mu)
      Normalizing constant of a single-class load-dependent model, symbolically.
      Parameters:
      L - demands at all stations (M x 1)
      N - number of jobs, one class
      mu - load-dependent scaling factors (M x sum(N))
      Returns:
      the normalizing constant