正交多项式介绍及应用
1 正交多项式的定义#
1.1 正交多项式定义#
定义: 一个多项式序列 pn(x)∞n=0pn(x)∞n=0,其阶数为 [pn(x)]=n ,对于每一个 n,这个多项式序列在开区间 (a,b) 上关于权函数 w(x) 正交,如果:
这里 δmn为狄拉克函数,且 hn 为常数。
这里的权函数 w(x) 在区间 (a,b) 是连续且正的以使得下式存在:
则多项式 f 和多项式 g 的内积定义为:
区间 (a,b) 称为正交区间,正交区间未必是有限区间。
例1 三角函数的正交性
对于三角函数序列 1,sin(θ),cos(θ),sin(2θ),cos(2θ),...,cos(nθ),n=1,2,...,∞,他们在区间 (0,2π) 的正交性为:
图1展现了 sin(θ) 和 cos(θ) 在区间 (0,2π) 上的正交性,图中蓝线为 sin(θ)∗cos(θ) 的值,对其积分就相当于求图中阴影部分的面积,很明显,阴影部分的面积加上符号后求和为0。

1.2 施密特正交化(Schmidt orthogonalization)#
施密特正交化方法是将一组线性无关的向量组正交化的方法,对正交化后的向量组进行标准化处理,可进一步得到一组标准正交基。施密特正交化的处理步骤如下:
例子:将三维空间中的一组线性无关向量 a,b,c 用施密特正交化方法处理得到正交向量组 x,y,z。
步骤如下:
三维空间中施密特正交化方法的几何描述如图2所示

2 经典正交多项式#
经典的正交多项式有雅克比多项式,切比雪夫多项式,勒让德多项式,拉盖尔多项式,伯恩斯坦多项式,球谐多项式等。
2.1 雅克比多项式#
雅克比多项式是定义在 (−1,1) 上,关于权函数 (1−x)α(1+x)β 正交的多项式,其中 α,β>−1
雅克比多项式的表达式为:
为伽马函数(gamma function)。
雅克比多项式的正交性:

2.2 勒让德多项式#
勒让德多项式是定义在区间 (−1,1) 上关于权函数1正交的多项式。勒让德多项式实际上是雅克比多项式在 α=β=0 时的特殊情况。
勒让德多项式的表达式为:
勒让德多项式的递推公式为:
勒让德多项式的正交性:
前6阶勒让德多项式:
前6阶多项式图像:


2.3 切比雪夫多项式#
切比雪夫多项式是定义在区间 (−1,1) 上关于权函数 1√1−x2 正交的多项式。
2.3.1 第一类切比雪夫多项式#
第一类切比雪夫多项式的表达式为:
令 x=cos(θ),则 Tn(x)=cos(narccos(x)),
第一类切比雪夫多项式的正交性为:
第一类切比雪夫多项式的递推公式:
第一类切比雪夫多项式的前6项:
第一类切比雪夫多项式的图像
2.3.2 第二类切比雪夫多项式#
第二类切比雪夫多项式的表达式为:
第二类切比雪夫多项式的正交性为:
第二类切比雪夫多项式的递推公式:
第二类切比雪夫多项式的前6项:
第二类切比雪夫多项式的图像:


2.4 拉盖尔多项式#
拉盖尔多项式是定义在区间 (0,+∞) 上关于权函数 e−xxα 正交的多项式,
拉盖尔多项式的正交关系:
拉盖尔多项式的递推关系(α=0):
前6项拉盖尔多项式(α=0):
前6项拉盖尔多项式的图像:


2.5 埃尔米特多项式#
埃尔米特多项式是定义在区间 (−∞,+∞) 上关于权函数 e−x2 正交的多项式。
埃尔米特多项式分为概率论中的埃尔米特多项式和物理中的埃尔米特多项式,这里只介绍物理学中使用的埃尔米特多项式。
埃尔米特多项式的表达式为:
埃尔米特多项式的正交性:
埃尔米特多项式的递推公式:
前6项埃尔米特多项式为:
前6项埃尔米特多项式图像:


3 正交多项式的应用#
正交多项式的应用甚广,包括但不限于数值分析,逼近理论,积分,微分方程,复变函数,随机矩阵理论,编码理论等。
这里仅以一个小的例子来说明正交多项式在函数拟合中的应用。
实验中使用的测试函数为 y=4x+3x2+cos(x)+sin(2x)+ex,定义区间为 (−2,2) ,实验比较了多项式展开3项时不同多项式的拟合均方误差(MSE),归一化均方误差(NMSE)。

测试程序如下:
% 正交多项式测试 clear clc % 采样点数 N = 1000 ; % 正交多项式阶数 M = 3 ; % 拟合函数区间为(-2,2) 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) ; %% 用最小二乘拟合y % c1对应幂级数系数 c1 = P1\y ; % c2对应勒让德系数 c2 = P2\y ; % c3对应切比雪夫系数 c3 = P3\y ; % c4对应拉盖尔系数 c4 = P4\y ; % c5对应埃尔米特系数 c5 = P5\y ; %% 求MSE和NMSE 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) % 本函数生成N*M的勒让德基矩阵 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) % 本函数生成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) % 本函数生成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) % 本函数生成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
更多精彩内容请关注订阅号优化与算法和加入QQ讨论群1032493483获取更多资料

【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库