#ifndef DMSTATE_H_ #define DMSTATE_H_ #include /** * Distribution of x in multi-state homogeneous Markov model at time t * when state at time 0 was xold and transition intensity matrix is * Lambda *
 
 * x ~ dmstate(xold, dt, Lambda[,]) 
 * 
* @short Interval censored transitions in a multistate Markov model */ class DMState : public DistDiscrete { public: DMState(); ~DMState(); double d(double x, std::vector const ¶meters, bool give_log) const; double p(double x, std::vector const ¶meters, bool lower, bool give_log) const; double q(double p, std::vector const ¶meters, bool lower, bool log_p) const; double r(std::vector const ¶meters) const; double l(std::vector const ¶meters) const; double u(std::vector const ¶meters) const; double mean(std::vector const ¶meters) const; double var(std::vector const ¶meters) const; /** * Checks that x is scalar, t is scalar and Lambda is * a square matrix */ bool checkParameterDim(std::vector const ¶meters) const; /** * Checks that t > 0, xold is in permitted range 1:nrow(Lambda) * and Lambda is a valid transition intensity matrix with * rows that sum to 0. */ bool checkParameterValue(std::vector const ¶meters) const;}; #endif /* DMSTATE_H_ */