牛顿插值多项式 (1)

发布日期: 2020-07-23 12:54:48 阅读量:115

O一生活

由于多项式「常被用来逼近一般函数,并用来求一般函数的近似值。」,使得插值多项式有了学习的正当性,99课纲并特意引进拉格朗日插值多项式。

例如:以给定平面上三点 \(A(1,7),B(2,6),C(3,11)\) 为例,求图形通过这三点的二次多项式。上述的问题等同于求一个二次多项函数 \(f(x)\),使得 \(f(1)=7,f(2)=6,f(3)=11\)。

那幺,满足条件的拉格朗日插值多项式为

\(\displaystyle f(x) = 7 \cdot \frac{{(x – 2)(x – 3)}}{{(1 – 2)(1 – 3)}} + 6 \cdot \frac{{(x – 1)(x – 3)}}{{(2 – 1)(2 – 3)}} + 11 \cdot \frac{{(x – 1)(x – 2)}}{{(3 – 1)(3 – 2)}}\)。

然而,许多课本还加码补充牛顿插值多项式的方法(这也说明有着各种不同形式的插值多项式)。

通常开头就会写道:假设基于牛顿插值多项式,

满足条件之函数 \(f(x)=f(1)+a(x-1)+b(x-1)(x-2)\),

再将 \(f(2)=6,f(3)=11\) 代入,求出 \(a,b\)。

事实上,这样的补充留下的问题,比它所解决的问题还多。例如,为何牛顿插值多项式会是上述的形式?除了背诵记忆规则外,有没有理解它的其他方法?牛顿插值多项式的假设仍需要再求解未知数,会比拉格朗日插值多项式便利吗?这个方法最早是牛顿给出的吗?他如何想到的?是为了解决什幺问题呢?这个系列文章就是想要解答以上这些问题。首先,就由牛顿开始吧!

1687年,牛顿的《自然哲学的数学原理》(Philosophiæ Naturalis Principia Mathematica)拉丁版首次印行,牛顿在书中试图从各个运动现象探究原因,并试图用来解释天文观测的运动现象。书中提出我们所熟知的牛顿运动定律,奠定古典力学的基础,也发表了万有引力定律。此书从定义、公理、或运动的定律出发,推导出命题,就能看出深受《几何原本》公理化体系的影响。无疑地,牛顿透过这样的知识架构塑造《自然哲学的数学原理》的地位,并且透过数学的推论来支持命题的说明。有关牛顿插值法的内容发表在第三编〈宇宙体系〉的引理五:求通过任意点的抛物线类曲线(见图一)。其目的是为了解决引理六的问题:已知彗星的某些观测位置,求彗星在任意给定时刻的位置。

牛顿插值多项式 (1)

图一\(~~~\)《自然哲学的数学原理》(1687年拉丁版) 书影 下载自http://www.ntnu.no/ub/spesialsamlingene/ebok/02a019654.html

事实上,从图一清楚可见,牛顿没有使用多项式的术语,纯然运用几何术语,将某些几何量予以加减处理的规律,会何被认为得出插值多项式的各项係数?同时,他也没有对方法的正确性多作说明。倒是1795年,拉格朗日在巴黎的一场演讲中,对牛顿的作法做了一番解释。据林仓亿的看法,他认为拉格朗日插值多项式的原始想法可能是来自他对牛顿插值多项式的研究,请参见林仓亿,〈牛顿插值多项式:拉格朗日怎幺说?〉一文。此处,作者试图借助现代数学符号的辅助,说明牛顿提出的作法之结果。

为了简化表示,容笔者先介绍数值分析中有关「均差」的概念和符号。

设函数 \(f(x)\) 有 \(n+1\) 个相异点 \(({x_0},f({x_0})),({x_1},f({x_1})),({x_2},f({x_2})),\cdots,({x_n},f({x_n}))\)。

则定义一阶均差及符号为 \(\frac{{f({x_i}) – f({x_j})}}{{{x_i} – {x_j}}} = f[{x_i},{x_j}]\),其中 \(i\ne j\)。

例如 \(\frac{{f({x_0}) – f({x_1})}}{{{x_0} – {x_1}}} = f[{x_0},{x_1}]\)。

同理,定义二阶均差为一阶均差的均差 \(\frac{{f[{x_i},{x_j}] – f[{x_j},{x_k}]}}{{{x_i} – {x_k}}} = f[{x_i},{x_j},{x_k}]\),

例如 \(\frac{{f[{x_1},{x_2}] – f[{x_2},{x_3}]}}{{{x_1} – {x_3}}} = f[{x_1},{x_2},{x_3}]\)。

类推下去,不难想像 \(n\) 阶均差应为 \(n-1\) 阶均差的均差

\(\displaystyle f[{x_0},{x_1}, \cdots ,{x_n}] = \frac{{f[{x_0},{x_1}, \cdots ,{x_{n – 1}}] – f[{x_1},{x_2}, \cdots ,{x_n}]}}{{{x_0} – {x_n}}}\)。

好了,我们可以回头来看牛顿的作法。

牛顿插值多项式 (1)

图二

如图二,牛顿假设这些点分别为 \(A,B,C,D,E,F\),

并分别作这些点的垂线 \(AH,BI,CK,DL,EM,FN\) 到任意给定的直线 \(HN\)(设为 \(x\) 轴),

垂足分别为 \(H,I,K,L,M,N\)。

接着,牛顿分成 \(HI,IK,KL,LM,MN\) 这些间隔都等长,以及不等长的两种情形分别讨论。

以下直接考虑不等长的一般情形,

设 \(H,I,K,L,M,N\) 各点的 \(x\) 坐标分别为 \(x_0,x_1,\cdots,x_5\),

则 \(A({x_0},f({x_0}))\),\(B({x_1},f({x_1}))\),\(C({x_2},f({x_2}))\),\(D({x_3},f({x_3}))\),\(E({x_4},f({x_4}))\),\(F({x_5},f({x_5}))\)。

若 \(S\) 点的坐标为 \(x\),其目的是要求出 \(RS=f(x)\) 之值。

首先,考虑 \(AH,BI,CK,DL,EM,FN\) 彼此的长度差与 \(HI,IK,KL,LM,MN\)

这些间隔的比值

\(\frac{{AH – BI}}{{HI}} = b = \frac{{f({x_0}) – f({x_1})}}{{{x_1} – {x_0}}} =- f[{x_0},{x_1}]\);

\(\frac{{BI – CK}}{{IK}} = 2b = \frac{{f({x_1}) – f({x_2})}}{{{x_2} – {x_1}}} =- f[{x_1},{x_2}]\);

\(\frac{{CK – DL}}{{KL}} = 3b = \frac{{f({x_2}) – f({x_3})}}{{{x_3} – {x_2}}} =- f[{x_2},{x_3}]\);

\(\frac{{DL + EM}}{{ML}} = 4b = \frac{{f({x_3}) + ( – f({x_4}))}}{{{x_4} – {x_3}}} = \frac{{f({x_3}) – f({x_4})}}{{{x_4} – {x_3}}} =- f[{x_3},{x_4}]\);

\(\frac{{ – EM + FN}}{{NM}} = 5b = \frac{{ – ( – f({x_4})) + ( – f({x_5}))}}{{{x_5} – {x_4}}} = \frac{{f({x_4}) – f({x_5})}}{{{x_5} – {x_4}}} =- f[{x_4},{x_5}]\)。[1]

牛顿称这些 \(b\) 为「一次差」,

接着就是「二次差」\(\frac{{b – 2b}}{{HK}} = c = \frac{{ – f[{x_0},{x_1}] – ( – f[{x_1},{x_2}])}}{{{x_2} – {x_0}}} = f[{x_0},{x_1},{x_2}]\);\(\frac{{2b – 3b}}{{IL}} = 2c = f[{x_1},{x_2},{x_3}]\)。

同理,「三次差」\(d = \frac{{c – 2c}}{{HL}} =- f[{x_0},{x_1},{x_2},{x_3}]\),

「四次差」\(e = \frac{{d – 2d}}{{HM}} = f[{x_0},{x_1},{x_2},{x_3},{x_4}]\),

「五次差」\(f = \frac{{e – 2e}}{{HN}} =- f[{x_0},{x_1},{x_2},{x_3},{x_4},{x_5}]\)。

找出这些差之后,再令 \(AH = a = f({x_0})\),\(p =- HS = ({x_0} – x)\),

\(q = p \times ( – IS) = ({x_0} – x)({x_1} – x) = (x – {x_0})(x – {x_1})\),

\(r = q \times ( + SK) = (x – {x_0})(x – {x_1})({x_2} – x) =- (x – {x_0})(x – {x_1})(x – {x_2})\),

\(\begin{array}{ll} s &= r \times ( + SL) =- (x – {x_0})(x – {x_1})(x – {x_2})({x_3} – x) \\&=(x – {x_0})(x – {x_1})(x – {x_2})(x – {x_3})\end{array}\),

\(\begin{array}{ll} t &= s \times ( + SM) = (x – {x_0})(x – {x_1})(x – {x_2})(x – {x_3})({x_4} – x) \\&=- (x – {x_0})(x – {x_1})(x – {x_2})(x – {x_3})(x – {x_4})\end{array}\)

其中,在 \(S\) 到 \(A\) 的各项 \(HS,IS\) 要加负号;另一侧的项 \(SK,SL,SM\) 则加正号。

如此一来,就能写出 \(RS\) 的值:

\(\begin{array}{ll}RS &= f(x) = a + bp + cq + dr + es + ft + … \\&= f({x_0}) + f[{x_0},{x_1}](x – {x_0}) + f[{x_0},{x_1},{x_2}](x – {x_0})(x – {x_1})\\& + f[{x_0},{x_1},{x_2},{x_3}](x – {x_0})(x – {x_1})(x – {x_2}) + f[{x_0},{x_1},{x_2},{x_3},{x_4}](x – {x_0})(x – {x_1})(x – {x_2})(x – {x_3}) \\&+ f[{x_0},{x_1},{x_2},{x_3},{x_4},{x_5}](x – {x_0})(x – {x_1})(x – {x_2})(x – {x_3})(x – {x_4})\end{array}\)

这个结果让我们看到牛顿插值多项式的形式,

事实上,这与与现行数值分析中所谈的牛顿插值多项式完全吻合。

做个练习,让我们更加掌握牛顿插值多项式,就以本文开头的例子

求一个二次多项函数 \(f(x)\),使得 \(f(1)=7,f(2)=6,f(3)=11\)。

由上述可知,找一次差 \(f[1,2]=\frac{7-6}{1-2}=-1\);\(f[2,3]=\frac{6-11}{2-3}=5\),

二次差 \(f[1,2,3] = \frac{{( – 1) – 5}}{{1 – 3}} = 3\)。

因此所求函数为 \(f(x) = f(1) – (x – 1) + 3(x – 1)(x – 2)\)。

同时,相信细心的你也发现牛顿插值多项式的係数直接就能求得,我们将在〈牛顿插值多项式(3)〉有更详尽的介绍。此外,牛顿并没有留下任何线索提示我们他是如何得到这个形式,在下一篇〈牛顿插值多项式(2)〉中,我们试图以多项式的知识对此给出一个教学上适切的引导。

连结:牛顿插值多项式(2)


参考文献

《自然哲学的数学原理》线上阅读http://en.wikisource.org/wiki/The_Mathematical_Principles_of_Natural_Philosophy_(1846)/BookIII-Prop6林仓亿,〈牛顿插值多项式:拉格朗日怎幺说?〉,《HPM通讯》第15卷第10期(2012):页1-7。

[1]此处牛顿使用的彼此并无关係。同理,也是相同情形。

相关文章