rpois_trng | R Documentation |
Random number generation for the Poisson distribution using the TRNG C++ library.
rpois_trng(n, lambda, engine = NULL, parallelGrain = 0L)
n |
Number of observations. |
lambda |
Parameters of the distribution, with the same meaning as in
|
engine |
Optional TRNG engine object; if missing or
|
parallelGrain |
Optional argument controlling the parallel simulation of random variates (see ‘Parallel Simulation’ below for details). |
Numeric vector of random variates generated with the given
parameters. The length is determined by n
.
When a positive value of argument
parallelGrain
is supplied, random variates are simulated in
parallel, provided a parallel random number engine
is
selected. This is done using RcppParallel via
parallelFor
, which uses the supplied parallelGrain
to control
the grain size (the number of threads being controlled by
setThreadOptions
). The grain size can greatly affect the overhead of
performing the required block splitting jump
operations and
should be selected carefully. Note that TRNG guarantees the outcome of such
parallel execution to be equivalent to a purely sequential simulation.
rpois
, TRNG.Engine
,
TRNG.Random
.
Other TRNG distributions:
rbinom_trng()
,
rlnorm_trng()
,
rnorm_trng()
,
runif_trng()
## generate 10 random variates using the current TRNG engine rpois_trng(10, lambda = 4) ## use a TRNG engine reference class object r <- yarn2$new() rpois_trng(10, lambda = 4, engine = r) ## generate 100k random variates in parallel, with 2 threads and 100 grain size TRNGseed(117) RcppParallel::setThreadOptions(numThreads = 2L) x_parallel <- rpois_trng(100e3, lambda = 4, parallelGrain = 100L) TRNGseed(117) x_serial <- rpois_trng(100e3, lambda = 4) identical(x_serial, x_parallel)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.