泰勒定理
泰勒展开是一个很有趣的方法。应该大部分人都看过下面这么一条定理:
泰勒定理:若函数f(x)在闭区间[a,b]上存在直至n阶的连续导函数,在开区间(a,b)内存在(n+1)阶导函数,则对任意给定的x,x0∈[a,b],至少存在一点ξ∈(a,b),使得
f(x)=+f(x0)+f ′(x0)(x−x0)+f ′′(x0)2!(x−x0)2+⋯f(n)(x0)n!(x−x0)n+f(n+1)(ξ)(n+1)!(x−x0)n+1
他的原理也很简单,那就是,当两个函数接近的时候,那么他们在某个点的值肯定相等:f(0)=g(0),
他们的一阶导数在一点上也应该相等f′(0)=g′(0),
二阶导数也应该相等f′′(0)=g′′(0),如此类推。。
那么我们能不能用一个多项式函数去逼近这么一个函数呢?而答案正是泰勒展开。
举个例子,假设f(x)是你想逼近的函数,g(x)则是它的二阶泰勒逼近,即: g(x)=f(0)+f′(0)(x−0)+f′′(0)2(x−0)2,
于是显然有: g(0)=f(0)。g(x)对x求导:
g′(x)g′′(x)=f′(0)+f′′(0)(x−0)=f′′(0)(185)(186)
因此
g′(0)=f′(0),
g′′(0)=f′′(0)
当级数趋于无穷的时候就能近似任意的函数了。
盗个图:
f(x+y)≈f(x)+f′(ξ)y
多元函数的泰勒展开
多元函数的泰勒近似的原理也是类似的,只不过在多元函数中,我们要求的两个函数值相同,变成了有多个点: f(a,b)=g(a,b),Df(a,b)=Dg(a,b),Hf(a,b)=Hg(a,b),这里的Df(a,b)是导数矩阵,Hf(a,b)是黑塞矩阵(二阶导),于是多元函数的泰勒展开公式就变成:
f(x)≈f(a)+Df(a)(x−a)+12(x−a)THf(a)(x−a).
其中
Df(a,b)=[∂fx1(a,b),∂fx2(a,b)].
Hf=⎡⎣⎢⎢⎢⎢∂2f∂x21(a,b)∂2f∂x2 ∂x1(a,b)∂2f∂x1 ∂x2(a,b)∂2f∂x22(a,b)⎤⎦⎥⎥⎥⎥
举个例子,一个二元函数f(x,y)在点(a,b)上的的泰勒展开式为:
f(x,y)≈+=++f(a,b)+[∂fx(a,b),∂fy(a,b)][x−ay−b]12[x−ay−b]⎡⎣⎢⎢⎢∂2f∂x2(a,b)∂2f∂y ∂x(a,b)∂2f∂x ∂y(a,b)∂2f∂y2(a,b)⎤⎦⎥⎥⎥[x−ay−b]f(a,b)+(x−a)f′x(a,b)+(y−b)f′y(a,b)12!(x−a)2f′′xx(a,b)+12!(x−a)(y−b)f′′xy(a,b)12!(x−a)(y−b)f′′yx(a,b)+12!(y−b)2f′′yy(a,b)
黑塞矩阵更一般的形式可以写成:
Hf(x1,x2,...,xn)=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢∂2f∂x21∂2f∂x2∂x1⋮∂2f∂xn∂x1∂2f∂x1∂x2∂2f∂x22⋮∂2f∂xn∂x2⋯⋯⋱⋯∂2f∂x1∂xn∂2f∂x2∂xn⋮∂2f∂x2n⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥.
参考资料
https://mathinsight.org/taylors_theorem_multivariable_introduction
https://mathinsight.org/derivative_matrix
https://mathinsight.org/taylor_polynomial_multivariable_examples
https://blog.****.net/red_stone1/article/details/70260070
怎样更好地理解并记忆泰勒展开式? - 陈二喜的回答 - 知乎