牛顿级数

牛顿级数

把普通多项式转组合数形式的多项式,这种组合形式的多项式就叫牛顿级数。有一个用途是转化高位差分。

已知多项式 f(x)=a0+a1x+a2x2++anxn

因为 (xn) 是一个关于 x 的多项式。

写成组合数的形式 f(x)=c0(x0)+c1(x1)+c2(x2)++cn(xn)

先给结论:

f(x)=f(0)(x0)+Δf(0)(x1)+Δ2f(0)(x2)++Δnf(0)(xn)

以下是证明:

先定义差分因子 Δ

Δf(n)=f(n+1)f(n)

再定义高维差分:

Δm+1f(n)=Δmf(n+1)Δmf(n)

运算律

这些运算律可以类比求导的运算律:

Δ(f(n)+g(n))=Δf(n)+Δg(n)Δ(c(f(n)))=cΔf(n)Δ(f(n)g(n))=f(n)Δg(n)+g(n+1)Δf(n)

组合数的差分

由组合数的递推公式可以推出:

Δ(xk)=(xk1)

同理可推出:

Δm(xk)=(xkm)

可以感觉到,组合数和差分很配。

重要结论的证明

回到原命题,对于 f(x)=c0(x0)+c1(x1)+c2(x2)++cn(xn)

因为 :

f(0)=ci(0i)

Δkf(0) ,运用组合数差分和差分的运算律有:

Δkf(0)=ci(0ik)=ck

所以:

(1)f(x)=f(0)(x0)+Δf(0)(x1)+Δ2f(0)(x2)++Δnf(0)(xn)(2)=k=0nΔkf(0)(xk)(3)=k=0nΔkf(0)k!xk

(咋感觉最后一个有点像泰勒展开?)

把牛顿级数转普通多项式形式:

ai=k=incik!f(x)=i=0n(k=incik!)xi

上面这个不知到有没有用。

特殊地,an=cin!

重要恒等式

Δnf(x)=k=0n(nk)(1)nkf(x+k)

根据高维差分定义,这很好感性理解

证明:为了方便表示,我们设平移因子 E,满足 Ef(x)=f(x+1),因为 Δf(n)=f(n+1)f(n),所以 Δ=E1

根据二项式定理:

Δnf(x)=(E1)nf(x)=k=0n(nk)(1)nkEkf(x)=k=0n(nk)(1)nkf(x+k)      

推论

对于 f(x)=a0+a1x+a2x2++anxn,其牛顿级数为 f(x)=c0(x0)+c1(x1)+c2(x2)++cn(xn)

Δnf(0)=cn=n!an

和上文的恒等式联立一下,得到:

k=0n(nk)(1)kf(k)=(1)ncnk=0n(nk)(1)kf(k)=(1)nn!ank=0n(nk)(1)ki=0naiki=(1)nn!an

牛顿插值法

目的和拉插一致。

具体来说,已知 n 阶多项式 P(x) 在前 n + 1 个点处的值 P(0),P(1),· · ·,P(n),求P(x) 的值,要求 O(n)。

(4)P(x)=knck(xk)=kn(xk)t(1)kt(kt)P(t)(5)=tnP(t)tkn(xk)(1)kt(kt)(6)=tnP(t)(xt)tkn(xtkt)(1)kt(7)=tnP(t)(xt)knt(xtk)(1)k(8)=tnP(t)(xt)(xt1nt)(1)nt交错和公式(9)=tn(1)ntP(t)xn+1t!(nt)!(xt)

预处理一下阶乘之类的即可。

应用

牛顿级数这玩意虽然看上去没上面用,但实际上也没什么用。不过为了证明这玩意还是有一点用的,我们给几个例题:

求下面式子的封闭形式:

1k(1)k(nk)(nk)n

先用 j 替代 nk,易得上式等于:

j(nj)(1)njjn

f(x)=xn通过重要恒等式可得上式等于:

Δnf(0)

观察到,Δnf(0) 就是牛顿级数的 xn 次项系数 cn,根据之前的结论,cn=n!an=n!

实际上也可以设 f(x)=(nx)n,但这是我过程都写一半了才意识到的。下一个题我会用这种更简洁的方法。

2k(1)k(nk)(knn)

f(x)=(xnn),则上式等于:

(1)nΔnf(0)

其中 Δnf(0) 相当于 cn,又因为 cn=an×n!

对于 f(x)=(xnn)=(nx)nn!an=nnn!

整理一下容易得到,答案为 (1)nnn

再丢一个例题:更简单的排列计数

反正我也不会做

posted @   花子の水晶植轮daisuki  阅读(12)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
https://blog-static.cnblogs.com/files/zouwangblog/mouse-click.js
点击右上角即可分享
微信分享提示