为什么看线段?
导数提供局部信息。若要比较两点的函数值,或量化近似误差,可用线段连接两点,再对所得的一元复合函数应用微积分。整条线段必须留在定义域内;单靠不连通定义域上的导数界,不能比较不同连通部分的值。本节 a,h∈Rn,除非另有说明,f 是实值函数;[a,a+h] 指整条线段。
中值定理与估计
定理
一元中值定理
若 ϕ 在 [0,1] 上连续、在 (0,1) 上可微,则存在 c∈(0,1),使 ϕ(1)−ϕ(0)=ϕ′(c)。
设 f 在包含 [a,b] 的开集上可微,令 ϕ(t)=f(a+t(b−a))。链式法则给出某个 c∈(0,1),使
f(b)−f(a)=∇f(a+c(b−a))⋅(b−a).
特别地,若线段上 ∥∇f∥≤M,则
∣f(b)−f(a)∣≤M∥b−a∥.
上面的同一中间点等式只适用于实值函数。对向量值 F,不可假设存在一个共同中间点使 F(b)−F(a)=DF(ξ)(b−a);不同分量可能需要不同中间点。若线段上 ∥DF(x)∥op≤M,仍可得到 ∥F(b)−F(a)∥≤M∥b−a∥;例如在 F 属 C1 时,可沿线段积分 DF(a+t(b−a))(b−a)。
证明
线段估计的证明
该复合函数在 [0,1] 连续、内部可微。应用一元定理、链式法则及柯西—施瓦茨不等式即可。若整个凸定义域上的梯度都有同一界,便得到 Lipschitz 条件,因为任意两点间的线段均留在定义域内。
例题
不必找出中间点
令 f(x,y)=sin(xy),定义在 [−1,1]2。由 ∇f=(ycos(xy),xcos(xy)),得 ∥∇f∥≤2。取 a=(0,1)、b=(0.02,0.97),线段都在方形内,因此
∣f(b)−f(a)∣≤20.022+(−0.03)2=0.0026.这个界是可靠的,但不一定最精确,亦无须猜中间点。
泰勒多项式
定义
海森矩阵与二阶泰勒多项式
若 f 在 a 附近属 C2,其海森矩阵为 Hf(a)=(∂i∂jf(a))i,j。以 h 表示位移,a 处的二阶泰勒多项式为
T2(a+h)=f(a)+∇f(a)⋅h+21hTHf(a)h.二元情况 h=(u,v) 的二次项为 21(fxxu2+2fxyuv+fyyv2),所有偏导数均在 a 计算。
定理
二阶泰勒展开
若 f 在 a 附近属 C2,则当 h→0 时,
f(a+h)=T2(a+h)+o(∥h∥2).若 f 在线段的某个邻域属 C3,令 ϕ(t)=f(a+th),则对某个 θ∈(0,1),余项等于 ϕ′′′(θ)/6。特别地,若线段上 ∣ϕ′′′(t)∣≤K∥h∥3,余项绝对值不超过 K∥h∥3/6。
由 C2 条件,混合二阶偏导数相等,所以海森矩阵对称。三阶导数 ϕ′′′(t) 是各 i,j,k 的 ∂ijkf(a+th)hihjhk 之和;如果逐项给偏导数界,须把整个和计算在内。小 o 结论说明误差除以 ∥h∥2 趋零;更强的三次误差界需要额外控制。这两个结论本身均不保证无穷泰勒级数收敛至原函数。
证明
化为一元问题
令 ϕ(t)=f(a+th)。链式法则给 ϕ′(0)=∇f(a)⋅h 及 ϕ′′(0)=hTHf(a)h。应用一元泰勒定理。对小 o 形式,海森矩阵的连续性使二阶误差随 h→0 一致地变小;对拉格朗日余项,使用 C3 条件与一元三阶导数公式。
例题
二阶近似与严格误差界
取 f(x,y)=excosy,在 (0,0) 处有 f=1、∇f=(1,0) 及 Hf=diag(1,−1)。因此
T2(x,y)=1+x+21(x2−y2).取 h=(0.1,0.2),近似值为 1.085。沿 th,ϕ(t)=e0.1tcos(0.2t)。由于 ϕ′′′ 是 (0.1+0.2i)3e(0.1+0.2i)t 的实部,
∣ϕ′′′(t)∣≤(0.12+0.22)3/2e0.1<0.01236.故 ∣f(h)−1.085∣<0.00206。近似值和误差界是不同的;实际误差可以小得多。
泰勒级数与有限多项式
若 f 在 a 附近光滑,可用各阶导数形式上组成泰勒多项式。但级数在某一点代表 f,必须该点的余项趋零;无穷可微并不足够。例子是 t=0 时令 g(t)=e−1/t2,并设 g(0)=0。它在零点的所有导数均为零,但 t=0 时 g(t)>0。因此其零点泰勒级数恒为零,在其他点不等于 g。让函数忽略其余坐标,就得到多元反例。
如何选方法
- 比较两点: 梯度有界且线段留在定义域时,用线段中值估计。
- 预测小变化: 只需一阶精度时用线性项;要考虑曲率或二阶精度时加入海森矩阵。
- 验证数值误差: 要证明余项界,不能只写出近似值。
- 分类驻点: 用二次型的正负定性;下一节会说明假设和不能判定的情况。
练习
- 在 [−1,1]2 上,利用梯度证明 f(x,y)=x2+y2 是 Lipschitz 函数,并给出一个有效常数。
- 求 f(x,y)=x2ey 在 (1,0) 的 T2,再用它近似 f(1.1,0.1)。
- 解释为何 f(x,y)=x3 不等于原点的二阶泰勒多项式,即使该多项式是有效的二阶近似。
- 令 F(t)=(t2,t3),t∈[0,1]。证明不存在 c∈(0,1) 使 F(1)−F(0)=F′(c),尽管一元中值定理对各分量分别成立。
详解
- ∇f=(2x,2y),在方形内其范数不超过 22。方形为凸集,所以线段估计给 ∣f(b)−f(a)∣≤22∥b−a∥。
- 基点处 f=1、∇f=(2,1)、Hf=(2221)。设 u=x−1,v=y,则 T2=1+2u+v+u2+2uv+v2/2;在 (u,v)=(0.1,0.1) 时得 1.335。
- 原点处函数值、梯度及海森矩阵都为零,所以 T2=0。差值 x3 并非恒零,但 ∣x3∣/x2+y22≤x2+y2→0。
- F(1)−F(0)=(1,1),而 F′(c)=(2c,3c2)。第一分量迫使 c=1/2,但此时第二分量为 3/4=1。两个实值分量各自需要不同中间点。
总结
链式法则把多元问题带到线段上。中值定理控制有限变化;泰勒多项式保留曲率,改善局部线性近似。结论依赖定义域和光滑性假设,而数值近似的好坏与多项式公式本身是两个不同问题。