Class AgAgent

java.lang.Object
jline.solvers.ag.AgAgent

public final class AgAgent extends Object
The single definition of what one agent's answer is.

Every execution backend routes through here -- the serial loop, the thread pool and the remote ag-worker alike -- so a remote agent's answer is the same object as a local one rather than a second implementation that happens to agree. Keeping one definition is what makes the identity assertions between backends meaningful: if they were two code paths, the assertions would only be testing that the two paths had not drifted yet.

  • Method Details

    • generator

      public static Matrix generator(int k, Matrix x, Matrix[] Aa, Matrix[] Pb, Matrix[] L, int[] ACT, int[] PSV, int numActions, int[] N)
      Agent k's generator at the reversed rates x. O(N^2); the stationary solve that follows is O(N^3), which is why the cluster backend transports the latter's result and recomputes this locally.
    • stationary

      public static Matrix stationary(Matrix Qk, RCATModel rcat, int k)
      Agent k's stationary vector, given its generator.
    • stationary

      public static Matrix stationary(Matrix Qk, int mph, int nlev, int[] level)
      Agent k's stationary vector from the QBD shape carried explicitly, for a worker that holds the agent's layout without holding the whole model.