scipy.special.

bernoulli#

scipy.special.bernoulli(n)[source]#

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

参数:
nint

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

返回:
ndarray

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

参考文献

[1]

Zhang, Shanjie 和 Jin, Jianming。 “特殊函数计算”,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]) 指出了伯努利数与 zeta 函数之间的关系,B_n^+ = -n * zeta(1 - n) 对于 n > 0

>>> 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) 的输出不匹配。