数值分析--插值
多项式差值
0x01 存在以及唯一性定理
存在以及唯一性定理:如果存在有\(1n+\)个不重复的点\((x_0,y_0),(x_1,y_1),...,(x_n,y_n)\),那么一定存在且只有一组系数\(a_1,a_2...a_n\)使得
成立。
存在性证明:
首先引入\(Lagrange\ Polynomials\)即拉格朗日多项式
那么我们可以得出:
所以 \(p(x)=\sum_{k=0}^ny_kL_k(x)\), 满足\(p\left(x_{i}\right)=y_{i}\) for all \(i \in\{0, \ldots, n\}\)。就是我们要求的多项式
唯一性证明:
假设我们找到了两组多项式\(p\)和\(q\),那么\(p(x_i)=q(x_i)=y_i\)。令\(r(x)=p(x)-q(x)\),则\(r(x)\)满足\(r(x_i)=0\), for all \(i \in\{0, \ldots, n\}\)。
由于无论是\(p(x)\)还是\(q(x)\)度最多就只有\(n\)也就是说\(r(x)\)的度最大就是\(n\),但是\(r(x)=0\)却有\(n+1\)个解。因此\(r(x)=0\)。
尽管在上面的正名之中,我们已经得出了\(p(x)=\sum_{k=0}^n L_k(x)y_k\),但是在实际之中几乎没有人会使用\(Lagrange\ Polynomials\)来求解多项式插值。原因主要有以下两点
- \(p(x)=\prod_{j=0,j\neq i}^n\frac{x-x_j}{x_i-x_j}y_i,\ \ \text{for all}\ i\in\{0,1,...n\}\)的计算不是well-condationed的,也就是说我们如果采用这种方法计算多项式的话就必须容忍更大的误差
- 如果我们已经根据\(Lagrange\ Polynomials\)求得了一个多项式,那么如果来了一个新的点\((x_{n+1},y_{n+1})\)那么我们就必须重新计算。
0x02 Newton多项式
Newton多项式的参数\(b\)如下所示:
多项式如下所示:
我们需要迭代地解出\(b_i\),迭代的方法如下所示
0x03 Neville's Recurision Idea
假设\((x_0,y_0),(x_1,y_1)...\)是若干点,有两个函数\(f\),\(g\)满足
- \(f\left(x_{i}\right)=y_{i}\) for all \(i \in\{0, \ldots, n-1\}\)
- \(g\left(x_{i}\right)=y_{i}\) for all \(i \in\{1, \ldots, n\}\)
然后我们就可以建立起一个新的divided-difference 函数
该函数满足:
\(h\left(x_{i}\right)=y_{i}\) for all \(i \in\{0, \ldots, n\}\)。