Bernoulli {copula} | R Documentation |
Compute Bernoulli Numbers
Description
Compute the n
th Bernoulli number, or
generate all Bernoulli numbers up to the n
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