NOTE: 在此我們說足夠平滑,意思是指 導數存在。
Comment:
讀者可能學過所謂的 Fourier Series ,其基本概念是試圖將函數透過 "三角函數" 近似。
Taylor Expansion (or Taylor Polynomial)
考慮某函數一階導數存在,則我們可以透過 一階多項式來近似 $f(x)$ 如下:
$$f(x) \approx a + bx$$ 則我們現在可觀察到在 $x =0$ 處, $f(0) = a$ 且其一階導數 $f'(0) = b$ 故事實上可寫
\[
f(x) \approx f(0) + f'(0) x
\]上式稱為 $f(x)$ 的 $1$ 階 Taylor Expansion
再者若此函數二階導數存在,且打算將其表為二階多項式如下: $$f(x) \approx a + bx + c x^2$$ 則同理,我們可觀察在 $x =0$ 處, $f(0) = a$ 且其一階導數 $f'(0) = b$ , 二階導數 $f''(0) = 2c$故事實上可寫
\[\begin{array}{l}
f(x) \approx a + bx + c{x^2}\\
\Rightarrow f(x) \approx f\left( 0 \right) + f'\left( 0 \right)x + \frac{{f''\left( 0 \right)}}{2}{x^2}
\end{array}
\]上式稱為 $f(x)$ 的 $2$ 階 Taylor Expansion
接著我們再重複做一次上述近似,再者若此函數 三階導數存在 ,我們可將其表為三階多項式形式如下: $$f(x) \approx a + bx + c x^2 + d x^3
$$同理,觀察在 $x =0$ 處, $f(0) = a$ 且其一階導數 $f'(0) = b$ , 二階導數 $f''(0) = 2c$;三階導數 $f'''(0) = 3 \cdot 2 d$ 故事實上可寫
\[\begin{array}{l}
f(x) \approx a + bx + c{x^2} + d{x^3}\\
\Rightarrow f(x) \approx f\left( 0 \right) + f'\left( 0 \right)x + \frac{{f''\left( 0 \right)}}{2}{x^2} + \frac{{f'''\left( 0 \right)}}{{3 \cdot 2}}{x^3}
\end{array}\]上式稱為 $f(x)$ 的 $3$ 階 Taylor Expansion
從上述分析,讀者不難發現若函數 $f(x)$ 的 $n$ 階導數存在,則 $n$ 階 Taylor Expansion 可表為下式
\[f(x) \approx f\left( 0 \right) + f'\left( 0 \right)x + \frac{{f''\left( 0 \right)}}{{2!}}{x^2} + \frac{{f'''\left( 0 \right)}}{{3!}}{x^3} + ... + \frac{{{f^{\left( n \right)}}\left( 0 \right)}}{{n!}}{x^n}\]
Example 1:
考慮 $f(x) := e^x$, 試求 其 $3$ 階 Taylor 展開式。
Solution
$e^x$ 為平滑函數,任意階導數存在 且任意階導數相等,故前面三階導數
$$f(x) = f'(x) = f''(x) = f'''(x) = e^x
$$ 現在帶入 $x=0$ 可得 $f(0) = f'(0) = f''(0) = f'''(0) = 1$ 故其 $3$ 階 Taylor 展開式 為
\[\begin{array}{l}
f(x) \approx f\left( 0 \right) + f'\left( 0 \right)x + \frac{{f''\left( 0 \right)}}{{2!}}{x^2} + \frac{{f''\left( 0 \right)}}{{3!}}{x^3}\\
\Rightarrow {e^x} \approx 1 + 1x + \frac{1}{{2!}}{x^2} + \frac{1}{{3!}}{x^3}
\end{array}\]亦即 我們用 $3$ 階多項式來 "近似" $e^x$。$\square$
Taylor Expansion 的誤差
那麼有了 Taylor 展開 近似 原函數之後,我們必然會想問 此展開 與 原函數差多少? 比如說考慮將 $f(x)$ 做 $n$ 階 Taylor 展開,則我們可寫
\[f(x) \approx f\left( 0 \right) + f'\left( 0 \right)x + \frac{{f''\left( 0 \right)}}{{2!}}{x^2} + \frac{{f'''\left( 0 \right)}}{{3!}}{x^3} + ... + \frac{{{f^{\left( n \right)}}\left( 0 \right)}}{{n!}}{x^n}\]現在我們引入 $n$ 階誤差項 稱作 $R_n(x) $, 則
\[\begin{array}{l}
f(x) \approx f\left( 0 \right) + f'\left( 0 \right)x + \frac{{f''\left( 0 \right)}}{{2!}}{x^2} + ... + \frac{{{f^{\left( n \right)}}\left( 0 \right)}}{{n!}}{x^n}\\
\Rightarrow f(x) = f\left( 0 \right) + f'\left( 0 \right)x + \frac{{f''\left( 0 \right)}}{{2!}}{x^2} + ... + \frac{{{f^{\left( n \right)}}\left( 0 \right)}}{{n!}}{x^n} + {R_n}\left( x \right)
\end{array}\]那麼誤差項 $R_n(x)$ 該如何估計? 我們可透過以下定理回答此問題
===============
Theorem: Taylor Theorem
考慮 $x \in [a,b]$ 且 $(0 \in [a,b])$,且 對函數 $f(x)$ 的 $n$ 階泰勒展開為
\[f(x) = f\left( 0 \right) + f'\left( 0 \right)x + \frac{{f''\left( 0 \right)}}{{2!}}{x^2} + ... + \frac{{{f^{\left( n \right)}}\left( 0 \right)}}{{n!}}{x^n} + {R_n}\left( x \right)\] 則存在某點 $c \in [a,b]$ 使得誤差項 \[
R_n(x) = \frac{f^{(n+1)}(c)}{(n+1)!} x^{(n+1)}
\]===============
Proof: omitted.
FACT: 由上述定理可知,誤差項有上界
\[FACT: 由上述定理可知,誤差項有上界
|R_n(x)| \le \frac{M |x|^{n+1}}{(n+1)!}
\]其中 $M:= \max\{|f^{(n+1)}(c)|\}, \forall c\in [a,b]$
Example
利用 $e^x$ 的三階泰勒展開 求 $e^{1/2}$ 的近似值 並估計誤差。
Solution
利用前例可知 $e^x$ 的三階泰勒展開 為
\[{{e^x} \approx 1 + 1x + \frac{1}{{2!}}{x^2} + \frac{1}{{3!}}{x^3}}\]我們可帶入 $x=1/2$ 即可求得所需的泰勒多項式
\[1 + 1\left( {\frac{1}{2}} \right) + \frac{1}{{2!}}{\left( {\frac{1}{2}} \right)^2} + \frac{1}{{3!}}{\left( {\frac{1}{2}} \right)^3}\] 此時泰勒多項式 與 $e^{1/2}$ 之間的 誤差項估計如下
\[\begin{array}{l}
|{R_n}(x)| \le \frac{{M|x{|^{n + 1}}}}{{(n + 1)!}}\\
\Rightarrow |{R_3}(x)| \le \frac{{M|x{|^4}}}{{(4)!}}
\end{array}\]其中 $M:= \max\{|f^{(n+1)}(c)\}, \forall c\in [a,b]$ ,由於我們關心的是 $e^{1/2}$ 的近似值 與其誤差,故若取 $a=0, b=1/2$ 則 \[M: = \max \{ |{e^c}|\} ,\forall c \in [0,1/2] \Rightarrow M = {e^{1/2}}\] 將此 $M$ 帶回我們的誤差項可得
\[|{R_3}(x)| \le \frac{{{e^{1/2}}|1/2{|^4}}}{{(4)!}}\]注意到 上式需要 計算 $e^{1/2}$ 但我們正需要估計此數值,故需要再度放寬上界
\[|{R_3}(x)| \le \frac{{{e^{1/2}}|1/2{|^4}}}{{(4)!}} \le \frac{{\overbrace {{e^1}}^{ \approx 2.72}|1/2{|^4}}}{{(4)!}} \le \frac{{3 \cdot |1/2{|^4}}}{{(4)!}} \approx 0.008\]
Example
令 $x \in [-1,1]$,試求對 $e^x$ 而言,需要幾階 泰勒多項式 才可使其與原函數 $e^x$ 誤差小於 $0.005 ?$
Solution
回憶誤差項有上界為
\[|{R_n}(x)| \le \frac{M}{{\left( {n + 1} \right)!}}|x{|^{n + 1}}\]其中 $M:= \max\{|e^c|\}, \forall c\in [-1,1]$ 故 $M= e^1$ 亦即,
\[|{R_n}(x)| \le \frac{{{e^1}}}{{\left( {n + 1} \right)!}}|1{|^{n + 1}} = \frac{e}{{\left( {n + 1} \right)!}} \le \frac{3}{{\left( {n + 1} \right)!}}\]現在我們需要 其 小於 $0.005$ 故若取 $n=5$ 則
\[\frac{3}{{\left( {n + 1} \right)!}} \approx 0.004 \le 0.005\]
Taylor Series
那麼如果考慮如果函數 $f(x)$ 的 無窮 階導數存在 (亦即此函數為 平滑(smooth) 函數) 則我們可將在原點展開的 Taylor Expansion 寫成 無窮級數的形式 (若此級數收斂),我們稱之為 Taylor Series :
\[\begin{array}{l}
f(x) = f\left( 0 \right) + f'\left( 0 \right)x + \frac{{f''\left( 0 \right)}}{{2!}}{x^2} + ... + \frac{{{f^{\left( n \right)}}\left( 0 \right)}}{{n!}}{x^2} + ...\\
\Rightarrow f(x) =\sum\limits_{k = 0}^\infty {\frac{{{f^{\left( k \right)}}\left( 0 \right)}}{{k!}}{x^k}}
\end{array}
\] Comment:
若函數為平滑函數 (e.g., $e^x, \sin (x), \cos (x),...$),且 Taylor Series 收斂,則 Taylor Series 收斂到原函數,不再是近似 (在此證明省略)
Example 2:
考慮 $f(x) := e^x$, 試求 其 Taylor Series。
Solution
$e^x$ 為平滑函數,任意階導數存在 且任意階導數相等;我們可將此 $e^x$ 用 Taylor Series 故對若取 $n \in \mathbb{N}$, $f^{(n)}(x) = e^x$,且在 $x=0$ 處 可得 $f^{(n)}(0)= 1$ 故其 Taylor Series 為
\[{f(x) = \sum\limits_{k = 0}^\infty {\frac{{{f^{\left( k \right)}}\left( 0 \right)}}{{k!}}{x^k} \Rightarrow {e^x} = \sum\limits_{k = 0}^\infty {\frac{1}{{k!}}{x^k}} } }\] (讀者可自行證明此Taylor Series 收斂,故等號確實成立。 )
Exercise:
(a) 試求 $f(x) = \sin (x)$ 的 Taylor Series。 ANS: $\sin \left( x \right) = \sum\limits_{k = 0}^\infty {{{\left( { - 1} \right)}^k}\frac{{{x^{2k + 1}}}}{{\left( {2k + 1} \right)!}}} $
(b) 試求 $f(x) = \cos(x)$ 的 Taylor Series。 ANS: $\cos \left( x \right) = \sum\limits_{k = 0}^\infty {{{\left( { - 1} \right)}^k}\frac{{{x^{2k}}}}{{\left( {2k} \right)!}}} $
(c) 令 $|x| <1$,試求 $f(x) = 1/(1-x)$ 的 Taylor Series。 ANS: $\frac{1}{{1 - x}} = \sum\limits_{k = 0}^\infty {{x^k}} $
感謝指導~
回覆刪除