从拉格朗日插值法到FFT. Part-0.
多项式可简略定义为,形如Σi=0naixi的有限和式为多项式,记作f(x)=Σi=0naixi其中ai称为i次项目的系数。
这种表示方法称为系数表示法
将x=xi代入,得到序列(xi,yi),此序列用于描述多项式时,称为点值表示法0≤i≤n+1,可以唯一描述一个n次多项式。
考虑这两种表示法之间的联系。
在给定n个点值(x0,y0),(x1,y1),…,(xn−1,yn−1)其中xi互不相等时,所唯一确定的多项式最高次数为 n−1次。
证明:考虑n阶方阵
A=⎣⎡111⋮1x0x1x2⋮xn−1x01x11x21⋮xn−12⋯⋯⋯⋱⋯x0n−1x1n−1x2n−1⋮xn−1n−1⎦⎤,x=⎣⎡a0a1a2⋮an−1⎦⎤
xi互不相同,detA=0,故方程有唯一解,则可唯一确定一组系数ai
- 系数表示 -> 点值表示 求值(evaluation)
- 点值表示 -> 系数表示 插值(interpolation)
对于某个n次多项式函数f,已知给定点值表示(xi,yi)
L(x):=i=0∑nyili(x)
其中每个l称为
拉格朗日基本多项式(插值基函数):
li(x):=i=0,j=i∏nxi−xjx−xj=(xi−x0)⋯(x−xi−1)(x−xi+1)⋯(x−xn)(x−x0)⋯(x−xn)
由点值表示得知目标多项式一定存在,那么对于拉格朗日基本多项式, 对于i=s,(xs,ys)得到
li(xs)=1
那么可以满足
ysli(xs)=ys
进而构造
L(x):=i=0∑nyili(x)
次数不超过n的拉格朗日多项式L(x)至多只有一个。
证明:
对于在n+1个点上取值均为零的多项式,有
Pi(x)=ki=0∏n(x−xi)(1)
对任意两个次数不超过n的拉格朗日多项式:P1和P2,作差得
Δ(x)=P1(x)−P2(x)(2)
那么由(1),(2)式知,
i. 若Δ(x)=0, 则P1(x)=P2(x),即多项式系数k唯一
ii. 若Δ(x)=0, 则min(deg(P1,P2))>n
对应范德蒙矩阵
线性空间:
Kn[X], 经由拉格朗日插值法,可以找到一组基,由拉格朗日基本多项式l0,l1,…,ln组成,使得
$$P=\prod_{i = 0}^{n} \lambda_{i} \mathscr{l}{i}=0$$
那么,对于多项式$P(x{i})=\lambda_{i}的拉格朗日插值多项式,与零多项式P$。
可得:
λ0=λ1=⋯=λn=0
则l0,l1,…,ln线性无关,同时包含n+1个多项式:
故可作为Kn[X]的一组基底,且构造了一组齐次基。
利用点值的可加性,每次仅考虑一个点值,其他值均为0,由此构造n个多项式fi(x),使得它们在xi对应处值为yi。则$f = \sum^{n-1}{0} f{i}(x)$。
- 构造其他点值为0, 必含有因子∏i=j(x−xj)
- 构造fi(x)=yi,调整系数,数乘fi(x)yi
- 各构造多项式累加
得到插值最终表达式:
f(x)=i=0∑n−1yij=i∏xi−xjx−xj
为了得到f的各项系数,需要O(n2)求出
F(x)=i=0∏n−1(x−xi)。
已知n−1, 那么各个xi均已知,行列式系数范德蒙矩阵可知。
若已知yi则求系数问题可转化为线性方程组求解问题。
真对上述问题作变式: n−1 、序列1,2,3,…,xn−1,y0,…,yn−1,已知,可唯一确定多项式。
那么可以知晓,拉格朗日插值可求得范德蒙矩阵的逆矩阵。
拉格朗日插值根据多项式的点值表示,以及多项式次数唯一确定多项式系数。
V⋅A=Y
即根据Vandermonde矩阵,点值向量V,Y确定系数向量A=(a0,…,an)
A=V−1Y
本节将会探究这样求值的具体形式化表达。
范德蒙行列式,即范德蒙矩阵的行列式
M=∣∣1a1a12⋮a1n−11a2a22⋮a2n−1⋯⋯⋯⋱⋯1anan2⋮ann−1∣∣
即:
M=MT=1≤j<i≤n∏(ai−aj)
克拉默法则:
n元线性方程组的系数行列式∣A∣=0,则有唯一解,形式表达为:
AXAaiB=B=(a0,a1,a2,…,an)=(a0i,a1i,…,a(n−1)i)T=(b0,b1,⋯,bn)T(0)
可以确定唯一解的形式:
X=(∣A∣∣B1∣,∣A∣∣B2∣,⋯,∣A∣∣Bn∣)T
其中
Bi=(a0,a1,ai−1,B,ai+1,an)
对于多项式:
f(x)=i=0∑naixi(1)
首先改写为首一多项式
f(x)=i=0∑n−1ai′xi+xn,ai′=anai(2)
应用代数基本定理,则首一多项式f(x)又可写作:
f(x)=i=0∏n(x−xi)(3)
韦达定理对称多项式表达:
⎩⎨⎧a0⋯ak⋯an−1=(−1)nσn(x1,x2,…,xn)=(−1)n−kσk(x1,x2,…,xn)=(−1)1σ1(x1,x2,…,xn)
可以归纳为:
ai=(−1)n−iσn−i(x1,x2,…,xn)(4)
由克拉默法则导出线性方程组(0)的一般解:
aj=∣A∣∣Bj∣
从而
f(x)=j=0∑n∣A∣∣Bj∣xj
将∣B+j∣按照第j+1列展开:
Bj=j=0∑nyiAij
反代f(x)中,并作二次求和的交换:
f(x)=j=0∑n∣A∣∑i=0nyiAijxj=i=0∑nyi∣A∣∑j=0nxjAij
胜利的曙光即将到来:
j=0∑nxjAij=∣∣1⋮111⋮1x0⋮xi−1xxi+1⋮xnx02⋮xi−12x2xi+12⋮xn2⋯⋱⋯⋯⋯⋱⋯x0n⋮xi−1nxnxi+1n⋮xnn∣∣
推导并,调整下标i,j得到:
li(x)=∣A∣∑i=0nxiAji
从而推出拉格朗日表达:
L(x):=i=0∑nyili(x)
范德蒙方阵逆矩阵:
对于范德蒙方阵V,其对角线元素a0,…,an−1=0时,有唯一逆矩阵V−1。
可计算知:
detV−1=1≤i<j≤n∏ai−aj1
而对于工程上,无论是克拉默法则,还是更易计算机实践的高斯消元,在求解V−1时,都过于复杂,难以应用。
利用韦达定理对称多项式表达展开拉格朗日插值公式:
L(x)li(x)L(x)=i=0∑nyili(x)=i=0,j=i∏nxi−xjx−xj=(xi−x0)⋯(x−xi−1)(x−xi+1)⋯(x−xn)(x−x0)⋯(x−xn)=j=0∑nyi∏i=0n(ai−aj)∑i=0nσixn−i