scipy.special.

伯努利#

scipy.special.bernoulli(n)[源代码][源代码]#

伯努利数 B0..Bn(包含)。

参数:
n整数

指示要生成的伯努利级数中的项数。

返回:
ndarray

伯努利数 [B(0), B(1), ..., B(n)]

参考文献

[1]

张善杰和金建铭。《特殊函数的计算》,John Wiley and Sons,1996年。https://people.sc.fsu.edu/~jburkardt/f77_src/special_functions/special_functions.html

[2]

“伯努利数”,维基百科,https://en.wikipedia.org/wiki/Bernoulli_number

示例

>>> import numpy as np
>>> from scipy.special import bernoulli, zeta
>>> bernoulli(4)
array([ 1.        , -0.5       ,  0.16666667,  0.        , -0.03333333])

维基百科文章 ([2]) 指出了伯努利数与黎曼ζ函数之间的关系,对于 n > 0,有 B_n^+ = -n * zeta(1 - n)

>>> n = np.arange(1, 5)
>>> -n * zeta(1 - n)
array([ 0.5       ,  0.16666667, -0.        , -0.03333333])

需要注意的是,在维基百科文章中使用的符号中,bernoulli 计算的是 B_n^-``(即它使用了 ``B_1 为 -1/2 的约定)。上述给出的关系是针对 B_n^+ 的,因此 0.5 的符号与 bernoulli(4) 的输出不匹配。