zoukankan      html  css  js  c++  java
  • 正交多项式介绍及应用

    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}{ m{ = }}int_a^b {w(x){x^n}dx,{ m{ }}n = 0,1,2, cdots } ]

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

    [leftlangle {f,g} ight angle : = int_a^b {w(x)f(x)g(x)dx} ]

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

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

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

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

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

    1.2 施密特正交化(Schmidt orthogonalization)

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

    [egin{array}{l} {eta _1} = {alpha _1} \ {eta _2} = {alpha _2} - frac{{leftlangle {{alpha _2},{eta _1}} ight angle }}{{leftlangle {{eta _1},{eta _1}} ight angle }}{eta _1} \ cdots \ {eta _n} = {alpha _n} - frac{{leftlangle {{alpha _n},{eta _1}} ight angle }}{{leftlangle {{eta _1},{eta _1}} ight angle }}{eta _1} - frac{{leftlangle {{alpha _n},{eta _2}} ight angle }}{{leftlangle {{eta _2},{eta _2}} ight angle }}{eta _2} - cdots - frac{{leftlangle {{alpha _n},{eta _{n - 1}}} ight angle }}{{leftlangle {{eta _{n - 1}},{eta _{n - 1}}} ight angle }}{eta _{n - 1}} \ end{array} ]

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

    步骤如下:

    [egin{array}{l} x = a \ y = b - frac{{leftlangle {b,x} ight angle }}{{leftlangle {x,x} ight angle }}x = frac{{left| b ight|cos ( heta )}}{{left| a ight|}}a \ z = c - frac{{leftlangle {c,x} ight angle }}{{leftlangle {x,x} ight angle }}x - frac{{leftlangle {c,y} ight angle }}{{leftlangle {y,y} ight angle }}y \ end{array}]

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

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

    2 经典正交多项式

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

    2.1 雅克比多项式

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

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

    为伽马函数(gamma function)。

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

    雅克比多项式的正交性:

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

    2.2 勒让德多项式

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

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

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

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

    [(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{ m{ + }}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 heta ) ]

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

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

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

    [{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) heta ]}}{{sin heta }} ]

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

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

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

    [{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 } ight)!}}{{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 = P1y ;
    % c2对应勒让德系数
    c2 = P2y ;
    % c3对应切比雪夫系数
    c3 = P3y ;
    % c4对应拉盖尔系数
    c4 = P4y ;
    % c5对应埃尔米特系数
    c5 = P5y ;
    
    %% 求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获取更多资料

  • 相关阅读:
    k8s 新加节点
    /etc/bashrc
    k8s 连接harbor 的私有仓库的两种方法 一种是secret 绑定到sa serviceaccount 账号下 一种是需要绑定到 imagePullSecrets:
    pip install --upgrade urllib3==1.25.2
    mysql skip-grant-tables 后要多次重启 和验证登录检查确认密码生效
    k8s 传参给docker env command、args和dockerfile中的entrypoint、cmd之间的关系
    kubectl -n ingress-nginx exec nginx-ingress-controller-78bd49949c-t22bl -- cat /etc/nginx/nginx.conf
    更新Alpine Linux源 sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories apk add xxx
    ingress nginx https配置
    Ingress-nginx 部署使用
  • 原文地址:https://www.cnblogs.com/louisanu/p/13285394.html
Copyright © 2011-2022 走看看