形式陈述
怎样把区间上 个函数值变成同一插值多项式公理库多项式插值问题Polynomial interpolation由互异节点上的有限数据唯一确定次数受限的插值多项式,并区分对象存在性与具体表示算法。的导数公理库导数Derivative函数增量比在步长趋零时的极限。值?对整数 ,取Chebyshev–Lobatto 节点公理库Chebyshev 多项式与节点Chebyshev polynomials and nodes · Chebyshev nodes以余弦表示和端点聚集节点控制区间上一致逼近、插值条件性与高次振荡。 ,,这里节点按从 到 排列。令 ,其余 。一阶微分矩阵的非对角元为
对角元可按 构造。精确算术下,这与内部 、端点 、 相同。
若 ,则 给出次数至多 的插值多项式在节点处的导数,未必等于原函数的导数。对所有次数不超过 的多项式,这个操作精确。
直觉
每个节点有一个“在自己位置为一、其他节点为零”的插值基函数 ,而 。利用重心权重公理库重心 Lagrange 插值Barycentric Lagrange interpolation · Barycentric interpolation预计算重心权后以线性成本求值 Lagrange 插值多项式,并说明节点命中、权重尺度与数值稳定性的条件。 ,非对角元是 ,立即给出上述公式。
所有基函数相加等于一,对它求导得到每一行之和为零。因此 既是数学恒等式,也是实现最先应检查的不变量。端点聚集让高阶插值更稳定,也使端点导数系数随 增大。
例子与边界
完整写出三点算子
取 ,节点为 ,则
对常数向量 ,乘积为零。对 ,节点值是 ,乘积为 ,恰为 的节点值。再乘一次 得到 ,符合二阶导数。
作为反例, 在这三个节点的值与 完全相同,因此 ;真实导数值却是 。矩阵没有算错,它精确微分的是三点能识别的线性插值,而三点无法辨别这两个函数。
区间尺度与舍入
在一般非退化区间 ()上,令 ,则 ,二阶矩阵乘尺度平方。节点顺序和端点索引必须一起变换,符号错误常来自只反转了向量而没反转矩阵。
高阶矩阵中的大系数会放大噪声与舍入误差。对有测量噪声的函数值,增加节点并不等于导数更准确;可能需要平滑、正则化或降低近似阶数。
推论与应用
直接构造、存储及一次矩阵向量乘法均需 量级。使用余弦变换在值与系数之间切换,可在 量级进行谱微分。两者表示同一个插值微分操作,数值实现的舍入行为不同。
用于边值问题时,应先构造完整高阶导数,再按边界条件消元或替换方程。对常数、一次和二次多项式的检查,比只观察最终图像是否平滑更容易定位实现错误。
参考资料
- Trefethen, Spectral Methods in MATLAB, Chapter 6 and the linked
cheb.m,节点微分矩阵。
- Berrut and Trefethen, “Barycentric Lagrange Interpolation,” SIAM Review 46, 2004, pp. 501–517,重心权重与插值表示。