拉格朗日插值 学习笔记

拉格朗日插值 学习笔记

前言

模拟赛考了,我不会,故学之。

真的好抽象……

背景

众所周知,用 n 个点可以确定一个 n1 次的多项式,那么应该如何确定呢?

我们不妨考虑这样一个题目(其实就是洛谷模板题):给定 n 个点 (x,y),要求确定 f(x)。当然,直接求出系数可能比较困难,所以这里求出 f(k) 的值即可。模 998244353

正文

下文均忽略了模数,因为取模与否无关紧要。

方法一:高斯消元

直接把每个 xi 代入,这样就得到了 n 个方程。直接解出各个系数即可。复杂度 O(n3)

方法二:拉格朗日插值

这里利用了构造的思想。

我们要构造 n 个函数 g(x),满足:

gi(x)={yi(x=xi)0(xxi,xxi)

也就是说,函数 gi(x) 的图像在横坐标等于 xj(ji) 的时候过的是点 (xj,0),在 xi 处过点 (xi,yi)

很显然,f(x)=i=1ngi(x)

那么对于 gi(x) 的构造,可以这样考虑,直接设 gi(x)=ajin(xxj),然后代入 (xi,yi)a=yijin(xixj)

因此,f(x)=i=1nyijinxxjxixj

这样,就可以 O(n2) 地求出 f(k) 了。

当然,这个表达式还有另一种推法,用了类似中国剩余定理的思路来构造。可惜我对多项式的除法和取余什么的不是很熟悉,就不在这里说了。

对于 x 连续的插值

上面的算法是 O(n2) 的,所以如果 n 很大就没办法了。但如果我们可以快速得到 x[1,n+1] 的值,则可以 O(n) 求出 f(k) 的值。

我们代入原表达式,可得

f(x)=i=1nyijinxjij

上面的部分可以看作 j=1n(xj)xi,下面的部分就拆成两部分阶乘即可。

posted @   霜木_Atomic  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示