编写一个函数用于计算n的各次幂(如何计算前n个整数的p次幂的和)
瑞士的伯努利家族共有八位世界著名的数学家,雅各布·伯努利(Jacob Bernoulli)便是其中之一。1713年,雅各布·伯努利提出了前n个整数的p次幂之和的表达式。他的解是n的(p 1)次多项式,包含的系数就是现在著名的伯努利数(在数学和理论物理的许多领域中出现的分数序列)。
- 图1:著名的瑞士数学家雅各布·伯努利。
这个求和被称为冯哈伯公式( Faulhaber’s formula),其结果被伯努利以“Summae Potestatum”的标题发表,它由下面的表达式给出:
- 式1:前n个正整数的p次幂的和,称为冯哈伯公式。
- 图2:德国数学家约翰冯哈伯(1580-1635)。冯哈伯是一个博学多才的人,他在几个城市的防御工事上工作过,为军队建造过水轮和几何仪器等。
如果m从0开始,到m= n-1结束,计算会变得更整洁。总和变成:
- 式2
现在考虑所谓的生成函数S(n,t),它是一个幂级数,以式1和式2中的和为系数:
- 式3:生成函数以式1和式2的和为系数。根据维基百科,生成函数“是一种将无穷数列编码为幂级数系数的方法”。
将式2代入式3,得到二重和:
- 式4
其中k是一个整数。经过一些代数步骤,我们可以用以下两个函数的乘积来重新表示式4:
- 式5:将式4改写为两个函数的乘积。
现在,S(n,t)的第一个因子可以用指数函数的泰勒展开式简单地写成幂级数:
- 式6:指数函数的幂级数展开。
式6左边减去1,两边同时除以x。要写出S(n,t)的第二项必须引入前面提到的伯努利数。式5中函数 t/(eᵗ-1) 变成:
- 式7:为了写出式5中S(n,t)的第二个因子,我们引入了伯努利数。
跳过几个步骤(为了避免混乱),生成函数S(n,t)变成如下复杂的表达式:
下一步是定义所谓的伯努利多项式:
- 式9:伯努利多项式的定义如下图3所示。
下图显示了不同伯努利数值对应的几个伯努利多项式的例子。
- 图3:几个伯努利数的伯努利多项式。
将生成函数S(n,t)的原始表达式与式8进行比较,利用伯努利多项式的定义,得到:
- 式10:我们要求的前n个整数的p次幂之和的最终表达式
注意,生成函数可以优雅地写成:
- 式1:用伯努利多项式和伯努利数表示的生成函数的最终表达式
在前一篇文章中伟大的数学家欧拉和他的奇妙发现——关于倒数级数的和,我推导了前5个伯努利数。它们是:
- 式12:前5个伯努利数。
- 图4:左边是日本数学家关孝一。右边是他的著作中的一页,其中他列出了二项式系数和伯努利数。
利用式9,我们得到一些伯努利多项式:
- 第一个伯努利多项式。
现在我们有所有需要的工具了。下面是我们所寻找的和的两个简单例子,但其他所有情况都可以简单地得到:
- 式14:前n个整数的p次幂和的两个简单例子。
想了解更多精彩内容,快来关注老胡说科学
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com