Loading [MathJax]/jax/output/CommonHTML/jax.js

1/10/2009

[微積分] Taylor Expansion and Taylor Series

泰勒展開 (Taylor Expansion) 的目的:試圖將 (足夠平滑) 函數 透過 多項式近似
 NOTE: 在此我們說足夠平滑,意思是指 導數存在。

Comment:
讀者可能學過所謂的 Fourier Series ,其基本概念是試圖將函數透過 "三角函數" 近似。



Taylor Expansion (or Taylor Polynomial)
考慮某函數一階導數存在,則我們可以透過 一階多項式來近似 f(x) 如下:
f(x)a+bx 則我們現在可觀察到在 x=0 處, f(0)=a 且其一階導數 f(0)=b 故事實上可寫
f(x)f(0)+f(0)x上式稱為 f(x)1 階 Taylor Expansion

再者若此函數二階導數存在,且打算將其表為二階多項式如下: f(x)a+bx+cx2 則同理,我們可觀察在 x=0 處, f(0)=a 且其一階導數 f(0)=b , 二階導數 f(0)=2c故事實上可寫
f(x)a+bx+cx2f(x)f(0)+f(0)x+f(0)2x2上式稱為 f(x)2 階 Taylor Expansion

接著我們再重複做一次上述近似,再者若此函數 三階導數存在 ,我們可將其表為三階多項式形式如下: f(x)a+bx+cx2+dx3同理,觀察在 x=0 處, f(0)=a 且其一階導數 f(0)=b , 二階導數 f(0)=2c;三階導數 f(0)=32d 故事實上可寫
f(x)a+bx+cx2+dx3f(x)f(0)+f(0)x+f(0)2x2+f(0)32x3上式稱為 f(x)3 階 Taylor Expansion

從上述分析,讀者不難發現若函數 f(x)n 階導數存在,則 n 階 Taylor Expansion 可表為下式
f(x)f(0)+f(0)x+f(0)2!x2+f(0)3!x3+...+f(n)(0)n!xn

Example 1: 
考慮 f(x):=ex, 試求 其 3 階 Taylor 展開式。

Solution
ex 為平滑函數,任意階導數存在 且任意階導數相等,故前面三階導數
f(x)=f(x)=f(x)=f(x)=ex 現在帶入 x=0 可得 f(0)=f(0)=f(0)=f(0)=1 故其  3 階 Taylor 展開式 為
f(x)f(0)+f(0)x+f(0)2!x2+f(0)3!x3ex1+1x+12!x2+13!x3亦即 我們用 3 階多項式來 "近似" ex


Taylor Expansion 的誤差
那麼有了 Taylor 展開 近似 原函數之後,我們必然會想問 此展開 與 原函數差多少? 比如說考慮將 f(x)n 階 Taylor 展開,則我們可寫
f(x)f(0)+f(0)x+f(0)2!x2+f(0)3!x3+...+f(n)(0)n!xn現在我們引入  n 階誤差項 稱作 Rn(x), 則
 f(x)f(0)+f(0)x+f(0)2!x2+...+f(n)(0)n!xnf(x)=f(0)+f(0)x+f(0)2!x2+...+f(n)(0)n!xn+Rn(x)那麼誤差項 Rn(x) 該如何估計? 我們可透過以下定理回答此問題

===============
Theorem: Taylor Theorem
考慮 x[a,b](0[a,b]),且 對函數 f(x)n 階泰勒展開為
f(x)=f(0)+f(0)x+f(0)2!x2+...+f(n)(0)n!xn+Rn(x) 則存在某點 c[a,b] 使得誤差項 Rn(x)=f(n+1)(c)(n+1)!x(n+1)===============
Proof: omitted.

FACT: 由上述定理可知,誤差項有上界
|Rn(x)|M|x|n+1(n+1)!其中 M:=max{|f(n+1)(c)|},c[a,b]


Example
利用 ex 的三階泰勒展開 求 e1/2 的近似值 並估計誤差。

Solution
利用前例可知  ex 的三階泰勒展開 為
ex1+1x+12!x2+13!x3我們可帶入 x=1/2 即可求得所需的泰勒多項式
1+1(12)+12!(12)2+13!(12)3 此時泰勒多項式 與 e1/2 之間的 誤差項估計如下
|Rn(x)|M|x|n+1(n+1)!|R3(x)|M|x|4(4)!其中 M:=max{|f(n+1)(c)},c[a,b] ,由於我們關心的是 e1/2 的近似值 與其誤差,故若取 a=0,b=1/2 則 M:=max{|ec|},c[0,1/2]M=e1/2 將此 M 帶回我們的誤差項可得
|R3(x)|e1/2|1/2|4(4)!注意到 上式需要 計算 e1/2 但我們正需要估計此數值,故需要再度放寬上界
|R3(x)|e1/2|1/2|4(4)!2.72e1|1/2|4(4)!3|1/2|4(4)!0.008

Example
x[1,1],試求對 ex 而言,需要幾階 泰勒多項式 才可使其與原函數 ex 誤差小於 0.005?

Solution
回憶誤差項有上界為
|Rn(x)|M(n+1)!|x|n+1其中 M:=max{|ec|},c[1,1]M=e1 亦即,
|Rn(x)|e1(n+1)!|1|n+1=e(n+1)!3(n+1)!現在我們需要 其 小於 0.005 故若取 n=5
3(n+1)!0.0040.005


Taylor Series
那麼如果考慮如果函數  f(x) 的 無窮 階導數存在 (亦即此函數為 平滑(smooth) 函數) 則我們可將在原點展開的 Taylor Expansion 寫成 無窮級數的形式 (若此級數收斂),我們稱之為 Taylor Series :
f(x)=f(0)+f(0)x+f(0)2!x2+...+f(n)(0)n!x2+...f(x)=k=0f(k)(0)k!xk Comment:
若函數為平滑函數 (e.g., ex,sin(x),cos(x),...),且 Taylor Series 收斂,則 Taylor Series 收斂到原函數,不再是近似 (在此證明省略)


Example 2:
考慮 f(x):=ex, 試求 其 Taylor Series。

Solution
ex 為平滑函數,任意階導數存在 且任意階導數相等;我們可將此 ex 用 Taylor Series 故對若取 nNf(n)(x)=ex,且在 x=0 處 可得 f(n)(0)=1 故其  Taylor Series 為
f(x)=k=0f(k)(0)k!xkex=k=01k!xk (讀者可自行證明此Taylor Series 收斂,故等號確實成立。 )

Exercise:
(a) 試求 f(x)=sin(x) 的 Taylor Series。 ANS: sin(x)=k=0(1)kx2k+1(2k+1)!
(b) 試求 f(x)=cos(x) 的 Taylor Series。 ANS: cos(x)=k=0(1)kx2k(2k)!
(c) 令 |x|<1,試求 f(x)=1/(1x) 的 Taylor Series。 ANS: 11x=k=0xk

1 則留言:

[人工智慧] 本地端 DeepSeek R1 快速安裝:以 Macbook Pro M4 Chip為例

最近火熱的 DeepSeek R1 模型由於採用了 distill 技術,可以大幅降低計算成本,使得一般人有機會在自家筆電上跑性能逼近 Open AI ChatGPT o1的大語言模型。本文簡單介紹一步安裝在 Macbook Pro 的方法以及使用方法,以下測試採用 Macboo...