文档章节

正交多项式介绍及应用

o
 osc_mbhfa1vl
发布于 07/12 08:12
字数 2828
阅读 19
收藏 0

行业解决方案、产品招募中!想赚钱就来传!>>>

1 正交多项式的定义

1.1 正交多项式定义

定义: 一个多项式序列 ${ {p_n}(x)} _{n = 0}^\infty $,其阶数为 \([{p_n}(x)] = n\) ,对于每一个 \(n\),这个多项式序列在开区间 \((a,b)\) 上关于权函数 \(w(x)\) 正交,如果:

\[\int_a^b {w(x){p_m}(x){p_n}(x)dx = } {h_n}{\delta _{mn}} \]

这里 \({\delta _{mn}}\)为狄拉克函数,且 \(h_n\) 为常数。

这里的权函数 \(w(x)\) 在区间 \((a,b)\) 是连续且正的以使得下式存在:

\[{\mu _n}{\rm{ = }}\int_a^b {w(x){x^n}dx,{\rm{ }}n = 0,1,2, \cdots } \]

则多项式 \(f\) 和多项式 \(g\) 的内积定义为:

\[\left\langle {f,g} \right\rangle : = \int_a^b {w(x)f(x)g(x)dx} \]

区间 \((a,b)\) 称为正交区间,正交区间未必是有限区间。

例1 三角函数的正交性
对于三角函数序列 \(1,sin(\theta),cos(\theta),sin(2\theta),cos(2\theta),...,cos(n\theta)\)\(n=1,2,...,\infty\),他们在区间 \((0,2\pi)\) 的正交性为:

\[\int_0^{2\pi } {\sin (n\theta )\cos (m\theta )d\theta } = {\delta _{mn}} \]

图1展现了 \(sin(\theta)\)\(cos(\theta)\) 在区间 \((0,2\pi)\) 上的正交性,图中蓝线为 \(sin(\theta)*cos(\theta)\) 的值,对其积分就相当于求图中阴影部分的面积,很明显,阴影部分的面积加上符号后求和为0。

图1. 三角函数的正交性示意图

1.2 施密特正交化(Schmidt orthogonalization)

施密特正交化方法是将一组线性无关的向量组正交化的方法,对正交化后的向量组进行标准化处理,可进一步得到一组标准正交基。施密特正交化的处理步骤如下:

\[\begin{array}{l} {\beta _1} = {\alpha _1} \\ {\beta _2} = {\alpha _2} - \frac{{\left\langle {{\alpha _2},{\beta _1}} \right\rangle }}{{\left\langle {{\beta _1},{\beta _1}} \right\rangle }}{\beta _1} \\ \cdots \\ {\beta _n} = {\alpha _n} - \frac{{\left\langle {{\alpha _n},{\beta _1}} \right\rangle }}{{\left\langle {{\beta _1},{\beta _1}} \right\rangle }}{\beta _1} - \frac{{\left\langle {{\alpha _n},{\beta _2}} \right\rangle }}{{\left\langle {{\beta _2},{\beta _2}} \right\rangle }}{\beta _2} - \cdots - \frac{{\left\langle {{\alpha _n},{\beta _{n - 1}}} \right\rangle }}{{\left\langle {{\beta _{n - 1}},{\beta _{n - 1}}} \right\rangle }}{\beta _{n - 1}} \\ \end{array} \]

例子:将三维空间中的一组线性无关向量 \({a,b,c}\) 用施密特正交化方法处理得到正交向量组 \({x,y,z}\)

步骤如下:

\[\begin{array}{l} x = a \\ y = b - \frac{{\left\langle {b,x} \right\rangle }}{{\left\langle {x,x} \right\rangle }}x = \frac{{\left| b \right|\cos (\theta )}}{{\left| a \right|}}a \\ z = c - \frac{{\left\langle {c,x} \right\rangle }}{{\left\langle {x,x} \right\rangle }}x - \frac{{\left\langle {c,y} \right\rangle }}{{\left\langle {y,y} \right\rangle }}y \\ \end{array}\]

三维空间中施密特正交化方法的几何描述如图2所示

图2. 施密特正交化几何示意图

2 经典正交多项式

经典的正交多项式有雅克比多项式,切比雪夫多项式,勒让德多项式,拉盖尔多项式,伯恩斯坦多项式,球谐多项式等。

2.1 雅克比多项式

雅克比多项式是定义在 \((-1,1)\) 上,关于权函数 \((1-x)^\alpha(1+x)^\beta\) 正交的多项式,其中 \(\alpha,\beta >-1\)

雅克比多项式的表达式为:
在这里插入图片描述

为伽马函数(gamma function)。


雅克比多项式的递推公式为:
在这里插入图片描述

雅克比多项式的正交性:

\[\begin{array}{l} \int_{ - 1}^1 {{{(1 - x)}^\alpha }{{(1 + x)}^\beta }P_m^{(\alpha ,\beta )}(x)P_n^{(\alpha ,\beta )}(x)dx} \\ = \frac{{{2^{\alpha + \beta + 1}}}}{{2n + \alpha + \beta + 1}}\frac{{\Gamma (\alpha + n + 1)\Gamma (\beta + n + 1)}}{{n!\Gamma (\alpha + \beta + n + 1)}}{\delta _{mn}} \\ \end{array}\]

2.2 勒让德多项式

勒让德多项式是定义在区间 \((-1,1)\) 上关于权函数1正交的多项式。勒让德多项式实际上是雅克比多项式在 \(\alpha=\beta=0\) 时的特殊情况。

勒让德多项式的表达式为:

\[{P_n}(x) = \frac{1}{{{2^n}n!}}\frac{{{d^n}}}{{d{x^n}}}\left[ {{{({x^2} - 1)}^n}} \right] \]

勒让德多项式的递推公式为:

\[(n + 1){P_{n + 1}}(x) = (2n + 1)x{P_n}(x) - n{P_{n - 1}}(x) \]

勒让德多项式的正交性:

\[\int_{ - 1}^1 {{P_m}(x){P_n}(x)dx} = \frac{2}{{2n{\rm{ + }}1}}{\delta _{mn}} \]

前6阶勒让德多项式:

\[{P_0}(x) = 1 \]

\[{P_1}(x) = x \]

\[{P_2}(x) = \frac{3}{2}{x^2} - \frac{1}{2} \]

\[{P_3}(x) = \frac{5}{2}{x^3} - \frac{3}{2}x \]

\[{P_4}(x) = \frac{{35}}{8}{x^4} - \frac{{15}}{4}{x^2} + \frac{3}{8} \]

\[{P_5}(x) = \frac{{63}}{8}{x^5} - \frac{{35}}{4}{x^3} + \frac{{15}}{8}x \]

\[{P_6}(x) = \frac{{231}}{{16}}{x^6} - \frac{{315}}{{16}}{x^4} + \frac{{105}}{{16}}{x^2} - \frac{5}{{16}} \]

前6阶多项式图像:

图3. 前6项勒让德多项式

2.3 切比雪夫多项式

切比雪夫多项式是定义在区间 \((-1,1)\) 上关于权函数 \(\frac{1}{{\sqrt {1 - {x^2}} }}\) 正交的多项式。

2.3.1 第一类切比雪夫多项式

第一类切比雪夫多项式的表达式为:

\[{T_n}(x) = \cos (n\theta ) \]

\(x=cos(\theta)\),则 \({T_n}(x) = \cos (n\arccos (x))\)
第一类切比雪夫多项式的正交性为:

\[\int_{ - 1}^1 {\frac{1}{{\sqrt {1 - {x^2}} }}{T_m}(x){T_n}(x)dx = \left\{ {\begin{array}{*{20}{c}} {0\quad{\rm{ }}m \ne n} \\ {\pi \quad{\rm{ }}n = m = 0} \\ {\frac{\pi }{2}{\rm{ }}\quad n = m \ne 0} \\ \end{array}} \right.} \]

第一类切比雪夫多项式的递推公式:

\[{T_{n + 1}}(x) = 2x{T_n}(x) - {T_{n - 1}}(x) \]

第一类切比雪夫多项式的前6项:

\[{T_0}(x) = 1 \]

\[{T_1}(x) = x \]

\[{T_2}(x) = 2{x^2} - 1 \]

\[{T_3}(x) = 4{x^3} - 3x \]

\[{T_4}(x) = 8{x^4} - 8{x^2} + 1 \]

\[{T_5}(x) = 16{x^5} - 20{x^3} + 5x \]

\[{T_6}(x) = 32{x^6} - 48{x^4} + 18{x^2} - 1 \]

第一类切比雪夫多项式的图像

2.3.2 第二类切比雪夫多项式

第二类切比雪夫多项式的表达式为:

\[{U_n}(x) = \frac{{\sin [(n + 1)\theta ]}}{{\sin \theta }} \]

第二类切比雪夫多项式的正交性为:

\[\int_{ - 1}^1 {\sqrt {1 - {x^2}} {U_m}(x){U_n}(x)dx = \left\{ {\begin{array}{*{20}{c}} {0m \ne n} \\ {\frac{\pi }{2}n = m} \\ \end{array}} \right.} \]

第二类切比雪夫多项式的递推公式:

\[{U_{n + 1}}(x) = 2x{U_n}(x) - {U_{n - 1}}(x) \]

第二类切比雪夫多项式的前6项:

\[{U_0}(x) = 1 \]

\[{U_1}(x) = 2x \]

\[{U_2}(x) = 4{x^2} - 1 \]

\[{U_3}(x) = 8{x^3} - 4x \]

\[{U_4}(x) = 16{x^4} - 12{x^2} + 1 \]

\[{U_5}(x) = 32{x^5} - 32{x^3} + 6x \]

\[{U_6}(x) = 64{x^6} - 80{x^4} + 24{x^2} - 1 \]

第二类切比雪夫多项式的图像:

图4. 前6项切比雪夫多项式

2.4 拉盖尔多项式

拉盖尔多项式是定义在区间 \((0,+\infty)\) 上关于权函数 \(e^{-x}x^\alpha\) 正交的多项式,

拉盖尔多项式的正交关系:

\[\int_0^{ + \infty } {{x^\alpha }{e^{ - x}}L_m^{(\alpha )}(x)L_n^{(\alpha )}(x)dx} = \frac{{\left( {n + \alpha } \right)!}}{{n!}}{\delta _{mn}} \]

拉盖尔多项式的递推关系(\(\alpha =0\)):

\[{L_{n + 1}}(x) = \frac{{(2n + 1 - x){L_n}(x) - n{L_{n - 1}}(x)}}{{n + 1}} \]

前6项拉盖尔多项式(\(\alpha =0\)):

\[{L_0}(x) = 1 \]

\[{L_1}(x) = - x + 1 \]

\[{L_2}(x) = \frac{1}{2}{x^2} - 2x + 1 \]

\[{L_3}(x) = - \frac{1}{6}{x^3} + \frac{3}{2}{x^2} - 3x + 1 \]

\[{L_4}(x) = \frac{1}{{24}}{x^4} - \frac{2}{3}{x^3} + 3{x^2} - 4x + 1 \]

\[{L_5}(x) = - \frac{1}{{120}}{x^5} + \frac{5}{{24}}{x^4} - \frac{5}{3}{x^3} + 5{x^2} - 5x + 1 \]

\[{L_6}(x) = \frac{1}{{720}}{x^6} - \frac{1}{{20}}{x^5} + \frac{5}{8}{x^4} - \frac{{10}}{3}{x^3} + \frac{{15}}{2}{x^2} - 6x + 1 \]

前6项拉盖尔多项式的图像:

图5. 前6项拉盖尔多项式

2.5 埃尔米特多项式

埃尔米特多项式是定义在区间 \((-\infty,+\infty)\) 上关于权函数 \(e^{-x^2}\) 正交的多项式。

埃尔米特多项式分为概率论中的埃尔米特多项式和物理中的埃尔米特多项式,这里只介绍物理学中使用的埃尔米特多项式。

埃尔米特多项式的表达式为:

\[{H_n}(x) = {( - 1)^n}{e^{{x^2}}}\frac{{{d^n}}}{{d{x^n}}}{e^{ - {x^2}}} \]

埃尔米特多项式的正交性:

\[\int_{ - \infty }^{ + \infty } {{H_m}(x){H_n}(x){e^{ - {x^2}}}dx} = \sqrt \pi {2^n}n!{\delta _{mn}} \]

埃尔米特多项式的递推公式:

\[{H_{n + 1}}(x) = 2x{H_n}(x) - 2n{H_{n - 1}}(x) \]

前6项埃尔米特多项式为:

\[{H_0}(x) = 1 \]

\[{H_2}(x) = 2x \]

\[{H_3}(x) = 4{x^2} - 2 \]

\[{H_4}(x) = 16{x^4} - 48{x^2} + 12 \]

\[{H_5}(x) = 32{x^5} - 160{x^3} + 120x \]

\[{H_6}(x) = 64{x^6} - 480{x^4} + 720{x^2} - 120 \]

前6项埃尔米特多项式图像:

图6. 前6项埃尔米特多项式

3 正交多项式的应用

正交多项式的应用甚广,包括但不限于数值分析,逼近理论,积分,微分方程,复变函数,随机矩阵理论,编码理论等。

这里仅以一个小的例子来说明正交多项式在函数拟合中的应用。

实验中使用的测试函数为 \(y=4x+3x^2+cos(x)+sin(2x)+e^x\),定义区间为 \((-2,2)\) ,实验比较了多项式展开3项时不同多项式的拟合均方误差(MSE),归一化均方误差(NMSE)。

图7. 不同多项式拟合结果 从拟合结果来看,在展开3项时,埃尔米特多项式的拟合误差较小,其他的多项式拟合误差相当。

测试程序如下:

% 正交多项式测试
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获取更多资料

上一篇: 2020-07-09
下一篇: 数字统计
o
粉丝 0
博文 64
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
程序猿媛一:Android滑动翻页+区域点击事件

滑动翻页+区域点击事件 ViewPager+GrideView 声明:博文为原创,文章内容为,效果展示,思路阐述,及代码片段。文尾附注源码获取途径。 转载请保留原文出处“http://my.oschina.net/gluoyer...

花佟林雨月
2013/11/09
4.2K
1
iOS 应用版本更新检查--Harpy

实现 app 版本检查功能。用户打开app之后,进行app的版本更新检查。如果检查到 appstore 上有当前qpp的新版本,则弹出对话框提醒用户下载。可以设置让用户选择下载或者强制用户下载。 [Code4...

匿名
2013/02/18
1.7K
0
跨平台手机应用开发--Gideros

Gideros 可以让你轻松快速创建 iOS 和 Android 应用,提供用户友好的集成开发环境,内建模拟器对应用进行不同屏幕大小、分辨率下的测试,最大的优点是可即时修改代码即时进行测试,无需编译安...

匿名
2013/02/19
2.7K
0
Android3D应用与游戏开发框架--JQGL

JQGL 是一款针对Android设备上3D应用、游戏的开发框架。 核心功能是OpenGL-ES的使用框架,相对于大部分开发者而已,OpenGL是陌生的,没有专门研究无法进行相关的开发。 本框架针对于Android...

Jping
2013/02/21
1.6K
0
OSX游戏模拟器--Open Emu

OpenEmu 是一项开源计划,目的是将游戏模拟带入OS X,使用Cocoa、Core Animation和Quartz等现代OS X技术,使用Sparkle进行自动升级。 Open Emu使用模块化构架,支持游戏引擎插件,这意味着O...

匿名
2013/04/10
1.6W
3

没有更多内容

加载失败,请刷新页面

加载更多

C#中的9个“黑魔法”与“骚操作”

点击蓝字“ 大白技术控 ”关注我哟 加个“星标★”,每日良时,好文必达! 我们知道C#是非常先进的语言,因为是它很有远见的"语法糖"。这些"语法糖"有时过于好用,导致有人觉得它是C#编译器写...

大白技术控
04/06
0
0
npm

package.json(nmp install -y) { "name": "timer", //项目名 "version": "1.0.0", //版本号 "description": "A cool timer", //描述 "main": "timer.js", //项目主入口......

长臂猿猴
10分钟前
7
0
vpp系列6-DNAT

前置 上一篇讲到SNAT,这篇试验DNAT DNAT 首先在host机器上安装nginx apt-get install nginx 确认服务启动 DNAT配置 # 设置DNat,将ethvpp-pub口的tcp 80端口号映射到本地10.10.5.2的80端口号...

messud4312
13分钟前
16
0
Go语言对接USDT-TRC20【TronTool】

TronTool.Go开发包适用于为Go应用快速增加对Tron/USDT-TRC20数字资产的支持能力,即支持使用自有Tron区块链节点的应用场景,也支持基于Tron官方公共API服务的轻量级部署场景。官方下载地址:...

区块链教程
14分钟前
13
0
如何避免JSP文件中的Java代码? - How to avoid Java code in JSP files?

问题: I'm new to Java EE and I know that something like the following three lines 我是Java EE的新手,我知道类似以下三行 <%= x+1 %><%= request.getParameter("name") %><%! count......

fyin1314
16分钟前
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部