or, as mentioned above, by evaluating B
n
(0). However, a faster method to find Bernoulli numbers on
the 89/92+ uses this identity:
✛
(
2n
)
=
(
−1
)
n−1
B
2n
(
2
✜
)
2n
2
(
2n
)
!
The notation 2n is used since this identity is only true for even integers. is the Riemann Zeta
✛
(
n
)
function,
✛
(
n
)
=
✟
k=1
∞
1
k
n
Bernoulli numbers for odd n > 1 are zero. The first few non-zero Bernoulli numbers are
B
0
= 1 B
1
= -1/2 B
2
= 1/6 B
4
= -1/30 B
6
= 1/42
It turns out that the 89/92+ can evaluate very quickly for even n, which is what we need. Solving
✛
(
n
)
the identity above for B
2n
gives
B
2n
=
2
✛
(
2n
)
$
(
2n
)
!
(
−1
)
n−1
(
2
✜
)
2n
This function returns the Bernoulli number B
n
:
bn(n)
Func
©Bernoulli number Bn
©21jun00/dburkett@infinet.com
if n=0:return 1
if n=1:return ⁻1/2
if n<0:return undef
if fpart(n/2)≠0:return 0
(Σ(z^⁻n,z,1,∞)*2*n!)/(((⁻1)^(n/2-1))*(2Œ)^n)
EndFunc
The first three executable lines handle the special cases for B
0
= 1, B
1
= -1/2 and B
n
undefined when
n<0. The fourth line returns zero for odd n where n>1. Note that the expression to find B
n
has been
transformed from an expression in 2n to an expression in n.
Finding the Bernoulli polynomials is a little more complicated, but can still be done on the 89/92+. The
program uses the recursive definition given above in equations [1], [2] and [3]. First, take the
antiderivative of equation [2] to find
B
n
(
x
)
=
¶
nB
n−1
(
x
)
dx
Since these integrals are simple polynomials, the 89/92+ can easily find the symbolic integral. I use the
definite integral of equation [3] to find the constant of integration:
ff1 =
¶
nB
n
(
x
)
dx
6 - 40