You are on page 1of 6

多元函数(及向量函数)的泰勒展开

Dezeming Family

2021 年 6 月 9 日

DezemingFamily 系列书和小册子因为是电子书,所以可以很方便地进行修改和重新发布。如果您获
得了 DezemingFamily 的系列书,可以从我们的网站 [https://dezeming.top/] 找到最新版。对书的内容建
议和出现的错误欢迎在网站留言。

目录
一 单变量函数泰勒级数 1

二 二元函数泰勒公式 2

三 泰勒公式拟合邻域点函数值 4

四 多元函数泰勒公式 4

参考文献 5

一 单变量函数泰勒级数
我们知道,泰勒级数是函数的一种近似工具。学习多元函数泰勒级数的计算和表示应该先弄懂一元函
数的泰勒级数原理。
假设我们要在 x = 0 的附近来近似一个函数 f (x),我们拟使用多项式来拟合,比如二次多项式:

f (x)(x near 0) ≈ a0 + a1 x + a2 x2 (一.1)

然后代入 f (0) 到右边,得到 a0 = f (0)。我们还希望近似的多项式的一阶导数和原函数的一阶导数相


同,因此得到:

f ′ (0) = a1 (一.2)

我们再贪心一点,希望近似的多项式的二阶导数和原函数二阶导数相同,因此得到:

f ′′ (0) = 1 · 2 · a2 (一.3)

如果我们想用高阶多项式来逼近,则我们可以得到:

f (n) (0) = n!an (一.4)

所以我们可以理解为,an 是来控制逼近多项式去逼近原函数的 n 阶导数的系数。


当我们要逼近其他点,比如逼近:

f (x)(x near x0 ) (一.5)

1
我们当然也可以使用上面的逼近方法:

f (x)(x near x0 ) ≈ a0 + a1 x + a2 x2 + ... + an xn (一.6)



f (x0 ) = a1 + 2a2 x0 + 3a3 x20 + ... + nan xn−1
0 (一.7)
(一.8)

我们发现这样计算起来真的非常麻烦,假如我们要使用 n 阶多项式去逼近,则需要联立所有阶导数的
方程组去解得 ai ,非常不方便。幸运的是,我们将多项式的每一项 x 换为 x − x0 ,这个问题就解决了:

f (x)(x near x0 ) ≈ a0 + a1 (x − x0 ) + a2 (x − x0 )2 + ... + an (x − x0 )n (一.9)



f (x0 ) = a1 (一.10)
f ′′ (x0 ) = 1 · 2 · a2 (一.11)

其实这就相当于将原函数进行平移,使 x0 处平移到原点位置,然后再用泰勒公式去逼近。

二 二元函数泰勒公式
我们现在有一个二元函数 f (x1 , x2 ),假设我们要近似点 (a1 , a2 ) 的函数,其实原理也很简单,无非就
是求个偏导罢了。我们知道,要想得到二元函数在某个点的变化趋势,需要求其分别对两个变量的偏导数。
我们先从直觉上思考一下
二阶近似就可以写为(设常数为 ci ):

f (x1 , x2 )((x1 ,x2 )near (a1 ,a2 )) (二.1)


≈ c1 + c2,1 (x1 − a1 ) + c2,2 (x2 − a2 ) (二.2)
+ c3,1 (x1 − a1 )2 + c3,2 (x1 − a1 )(x2 − a2 ) + c3,3 (x2 − a2 )2 (二.3)

以及泰勒展开式:

f (x1 , x2 )((x1 ,x2 )near (a1 ,a2 )) (二.4)


≈ f (a1 , a2 ) (二.5)
∂f ∂f
+ (x1 − a1 ) (a1 , a2 ) + (x2 − a2 ) (a1 , a2 ) (二.6)
∂x1 ∂x2
1 ∂2f ∂2f
+ (x1 − a1 )2 2 (a1 , a2 ) + (x1 − a1 )(x2 − a2 ) (a1 , a2 ) (二.7)
2! ∂x1 ∂x1 ∂x2
1 ∂2f
+ (x2 − a2 )2 2 (a1 , a2 ) (二.8)
2! ∂x2
+ on (二.9)

系数是通过下面来计算得到的(注意 c3,2 可以用两种混合偏导的方法得到):

c1 = f (a1 , a2 ) (二.10)
∂f
(a1 , a2 ) = c2,1 (二.11)
∂x1
∂2f
(a1 , a2 ) = c3,2 (二.12)
∂x1 ∂x2
∂2f
(a1 , a2 ) = c3,2 (二.13)
∂x2 ∂x1

我们知道,初等函数的二阶偏导连续,则与求偏导的先后次序无关,所以二阶混合偏导相等,因此二
阶项可以拆成:

2
1 ∂2f 1 ∂2f
(x1 − a1 )2 2 (a1 , a2 ) + (x1 − a1 )(x2 − a2 ) (a1 , a2 ) (二.14)
2! ∂x1 2! ∂x1 ∂x2
1 ∂2f 1 ∂2f
+ (x2 − a2 )(x1 − a1 ) (a1 , a2 ) + (x2 − a2 )2 2 (a1 , a2 ) (二.15)
2! ∂x2 ∂x1 2! ∂x2
这就是一般常见的二元函数泰勒公式。但是毕竟把 c3,2 拆成两部分并不是很容易想到,我们用辅助函
数的方法来证明一下。
辅助函数推导
我们引入一个辅助函数 Φ 来解决该问题。定义点 (a1 , a2 ) 在周边邻域的近似,泰勒定理需要研究的是
在 (a1 , a2 ) 周围邻域上的偏移的函数值近似 (a1 + u, a2 + v)。我们设 x1 = a1 + tu,x2 = a2 + tv。(我在
最后一章给出了构造辅助函数的原理性说明。)

Φ(t) = f (a1 + tu, a2 + tv) (0 ≤ t ≤ 1) (二.16)

把 Φ 在 t = 0 展开(其实就是在 (a1 , a2 ) 点展开),去近似 t = 1 上的值:


Φ′ (0) Φ′′ (0) 2 Φn (0) n Φn+1 (θt) n+1
Φ(t) = Φ(0) + t+ t + ... + t + t (0 < θ < 1) (二.17)
1! 2! n! (n + 1)!
Φ′ (0) Φ′′ (0) Φn (0) Φn+1 (θ)
Φ(1) = Φ(0) + + + ... + + (二.18)
1! 2! n! (n + 1)!
根据链式法则:
df ∂f dx1 ∂f dx2
= + (二.19)
dt ∂x1 dt ∂x2 dt
df (a + tu, a2 + tv) ∂f ∂f
ϕ′ (t) =
1
=u +v (二.20)
dt ∂x1 ∂x2
′ ∂f ∂f
ϕ (0) = u (a1 , a2 ) + v (a1 , a2 ) (二.21)
∂x1 ∂x2
( ∂f ∂f
)
d u ∂x1 + v ∂x
ϕ′′ (t) = 2
(二.22)
dt
∂2f ∂2f ∂2f ∂2f
= u2 2 + uv + uv + v2 2 (二.23)
∂x1 ∂x1 ∂x2 ∂x2 ∂x1 ∂x2
ϕ′′ (0) = ... (二.24)

我们令 t = 1,u = x1 − a1 ,v = x2 − a2 ,就能得到前面的二元函数泰勒公式形式:

Φ(1) = Φ(t) = f (x1 , x2 )((x1 ,x2 )near (a1 ,a2 )) (二.25)


= f (a1 , a2 ) (二.26)
( )
∂f ∂f
+ (x1 − a1 ) (a1 , a2 ) + (x2 − a2 ) (a1 , a2 ) (二.27)
∂x1 ∂x2
( 2
1 ∂ f ∂2f
+ (x1 − a1 )2 2 + (x1 − a1 )(x2 − a2 ) (二.28)
2! ∂x1 ∂x1 ∂x2
2 2
)
∂ f 2∂ f
+ (x1 − a1 )(x2 − a2 ) + (x2 − a2 ) + ... (二.29)
∂x2 ∂x1 ∂x22
我们还可以写为矩阵向量形式,设:
[ ] [ ]
x1 a1
x= a= (二.30)
x2 a2

则矩阵向量形式为:
1
f (x) ≈ f (a) + ∇f (a) · (x − a) + (x − a)T H(a)(x − a) (二.31)
2

3
其中 H 为海森(Hessian)矩阵:
[ ]
∂2f ∂2f
∂x2 ∂x∂y
H= ∂2f ∂2f
(二.32)
∂y∂x ∂y 2

三 泰勒公式拟合邻域点函数值
我们已经有了 f (x1 , x2 )((x1 ,x2 )near (a1 ,a2 )) 的表示方法,如果我们要求某点 (a1 + ∆a1 , a2 + ∆a2 ) 处的
函数值,则我们需要计算:

f (a1 + ∆a1 , a2 + ∆a2 ) (三.1)


= f (a1 , a2 ) (三.2)
( )
∂f ∂f
+ ∆a1 (a1 , a2 ) + ∆a2 (a1 , a2 ) (三.3)
∂x1 ∂x2
(
1 ∂f ∂f
+ (∆a1 )2 2 + ∆a1 ∆a2 (三.4)
2! ∂x1 ∂x1 ∂x2
)
∂f 2 ∂f
+ ∆a1 ∆a2 + (∆a2 ) + ... (三.5)
∂x2 ∂x1 ∂x22
其实很多书上的公式都是表示为上面的形式。

四 多元函数泰勒公式
其实掌握了二元函数泰勒公式以后,多元变量就很好扩展了,只是需要一定的方法来方便表示。
我们令:
( )2
∂f ∂f
∆a1 (a1 , a2 ) + ∆a2 (a1 , a2 ) (四.1)
∂x1 ∂x2
(
∂f ∂f
= (∆a1 )2 2 + ∆a1 ∆a2 (四.2)
∂x1 ∂x1 ∂x2
)
∂f 2 ∂f
+ ∆a1 ∆a2 + (∆a2 ) (四.3)
∂x2 ∂x1 ∂x22
因此多元函数泰勒展开就很容易写为:

f (x1 , x2 , ..., xn ) = f (a1 + ∆a1 , a2 + ∆a2 , ..., an + ∆an ) (四.4)


= f (a1 , a2 , ..., an ) (四.5)
( )
1 ∂f ∂f ∂f
+ ∆a1 + ∆a2 + ... + ∆an (a1 , a2 , ..., an ) (四.6)
1! ∂x1 ∂x2 ∂xn
( )2
1 ∂f ∂f ∂f
+ ∆a1 + ∆a2 + ... + ∆an (a1 , a2 , ..., an ) (四.7)
2! ∂x1 ∂x2 ∂xn
+ ... (四.8)
( )n
1 ∂f ∂f ∂f
+ ∆a1 + ∆a2 + ... + ∆an (a1 , a2 , ..., an ) (四.9)
n! ∂x1 ∂x2 ∂xn
当然也可以写为累加和的形式:

f (x1 , x2 , ..., xn ) = f (a1 + ∆a1 , a2 + ∆a2 , ..., an + ∆an ) (四.10)



n
∂f 1 ∑
n ∑
n
∂2f
= f (a1 , a2 , ..., an ) + (xi − ai ) + (xi − ai )(xj − aj ) (四.11)
∂xi 2! ∂xi ∂xj
i=1 i=1 j=1

1 ∑∑∑
n n n
∂3f
+ (xi − ai )(xj − aj )(xk − ak ) + ... (四.12)
3! ∂xi ∂xj ∂xk
i=1 j=1 k=1

4
以及描述为向量的形式:
∑ (x − a)l
f (x) = (∂ l f )(a) (四.13)
l!
l≥0

最终其实可以描述为矩阵向量的形式,来近似到二阶,很多时候二阶近似就已经完全够用了,海森矩
阵描述如下:
 ∂2f ∂2f ∂2f

∂x2 ∂x1 ∂x2
... ∂x1 ∂xn
 ∂ 2 f1 ∂2f 
 ∂x ∂x ∂2f
... 
H=  2 1 ∂x22 ∂x2 ∂xn 
(四.14)

 . . . . 
∂2f ∂2f ∂2f
∂xn ∂x1 ∂xn ∂x2
... ∂x2n

二元函数的辅助函数
函数 f (x1 , x2 ) 在开区域 R 中有二阶连续偏导,其中 P1 (a1 , a2 ) 是该区域的一个点,我们在开区域中
任选另一个点 P2 (a1 + u, a2 + v),并且我们设 u 和 v 足够小,来保证从 P1 沿直线运动到 P2 的路径仍然
在开区域中:

则描述从 P1 到 P2 的运动轨迹的参数方程为 (a1 + t · u, a2 + t · v),


因此定义参数方程 F (t) = f (a1 + t · u, a2 + t · v),我们知道当 u 和 v 变化时,P2 可以表示开区域附
近邻域上的任意一个点。因为 f (a1 + t · u, a2 + t · v) 中,x1 = a1 + t · u,x2 = a2 + t · v,因此其实对 t 求
导就可以应用链式法则。
同理,因为 t 在 [0, 1] 之间是连续的,所以我们可以对 F 在 t = 0 进行泰勒展开(其实就是在 (a1 , a2 )
点展开),令 t = 1 就能得到:
F ′ (0) F ′′ (0)
F (1) = F (0) + + + ... (四.15)
1! 2!
换句话说,f (a1 + u, a2 + v) 就等于 F (1),也就是说可以用上面的公式来进行近似。因此,只要当 u
和 v 任意取值时,我们就能得到 R 上 P1 (a1 , a2 ) 点附近函数值所有的近似值了!
现在,我们重新令变量 x1 = u + a1 ,x2 = v + a2 ,这样代入到上式,我们就能得到 f (x1 , x2 ) 在 (a1 , a2 )
处的泰勒展开。

参考文献
[1] https://blog.csdn.net/weixin_34297863/article/details/114015833

[2] https://zhuanlan.zhihu.com/p/32274749

[3] https://www.bilibili.com/video/BV1Gx411Y7cz

[4] https://blog.csdn.net/red_stone1/article/details/70260070

5
[5] https://wenku.baidu.com/view/26fc62c689eb172ded63b7dd.html

[6] https://mathinsight.org/

[7] Finney, Giordano. 托马斯微积分. 第 10 版 [M]. 高等教育出版社, 2003.

You might also like