形式陈述
设 , 使用夹持节点向量理路B样条基与局部支撑B-spline basis · Cox–de Boor recursion · B样条从零次区间指示函数递推局部基,证明非负、单位分解、基性质及重复节点下的连续性。 。在各个开跨度上,
右侧低阶基仍以原节点的下标书写。若所有内部重数都不超过 ,删去原节点向量首尾各一项,并把 从零重新编号,就得到次数 的标准夹持数组。若原曲线有满重数 的断点,原向量对低一次数已冗余:分母为零的项对应恒零基,仅在形式求和中省略;要交给标准求值接口,应先按这些断点拆成左右段,分别生成各段导数的夹持数组,不能把带未定义系数的原数组直接传入。
公式首先表示每段的经典导数。内部重数 时, 至少 ,左右导数一致,可在节点求通常导数; 时 连续,但左右导数可不同; 时 本身可跳变,此式不包含跳变产生的分布导数项。需要单侧值时,内部用右极限,最右端用左极限。
直觉
将每个基的导数
代入总和。 从第 项收到 ,从第 项收到相反的 ,相减就得到 。夹持向量最外两项的低阶基是零,所以留下 。
这像有限差分,但分母是横跨 个节点的距离,不总是相邻跨度。第二次求导时次数与节点向量都已经变化,必须重新应用同一规则,不能直接把原系数做普通二阶差分再除以一个统一 。
例子与边界
对 、、,导数系数为
新节点向量为 。令 、,原曲线逐段为
因此 、,值却同为二,正是二重节点的 接合。在简单节点二,左右值都为 、左右导数都为一;二阶导数分别为五和三,所以这一条曲线恰好 而非 。
满重数的例子更能检验接口: 的每段导数都为一。中间零分母项被省去,得到的是分段斜率,绝不能据此声称原曲线跨越一时没有跳变。值从一跳到四,需要另外记录。
推论与应用
若 在整个区间连续,且所有非零支撑的 ,非负基保证每段 ,各段连起来便全局非降。若允许跳变,还须每个跳变量非负。斜率全为正、跳变向下的分段直线,就是省略最后条件的反例。
对至少 的曲线,继续得到二阶导数系数;若它们全非负,则 ,从而曲线凸。更一般的连续分段曲线还需检查一阶导数的跳跃方向。系数符号是方便的充分证书,不是一般必要条件:单段三次 Bernstein 系数 有一个负差,而其导数 Bernstein 系数为 ,导数实际是 。
导数控制也可用于全区间误差上界理路一致误差的全区间证书Uniform error certification · Continuous supremum error bounds把临界点、连续模或非负基包围变成全区间误差上界,并说明有限采样本身不能证明上确界。:若残差的导数绝对值有已证上界,有限网格的最大误差才能加上可计算的漏采样余量。
从导数符号到直线穿越次数
本页的非负导数系数给出单调或凸的充分条件。B样条全非负配点与变号缩减理路B样条全非负配点与变号缩减B-spline total positivity · Spline variation diminution · 样条变差缩减通过插结矩阵的有序局部支撑证明配点矩阵的所有子式非负,再将系数变号次数转成曲线穿线次数的证书。进一步回答“曲线相对任意指定直线最多强变号多少次”:用Greville位置减去该直线的系数,再以插结的有序凸混合证明变号不增。连续曲线可作穿线解释;满重数跳点可能越过一条直线而不与它相交,不能把强变号一律数作零点。
参考资料