天天看點

多元函數的泰勒展開公式

泰勒定理

泰勒展開是一個很有趣的方法。應該大部分人都看過下面這麼一條定理:

泰勒定理:若函數f(x)在閉區間[a,b]上存在直至n階的連續導函數,在開區間(a,b)記憶體在(n+1)階導函數,則對任意給定的 x,x0∈[a,b] x , x 0 ∈ [ a , b ] ,至少存在一點 ξ∈(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 ( x ) = f ( x 0 ) + f   ′ ( x 0 ) ( x − x 0 ) + f   ″ ( x 0 ) 2 ! ( x − x 0 ) 2 + ⋯ + f ( n ) ( x 0 ) n ! ( x − x 0 ) n + f ( n + 1 ) ( ξ ) ( n + 1 ) ! ( x − x 0 ) n + 1

他的原理也很簡單,那就是,當兩個函數接近的時候,那麼他們在某個點的值肯定相等: f(0)=g(0) f ( 0 ) = g ( 0 ) ,

他們的一階導數在一點上也應該相等 f′(0)=g′(0) 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 ( 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) (185) g ′ ( x ) = f ′ ( 0 ) + f ″ ( 0 ) ( x − 0 ) (186) g ″ ( x ) = f ″ ( 0 )

是以 g′(0)=f′(0) g ′ ( 0 ) = f ′ ( 0 ) , g′′(0)=f′′(0) g ″ ( 0 ) = f ″ ( 0 )

當級數趨于無窮的時候就能近似任意的函數了。

盜個圖:

多元函數的泰勒展開公式

f(x+y)≈f(x)+f′(ξ)y f ( x + y ) ≈ f ( x ) + f ′ ( ξ ) y

多元函數的泰勒展開

多元函數的泰勒近似的原理也是類似的,隻不過在多元函數中,我們要求的兩個函數值相同,變成了有多個點: f(a,b)=g(a,b) f ( a , b ) = g ( a , b ) , Df(a,b)=Dg(a,b) D f ( a , b ) = D g ( a , b ) , Hf(a,b)=Hg(a,b) H f ( a , b ) = H g ( a , b ) ,這裡的Df(a,b)是導數矩陣,Hf(a,b)是黑塞矩陣(二階導),于是多元函數的泰勒展開公式就變成:

f(x)≈f(a)+Df(a)(x−a)+12(x−a)THf(a)(x−a). f ( x ) ≈ f ( a ) + D f ( a ) ( x − a ) + 1 2 ( x − a ) T H f ( a ) ( x − a ) .

其中

Df(a,b)=[∂fx1(a,b),∂fx2(a,b)]. D f ( a , b ) = [ ∂ f x 1 ( a , b ) , ∂ f x 2 ( a , b ) ] .

Hf=⎡⎣⎢⎢⎢⎢∂2f∂x21(a,b)∂2f∂x2 ∂x1(a,b)∂2f∂x1 ∂x2(a,b)∂2f∂x22(a,b)⎤⎦⎥⎥⎥⎥ H f = [ ∂ 2 f ∂ x 1 2 ( a , b ) ∂ 2 f ∂ x 1   ∂ x 2 ( a , b ) ∂ 2 f ∂ x 2   ∂ x 1 ( a , b ) ∂ 2 f ∂ x 2 2 ( 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) f ( x , y ) ≈ f ( a , b ) + [ ∂ f x ( a , b ) , ∂ f y ( a , b ) ] [ x − a y − b ] + 1 2 [ x − a y − b ] [ ∂ 2 f ∂ x 2 ( a , b ) ∂ 2 f ∂ x   ∂ y ( a , b ) ∂ 2 f ∂ y   ∂ x ( a , b ) ∂ 2 f ∂ y 2 ( a , b ) ] [ x − a y − b ] = f ( a , b ) + ( x − a ) f x ′ ( a , b ) + ( y − b ) f y ′ ( a , b ) + 1 2 ! ( x − a ) 2 f x x ″ ( a , b ) + 1 2 ! ( x − a ) ( y − b ) f x y ″ ( a , b ) + 1 2 ! ( x − a ) ( y − b ) f y x ″ ( a , b ) + 1 2 ! ( y − b ) 2 f y y ″ ( 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⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥. H f ( x 1 , x 2 , . . . , x n ) = [ ∂ 2 f ∂ x 1 2 ∂ 2 f ∂ x 1 ∂ x 2 ⋯ ∂ 2 f ∂ x 1 ∂ x n ∂ 2 f ∂ x 2 ∂ x 1 ∂ 2 f ∂ x 2 2 ⋯ ∂ 2 f ∂ x 2 ∂ x n ⋮ ⋮ ⋱ ⋮ ∂ 2 f ∂ x n ∂ x 1 ∂ 2 f ∂ x n ∂ x 2 ⋯ ∂ 2 f ∂ x n 2 ] .

參考資料

https://mathinsight.org/taylors_theorem_multivariable_introduction

https://mathinsight.org/derivative_matrix

https://mathinsight.org/taylor_polynomial_multivariable_examples

https://blog.csdn.net/red_stone1/article/details/70260070

怎樣更好地了解并記憶泰勒展開式? - 陳二喜的回答 - 知乎

繼續閱讀