python伯努利多项式

文章目录

    • 伯努利数和多项式
    • sympy实现

伯努利数是一种在数学、物理和工程中广泛应用的特殊数列,以瑞士数学家雅各布·伯努利(Jacob Bernoulli)的名字命名,并在许多领域中发挥重要作用。在数学中,它们与斐波那契数列、卡塔兰数、贝尔数等数列有密切联系,可以用于解决循环问题、组合问题和递推关系等数学问题。

伯努利数和多项式

伯努利(Bernoulli)数是一组在数论和复分析中出现的数,与伯努利多项式有关。伯努利多项式通常由以下递推关系定义

B n + 1 ( x ) = x B n ( x ) + B n − 1 ( x ) B_{n+1}(x) = x B_n(x) + B_{n-1}(x) Bn+1(x)=xBn(x)+Bn1(x)

其中 B 0 ( x ) = 1 , B 1 ( x ) = x + 1 B_0(x) = 1, B_1(x) = x + 1 B0(x)=1,B1(x)=x+1。这个多项式的系数 B n B_n Bn就是伯努利数。例如, B 2 ( x ) = x 2 + x + 1 B_2(x) = x^2 + x + 1 B2(x)=x2+x+1,所以 B 2 = 3 B_2 = 3 B2=3。其递推公式如下

B n ( x ) = ∑ k = 0 n ( − 1 ) k ( n k ) B k x n − k B_n(x)=\sum^n_{k=0}(-1)^k\begin{pmatrix}n\\k\end{pmatrix}B_kx^{n-k} Bn(x)=k=0n(1)k(nk)Bkxnk

x = 1 x=1 x=1时,伯努利多项式的值便是伯努利数,

B n = ∑ k = 0 n ( − 1 ) k ( n k ) B k B_n=\sum^n_{k=0}(-1)^k\begin{pmatrix}n\\k\end{pmatrix}B_k Bn=k=0n(1)k(nk)Bk

亦可记作

n + 1 = ∑ k = 0 n ( n + 1 k ) B k n+1=\sum^n_{k=0}\begin{pmatrix}n+1\\k\end{pmatrix}B_k n+1=k=0n(n+1k)Bk

n n n是奇数且大于 1 1 1时, B n = 0 B_n=0 Bn=0

sympy实现

sympy提供了bernoulli函数用以返回伯努利数和伯努利多项式

from sympy import bernoulli
from sympy.abc import x
[bernoulli(n) for n in range(11)]
# [1, 1/2, 1/6, 0, -1/30, 0, 1/42, 0, -1/30, 0, 5/66]
bernoulli(1000001)
# 0

若输入一个数值和一个符号,即可表示伯努利多项式

from sympy import print_latex
print_latex(bernoulli(3, x))

x 3 − 3 x 2 2 + x 2 x^{3} - \frac{3 x^{2}}{2} + \frac{x}{2} x323x2+2x

python伯努利多项式_第1张图片

你可能感兴趣的:(#,sympy,python,开发语言,sympy,伯努利数,排列组合,符号计算)