Package jline.api.mc

Class Ctmc_transient_sens

java.lang.Object
jline.api.mc.Ctmc_transient_sens

public final class Ctmc_transient_sens extends Object
Sensitivity of the transient distribution of a CTMC to a scalar parameter.

Port of matlab/src/api/mc/ctmc_transient_sens.m, twin of cpp/include/line/api/mc/ctmc_transient_sens.h and of the native Python api.mc.ctmc_transient_sens. Differentiating the forward equations d pi(t)/dt = pi(t) Q with respect to theta, with an initial vector that does not depend on theta, gives Trivedi and Bobbio (2017), Eq. (9.82),

   d/dt (dpi/dtheta) = (dpi/dtheta) Q + pi (dQ/dtheta),   dpi(0)/dtheta = 0.
 

The sensitivity equation is DRIVEN by pi(t), so the two cannot be advanced separately: state and sensitivity are integrated as ONE augmented system of size 2n, which is also what keeps them consistent at every returned time point. The integrator is the same LSODA that Ctmc_transient uses, so the accepted grid is the JAR's own and need not coincide with the reference's ode23 grid; the trajectories agree, the abscissae need not.

  • Method Details

    • ctmc_transient_sens

      public static Ctmc_transient_sens.Result ctmc_transient_sens(Matrix Q, Matrix dQ, double t1)
      From the uniform initial distribution over [0, t1].
    • ctmc_transient_sens

      public static Ctmc_transient_sens.Result ctmc_transient_sens(Matrix Q, Matrix dQ, Matrix pi0, double t1)
      From PI0 over [0, t1].
    • ctmc_transient_sens

      public static Ctmc_transient_sens.Result ctmc_transient_sens(Matrix Q, Matrix dQ, Matrix pi0, double t0, double t1)
      Parameters:
      Q - generator, n x n
      dQ - derivative of the generator with respect to theta, same size
      pi0 - initial distribution, 1 x n
      t0 - initial time
      t1 - final time