bernoulli: Bernoulli Numbers and Polynomials In pracma: Practical Numerical Math Functions

Description

The Bernoulli numbers are a sequence of rational numbers that play an important role for the series expansion of hyperbolic functions, in the Euler-MacLaurin formula, or for certain values of Riemann's function at negative integers.

Usage

 1 bernoulli(n, x)

Arguments

 n the index, a whole number greater or equal to 0. x real number or vector of real numbers; if missing, the Bernoulli numbers will be given, otherwise the polynomial.

Details

The calculation of the Bernoulli numbers uses the values of the zeta function at negative integers, i.e. B_n = -n \, zeta(1-n). Bernoulli numbers B_n for odd n are 0 except B_1 which is set to -0.5 on purpose.

The Bernoulli polynomials can be directly defined as

B_n(x) = ∑_{k=0}^n {n \choose k} b_{n-k}\, x^k

and it is immediately clear that the Bernoulli numbers are then given as B_n = B_n(0).

Value

Returns the first n+1 Bernoulli numbers, if x is missing, or the value of the Bernoulli polynomial at point(s) x.

Note

The definition uses B_1 = -1/2 in accordance with the definition of the Bernoulli polynomials.

References

See the entry on Bernoulli numbers in the Wikipedia.

Examples

 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 bernoulli(10) # 1.00000000 -0.50000000 0.16666667 0.00000000 -0.03333333 # 0.00000000 0.02380952 0.00000000 -0.03333333 0.00000000 0.07575758 # ## Not run: x1 <- linspace(0.3, 0.7, 2) y1 <- bernoulli(1, x1) plot(x1, y1, type='l', col='red', lwd=2, xlim=c(0.0, 1.0), ylim=c(-0.2, 0.2), xlab="", ylab="", main="Bernoulli Polynomials") grid() xs <- linspace(0, 1, 51) lines(xs, bernoulli(2, xs), col="green", lwd=2) lines(xs, bernoulli(3, xs), col="blue", lwd=2) lines(xs, bernoulli(4, xs), col="cyan", lwd=2) lines(xs, bernoulli(5, xs), col="brown", lwd=2) lines(xs, bernoulli(6, xs), col="magenta", lwd=2) legend(0.75, 0.2, c("B_1", "B_2", "B_3", "B_4", "B_5", "B_6"), col=c("red", "green", "blue", "cyan", "brown", "magenta"), lty=1, lwd=2) ## End(Not run)

Example output 1.00000000 -0.50000000  0.16666667  0.00000000 -0.03333333  0.00000000
  0.02380952  0.00000000 -0.03333333  0.00000000  0.07575758

pracma documentation built on Dec. 11, 2021, 9:57 a.m.