Class Pfqn_gldsingle_sym
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 Summary
Modifier and TypeMethodDescriptionstatic Ret.pfqnNcSympfqn_gldsingle_sym(SymMatrix L, Matrix N, SymMatrix mu) Normalizing constant of a single-class load-dependent model, symbolically.
-
Method Details
-
pfqn_gldsingle_sym
Normalizing constant of a single-class load-dependent model, symbolically.- Parameters:
L- demands at all stations (M x 1)N- number of jobs, one classmu- load-dependent scaling factors (M x sum(N))- Returns:
- the normalizing constant
-