【拉格朗日插值法求自然数幂和】

求自然数幂和: 

1<=n<=10^5,1<=k<=10^5 用快速幂;

1<=n<=10^9,1<=k<=10^6 用拉格朗日插值法;


1.什么是拉格朗日插值法

拉格朗日插值法,就是对于给定的几个点找到关于这几个点的函数;

以下是拉格朗日插值法的具体使用:

对某个多项式函数,已知有给定的k + 1个取值点:

{\displaystyle (x_{0},y_{0}),\ldots ,(x_{k},y_{k})}(x_{0},y_{0}),\ldots ,(x_{k},y_{k})

其中{\displaystyle x_{j}}x_{j}对应着自变量的位置,而{\displaystyle y_{j}}y_{j}对应着函数在这个位置的取值。

假设任意两个不同的xj都互不相同,那么应用拉格朗日插值公式所得到的拉格朗日插值多项式为:

{\displaystyle L(x):=\sum _{j=0}^{k}y_{j}\ell _{j}(x)}L(x):=\sum _{​{j=0}}^{​{k}}y_{j}\ell _{j}(x)

其中每个{\displaystyle \ell _{j}(x)}\ell _{j}(x)拉格朗日基本多项式(或称插值基函数),其表达式为:

{\displaystyle \ell _{j}(x):=\prod _{i=0,\,i\neq j}^{k}{\frac {x-x_{i}}{x_{j}-x_{i}}}={\frac {(x-x_{0})}{(x_{j}-x_{0})}}\cdots {\frac {(x-x_{j-1})}{(x_{j}-x_{j-1})}}{\frac {(x-x_{j+1})}{(x_{j}-x_{j+1})}}\cdots {\frac {(x-x_{k})}{(x_{j}-x_{k})}}.}\ell _{j}(x):=\prod _{​{i=0,\,i\neq j}}^{​{k}}{\frac  {x-x_{i}}{x_{j}-x_{i}}}={\frac  {(x-x_{0})}{(x_{j}-x_{0})}}\cdots {\frac  {(x-x_{​{j-1}})}{(x_{j}-x_{​{j-1}})}}{\frac  {(x-x_{​{j+1}})}{(x_{j}-x_{​{j+1}})}}\cdots {\frac  {(x-x_{​{k}})}{(x_{j}-x_{​{k}})}}. [3]

拉格朗日基本多项式{\displaystyle \ell _{j}(x)}\ell _{j}(x)的特点是在{\displaystyle x_{j}}x_{j}上取值为1,在其它的点{\displaystyle x_{i},\,i\neq j}x_{i},\,i\neq j上取值为0

举例

假设有某个二次多项式函数{\displaystyle f}f,已知它在三个点上的取值为:

  • {\displaystyle f(4)=10}f(4)=10
  • {\displaystyle f(5)=5.25}f(5)=5.25
  • {\displaystyle f(6)=1}f(6)=1

要求{\displaystyle f(18)}f(18)的值。

首先写出每个拉格朗日基本多项式:

{\displaystyle \ell _{0}(x)={\frac {(x-5)(x-6)}{(4-5)(4-6)}}}\ell _{0}(x)={\frac  {(x-5)(x-6)}{(4-5)(4-6)}}
{\displaystyle \ell _{1}(x)={\frac {(x-4)(x-6)}{(5-4)(5-6)}}}\ell _{1}(x)={\frac  {(x-4)(x-6)}{(5-4)(5-6)}}
{\displaystyle \ell _{2}(x)={\frac {(x-4)(x-5)}{(6-4)(6-5)}}}\ell _{2}(x)={\frac  {(x-4)(x-5)}{(6-4)(6-5)}}

然后应用拉格朗日插值法,就可以得到{\displaystyle p}p的表达式({\displaystyle p}p为函数{\displaystyle f}f的插值函数):

{\displaystyle p(x)=f(4)\ell _{0}(x)+f(5)\ell _{1}(x)+f(6)\ell _{2}(x)}p(x)=f(4)\ell _{0}(x)+f(5)\ell _{1}(x)+f(6)\ell _{2}(x)
{\displaystyle .\,\,\,\,\,\,\,\,\,\,=10\cdot {\frac {(x-5)(x-6)}{(4-5)(4-6)}}+5.25\cdot {\frac {(x-4)(x-6)}{(5-4)(5-6)}}+1\cdot {\frac {(x-4)(x-5)}{(6-4)(6-5)}}}.\,\,\,\,\,\,\,\,\,\,=10\cdot {\frac  {(x-5)(x-6)}{(4-5)(4-6)}}+5.25\cdot {\frac  {(x-4)(x-6)}{(5-4)(5-6)}}+1\cdot {\frac  {(x-4)(x-5)}{(6-4)(6-5)}}
{\displaystyle .\,\,\,\,\,\,\,\,\,\,={\frac {1}{4}}(x^{2}-28x+136)}.\,\,\,\,\,\,\,\,\,\,={\frac  {1}{4}}(x^{2}-28x+136)

此时代入数值{\displaystyle \ 18}\ 18就可以求出所需之值:{\displaystyle \ f(18)=p(18)=-11}\ f(18)=p(18)=-11

注意:(x_{0},y_{0}),\ldots ,(x_{k},y_{k})共k+1个取值点,根据拉格朗日插值法可以得到关于这k+1个点的k次多项式



2.拉格朗日插值法怎么求自然数幂和

 求自然数幂和:

当k=1时,自然数幂和的公式为n(n+1)/2,为2次多项式,也就是k+1次多项式;

若k=k呢,则自然数幂和的公式便为k+1次多项式,那么需要得到k+2个点来得到这个k+1次多项式哦;

首先如果得知了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值