Bernoulli {copula} | R Documentation |
Compute Bernoulli Numbers
Description
Compute the th Bernoulli number, or
generate all Bernoulli numbers up to the
th,
using diverse
method
s, that is, algorithms.
NOTE the current default methods will be changed – to get better accuracy!
Usage
Bernoulli (n, method = c("sumBin", "sumRamanujan", "asymptotic"),
verbose = FALSE)
Bernoulli.all(n, method = c("A-T", "sumBin", "sumRamanujan", "asymptotic"),
precBits = NULL, verbose = getOption("verbose"))
Arguments
n |
positive integer, indicating the index of the largest (and last) of the Bernoulli numbers needed. |
method |
character string, specifying which method should be
applied. The default for |
precBits |
currently only for |
verbose |
(for |
Value
Bernoulli()
:a number
Bernoulli.all()
:a numeric vector of length n, containing B(n)
References
Kaneko, Masanobu (2000) The Akiyama-Tanigawa algorithm for Bernoulli numbers; Journal of Integer Sequences 3, article 00.2.9
See Also
Examples
## The example for the paper
MASS::fractions(Bernoulli.all(8, verbose=TRUE))
B10 <- Bernoulli.all(10)
MASS::fractions(B10)
system.time(B50 <- Bernoulli.all(50))# {does not cache} -- still "no time"
system.time(B100 <- Bernoulli.all(100))# still less than a milli second
## Using Bernoulli() is not much slower, but hopefully *more* accurate!
## Check first - TODO
system.time(B.1c <- Bernoulli(100))# caches ..
system.time(B1c. <- Bernoulli(100))# ==> now much faster
stopifnot(identical(B.1c, B1c.))
if(FALSE)## reset the cache:
assign("Bern.tab", list(), envir = copula:::.nacopEnv)
## More experiments in the source of the copula package ../tests/Stirling-etc.R