摘要
总结一下可能会遇到的正交多项式
正交多项式定义
一个多项式序列pn(x)n=0∞,阶数为[pn(x)]=n,对于每一个n,这个多项式序列在开区间(a,b)上关于权函数w(x)正交,如果:
∫abw(x)pm(x)pn(x)dx=hnδmn
δ为狄克拉函数,且hn为常数
权函数w(x)在区间(a,b)是连续且正的,下式存在:
μn=∫abw(x)xndx,n∈N+
则多项式f和多项式g的内积定义为:
⟨f,g⟩=∫abw(x)f(x)g(x)dx
区间(a,b)称为正交区间,正交区间不一定是有限区间
e.g 三角函数的正交性
对于三角函数序列1,sin(θ),cos(θ),sin(2θ),cos(2θ),...,cos(nθ),n∈N+,他们在区间(0,2π)的正交性为:
∫02πsin(nθ)cos(mθ)dθ=δmn
图中阴影部分的面积加上符号求和为0.

e.g 施密特正交化
施密特正交化方法是将一组线性无关的向量组正交化的方法,对正交化后的向量组进行标准化处理,可进一步得到一组标准正交基。处理步骤如下
β1=α1β2=α2−⟨β1,β1⟩⟨α2,β1⟩β1⋯βn=αn−⟨β1,β1⟩⟨αn,β1⟩β1−⟨β2,β2⟩⟨αn,β2⟩β2−⋯−⟨βn−1,βn−1⟩⟨αn,βn−1⟩βn−1
将三维空间中的一组线性无关向量a,b,c用施密特正交化方法处理得到正交向量组 x,y,z,步骤如下:
x=ay=b−⟨x,x⟩⟨b,x⟩x=∣a∣∣b∣cos(θ)az=c−⟨x,x⟩⟨c,x⟩x−⟨y,y⟩⟨c,y⟩y
几何描述如图:

经典正交多项式
如雅克比多项式,切比雪夫多项式,勒让德多项式,拉盖尔多项式,伯恩斯坦多项式,球谐多项式等
雅克比多项式
雅克比多项式是定义在(−1,1)上,关于权函数(1−x)α(1+x)β正交的多项式,其中α,β>−1
表达式为:
Pn(α,β)(x)=n!(α+β+n+1)Γ(α+n+1)m=0∑n(nm)Γ(α+m+1)Γ(α+β+n+m+1)(2x−1)m
Γ(γ)=∫0+∞tγ−1e−tdt
雅克比多项式的正交性:
∫−11(1−x)α(1+x)βPm(α,β)(x)Pn(α,β)(x)dx=2n+α+β+12α+β+1n!Γ(α+β+n+1)Γ(α+n+1)Γ(β+n+1)δmn
勒让德多项式
勒让德多项式是定义在区间 (−1,1)上关于权函数1正交的多项式。勒让德多项式实际上是雅克比多项式在 α=β=0 时的特殊情况
表达式为:
Pn(x)=2nn!1dxndn[(x2−1)n]
递推公式为:
(n+1)Pn+1(x)=(2n+1)xPn(x)−nPn−1(x)
正交性:
∫−11Pm(x)Pn(x)dx=2n+12δmn
前6阶勒让德多项式:
P0(x)=1
P1(x)=x
P2(x)=23x2−21
P3(x)=25x3−23x
P4(x)=835x4−415x2+83
P5(x)=863x5−435x3+815x
P6(x)=16231x6−16315x4+16105x2−165
图像为:

切比雪夫多项式
切比雪夫多项式是定义在区间 (−1,1) 上关于权函数 1−x21 正交的多项式
第一类切比雪夫多项式
Tn(x)=cos(nθ)令x=cos(θ),则Tn(x)=cos(narccos(x)),
第一类切比雪夫多项式正交性:
∫−111−x21Tm(x)Tn(x)dx=⎩⎨⎧0m=nπn=m=02πn=m=0
第一类切比雪夫多项式递推公式:
Tn+1(x)=2xTn(x)−Tn−1(x)
第一类切比雪夫多项式的前6项:
T0(x)=1
T1(x)=x
T2(x)=2x2−1
T3(x)=4x3−3x
T4(x)=8x4−8x2+1
T5(x)=16x5−20x3+5x
T6(x)=32x6−48x4+18x2−1
第一类切比雪夫多项图像:

第二类切比雪夫多项式
Tn(x)=sinθsin[(n+1)θ]第二类切比雪夫多项式的正交为:
∫−111−x2Tm(x)Tn(x)dx={0m=n2πm=n
第二类切比雪夫多项式的递推公式:
Tn+1(x)=2xTn(x)−Tn−1(x)
第二类切比雪夫多项式的前6项:
T0(x)=1
T1(x)=2x
T2(x)=4x2−1
T3(x)=8x3−4x
T4(x)=16x4−12x2+1
T5(x)=32x5−32x3+6x
T6(x)=64x6−80x4+24x2−1
第二类切比雪夫多项图像:

拉盖尔多项式
拉盖尔多项式是定义在区间 (0,+∞) 上关于权函数 e−xxa 正交的多项式
拉盖尔多项式的正交关系:
∫0+∞xαe−xLm(α)(x)Ln(α)(x)dx=n!(n+α)!δmn
拉盖尔多项式的递推关系:
Ln+1(x)=n+1(2n+1−x)Ln(x)−nLn−1(x)
前6项拉盖尔多项式(α=0):
L0(x)=1
L1(x)=−x+1
L2(x)=21x2−2x+1
L3(x)=−61x3+23x2−3x+1
L4(x)=241x4−32x3+3x2−4x+1
L5(x)=−1201x5+245x4−35x3+5x2−5x+1
L6(x)=7201x6−201x5+85x4−310x3+215x2−6x+1
前6项拉盖尔多项式的图像:

埃尔米特多项式
埃尔米特多项式是定义在区间(−∞,+∞)上关于权函数ex2正交的多项式
埃尔米特多项式分为概率论中的埃尔米特多项式和物理中的埃尔米特多项式,概率论的埃尔米特多项式是首一多项式(最高次项系数等于1),而物理学的埃尔米特多项式的最高次项系数等于2n,这里只介绍物理学中使用的埃尔米特多项式
埃尔米特多项式的表达式为:
Hn(x)=(−1)nex2dxndne−x2
埃尔米特多项式的正交性:
∫−∞+∞Hm(x)Hn(x)e−x2dx=π2nn!δmn
埃尔米特多项式的递推公式:
Hn+1(x)=2xHn(x)−2nHn−1(x)
前6项埃尔米特多项式为:
H0(x)=1
H1(x)=2x
H2(x)=4x2−2
$$H_3(x) =8x3−12x$
H4(x)=16x4−48x2+12
H5(x)=32x5−160x3+120x
H6(x)=64x6−480x4+720x2−120
前6项埃尔米特多项式图像:

正交多项式的应用
仅以一个小的例子来说明正交多项式在函数拟合中的应用
实验中使用的测试函数为 y=4x+3x2+cos(x)+sin(2x)+ex,定义区间为 (−2,2) ,实验比较了多项式展开3项时不同多项式的拟合均方误差(MSE),归一化[均方误差](

matlab输出
1234567891011121314151617181920
MSE_power =
0.0131
NMSE_power =
0.0419
MSE_legendre =
0.0131
NMSE_legendre =
0.0419
MSE_chebyshev =
0.0131
NMSE_chebyshev =
0.0419
MSE_laguerre =
0.0131
NMSE_laguerre =
0.0419
MSE_hermite =
0.0067
NMSE_hermite =
0.0215
可以看出埃尔米特的拟合误差较小,其他相当
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
clear
clc
N = 1000 ;
M = 3 ;
x = linspace(-2,2,N)' ;
y = 4*x + 3*x.^2 + cos(x) + exp(x) + sin(2*x);
P1 = power_p(x,M) ;
P2 = legendre_p(N,M) ;
P3 = chebyshev_p(N,M) ;
P4 = laguerre_p(N,M) ;
P5 = hermite_p(N,M) ;
c1 = P1\y ;
c2 = P2\y ;
c3 = P3\y ;
c4 = P4\y ;
c5 = P5\y ;
MSE_power = norm(y-P1*c1)/N
NMSE_power = norm(y-P1*c1)/norm(y)
MSE_legendre = norm(y-P2*c2)/N
NMSE_legendre = norm(y-P2*c2)/norm(y)
MSE_chebyshev = norm(y-P3*c3)/N
NMSE_chebyshev = norm(y-P3*c3)/norm(y)
MSE_laguerre = norm(y-P4*c4)/N
NMSE_laguerre = norm(y-P4*c4)/norm(y)
MSE_hermite = norm(y-P5*c5)/N
NMSE_hermite = norm(y-P5*c5)/norm(y)
figure(1)
plot(x,y,'r-',x,P1*c1,'b-',x,P2*c2,'k-',x,P3*c3,'y-',x,P4*c4,'g-',x,P5*c5,'m-')
legend('original','power','legendre','chebyshev','laguerre','hermite')
function [P] = power_p(x,M)
for m = 1:M
P(:,m) = x.^(m-1) ;
end
end
function [P] = legendre_p(N,NN)
s = linspace(-1,1,N)' ;
P = zeros(N,NN) ;
P(:,1) = ones(N,1) ;
P(:,2) = s ;
for n = 3 : NN
P(:,n) = ((2 * n - 3) * s .* P(:,n - 1) - (n - 2) * P(:,n - 2)) / ( n -1 ) ;
end
end
function [P] = chebyshev_p(N,M)
x = linspace(-1,1,N)' ;
P = zeros(N,M) ;
P(:,1) = ones(N,1) ;
P(:,2) = x ;
for k = 3:M
P(:,k) = 2*x.*P(:,k-1) - P(:,k-2) ;
end
end
function [P] = laguerre_p(N,M)
x = linspace(-2,2,N)' ;
P = zeros(N,M) ;
P(:,1) = ones(N,1) ;
P(:,2) = -x + ones(N,1) ;
for m = 3:M
P(:,m) = ((2*(m-2)+1-x).*P(:,m-1)-(m-2)*P(:,m-2))./(m-1) ;
end
end
function [P] = hermite_p(N,M)
x = linspace(-2,2,N)' ;
P = zeros(N,M) ;
P(:,1) = ones(N,1) ;
P(:,2) = 2*x ;
for m = 2:M
P(:,m+1) = 2*x.*P(:,m-) - 2*(m-1)*P(:,m-1) ;
end
end