| generator | R Documentation | 
Compute the generator of a PDMP. The generator is defined as follows:
Let X_t be a PDMP with statespace K \times D where 
K \subset R^k and D is the state space for the discrete 
variable. Let furthermore \varphi^s(t,i,z) be the dynamics 
for the continous variables, s = 1,...,k and 
\Lambda_{ij}(z) be the transition rates 
i \rightarrow j for i,j \in D. 
Let z^* be the new continous values after a jump from 
x := (i,z) to j. The generator for a function 
f: K \times D \rightarrow R^k lying in its domain is 
defined as 
Q(f)(t,x) = Q(f)(t,i,z) := \sum_{s = 1}^{k} \varphi^s(t,i,z) 
\frac{\partial f(i,z)}{\partial z_s} + \sum_{j \in D} 
\Lambda_{ij}(z)(f(j,z^*) - f(i,z)).
where the first sum goes from s = 1 to k and the second sums over all j ϵ D.
generator(obj)
## S4 method for signature 'pdmpModel'
generator(obj)
obj | 
 an object of class pdmpModel or one of its subclasses  | 
The generator Q of obj as defined above. This is a
function which takes as argument a single function f. The arguments
of function f have to be the same as the variables of the process
X_t and should therefore have the same names and the same order
as the variables given in init(obj). The resulting function
Q(f) is a function with parameters t, x where t is the time value
and x is a named vector with the same names (in the same order) as in
init(obj).
data("simplePdmp")
g <- function(d, f) d*f
generator(simplePdmp)(g)(t = 10, x = c("d" = -1, "f" = 10))
# comparison with theoretic solution:
Qg_theoretic <- function(d, f) d^2-2*d*f
f_values <- seq(from = 0, to = 4, by = 0.01)
Qg_method <- function(d, f) sapply(f, function(fi) 
 generator(simplePdmp)(g)(t = 5, x = c("d" = d, "f" = fi))
)
identical(Qg_theoretic(-1, f_values), Qg_method(-1, f_values))
plot(f_values, Qg_theoretic(1, f_values))
lines(f_values, Qg_method(1, f_values), col = "red", lwd = 3)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.