§28-7  泰勒定理

均值定理只用到一階導數,就把兩端的值差講完了。如果願意用到更高階的導數,能不能把函數在一點附近用多項式逼得更準——而多出來的那個誤差,寫不寫得出確定的形狀?

用多項式逼近,誤差寫得出來

導航說「再 3 分鐘抵達」。它是怎麼算的?最省事的算法是拿現在的車速去除剩下的距離——整個估計只用到「此刻跑多快」這一件事。可是前面那一段正在塞車,車速一路往下掉;把「速度正在變慢」也算進去,估出來的時間就會準一點。再進一步,連「變慢的幅度本身也在變」都算進去,又更準一點。

每多用一層資訊,預測就多貼一點。麻煩的是下一個問題:多貼多少?如果只答得出「會比較準」,那它就不是一個拿得來用的答案。真正有用的是知道差距最多有多大——差 10 秒還是差 3 分鐘,決定了要不要現在打電話說會遲到。本篇要做的就是把這件事寫成一條定理:用一個多項式去貼一個函數,貼完之後剩下的那一截誤差,形狀是寫得出來的。

「多用一層資訊」在數學上是什麼意思,得先講清楚。導數量的是函數的變化率,而「變化率本身怎麼變」就是對導數再求一次導數。這個動作要能一直做下去,得先確認每一次都做得成——所以先把它定義好。

DEFINITION
If f has a derivative at every point of a set D, this yields a new function f′. Should f′ itself have a derivative at c, that number is called the second derivative of f at c, written f″(c).
Proceeding one order at a time defines the third, fourth, … derivatives, the n-th being written f⁽ⁿ⁾(c), with the convention f⁽⁰⁾ = f.
請留意這個定義是一階一階疊上去的,而每疊一階都預付了一筆代價:要對 f′ 求導,f′ 得先是一個真正的函數,也就是在 c 的一整個鄰域上都有值可查——只在 c 這一點問得出導數是不夠的,差商需要 c 旁邊的值。所以「f 有 n 階導數」比字面聽起來更強:它連帶要求前 n − 1 階都是處處有定義的函數,而不只是幾個孤立的數值。由 §27-1 的 27.2(在某一點有導數的函數必定在那一點連續),f⁽ⁿ⁾(c) 存在就蘊涵 f⁽ⁿ⁻¹⁾ 在 c 連續;可是 27.2 只往回推一階,再前面那幾階的連續它管不到,得另外由定義域上的存在性供應。下面那條定理的前提之所以寫得那麼細,原因就在這裡。
正例:f(x) = x³ 於 ℝ。每一點都有導數 3x²(§28-1 例 1 的遞推給出 (xⁿ)′ = n·xⁿ⁻¹),這個新函數在每一點又有導數 6x,再一次得到常數 6,之後每一階都是零——f 在每一點有任意階的導數。反例:g(x) = x·|x| 於 ℝ。它處處可微而且 g′(x) = 2|x|:x > 0 附近 g 就是 x²、x < 0 附近就是 −x²,而在 0 這一點差商是 |x|,隨 x 一起趨近零,於是 g′(0) = 0。可是 g′ 在 0 沒有導數——它的差商是 2|x|/x,右邊恆為 2、左邊恆為 −2(§27-1 例 3 走過同一條差商)。一階有,二階就沒了,可見高階導數的存在不是一句順理成章的話。
f f′ f″ 整段 整段 一點 整段都有才能再求導 同一個動作再做一次 最後一階只需要單點

這張圖在說高階導數的定義為什麼是一階一階疊的:上面兩條實線代表 f 與 f′ 在整段上都有值,這是往下再求一次導數的前提;最下面那條畫成虛線,因為最後一階只需要在單獨一點上問得出來。每往下走一格,上面那一格就必須是一個處處有定義的函數,不能只是幾個孤立的數值。

有了高階導數,「用多項式貼一個函數」才有明確的意思:在 α 這一點,把多項式的值、一階變化率、二階變化率⋯⋯逐階與 f 對齊,能對齊到第幾階,就看 f 在那裡有幾階導數。對齊之後兩者離開 α 仍然會分開,而分開多少正是下面這條定理要交代的事。

28.6  TAYLOR'S THEOREM
Let n ∈ ℕ, let f together with its derivatives f′, …, f⁽ⁿ⁻¹⁾ be defined and continuous on J = [a, b], and let f⁽ⁿ⁾ exist throughout (a, b). Given two distinct points α and β of J, some γ lying strictly between α and β satisfies
  f(β) = Σ_{k=0}^{n−1} f⁽ᵏ⁾(α)(β − α)ᵏ/k!
  + f⁽ⁿ⁾(γ)(β − α)ⁿ/n!.
等式右邊分成兩截。前一截是一個 n − 1 次的多項式,它的每個係數都只用到 f 在 α 這一點的資訊;後一截叫做餘項,形狀完全確定,唯一不知道的只有 γ 的位置。n = 1 時整條退回均值定理:多項式那一截只剩 f(α) 一項,餘項是 f′(γ)(β − α),等式成為 f(β) − f(α) = f′(γ)(β − α),正是 §27-3 的 27.6 均值定理(兩端的值差等於中間某一點的導數乘上跨距)。所以這是均值定理的逐階加強版:多對齊一階,就多換到一個次數更高的多項式,代價是餘項裡的導數也升一階。至於 α 與 β 必須相異,那不是可有可無的裝飾——兩點重合時「嚴格落在之間」根本沒有東西可挑,而且結論本身也退化成一句廢話:兩邊同時是 f(α),等式什麼都沒買到。
正例:f(x) = x³ 於 J = [0, 1],取 n = 2、α = 0、β = 1。多項式那一截只到 k = 1:f(0) + f′(0)(1 − 0) = 0 + 0 = 0。餘項是 f″(γ)·1²/2 = 6γ/2 = 3γ。等式要求 1 = 0 + 3γ,於是 γ = ⅓——它確實嚴格落在 0 與 1 之間,定理說對了。反例:把 β 也取成 0。這時「嚴格落在 0 與 0 之間」的 γ 一個也不存在,結論無從成立;而等式退化成 f(0) = f(0),就算硬讓它成立也沒有任何內容。前提裡「兩個相異的點」擋掉的正是這一格。
f 多項式 餘項 這裡逐階對齊 αβ

這張圖在說 28.6 承諾的是什麼:藍線是那個 n − 1 次多項式,它在 α 與黑線緊緊貼在一起——不只值相同,前 n − 1 階的變化率也都相同。往右走兩者慢慢分開,而定理說 β 處那一小段紅色的落差,恰好等於 f⁽ⁿ⁾ 在中間某一點的值乘上 (β − α)ⁿ/n!。圖上看不出那一點在哪裡,它要等證明造出來。

PROOF

手上的工具有兩件。§27-3 的 27.5 Rolle 定理(閉區間上連續、開區間內可微、兩端的值都是零,則中間至少有一點的導數為零)是唯一能無中生有地交出一個點的工具;§28-1 的求導四則(和、差、積、商的求導規則,其中乘積那一條是 (fg)′ = f′g + fg′)負責把一長串乘積逐項拆開。缺的那一格有兩個:Rolle 只吃兩端為零的函數,而 f 在 α 與 β 的值一般既不為零也不相等;而且我們要的結論不是「某處導數為零」,是一個含著 f⁽ⁿ⁾(γ) 的等式。(記號約定:以下把 α 與 β 為兩端的那個閉區間寫成 I。兩點都落在 J 裡而且相異,所以 I ⊆ J 而且 I 不是單點;I 的內部整個落在 (a, b) 之內,這正是前提只要求 f⁽ⁿ⁾ 在開區間上存在仍然夠用的原因。)

證明計畫 · 由所求想起
所求是一個等式:把 f(β) 寫成一串多項式加上一塊餘項,而餘項裡那個未知的導數值,要落在兩點之間的某一處。
第一步:先不管餘項長什麼樣,把它的係數當成一個未知數直接解出來——這樣等式當場成立,代價是還不知道那個未知數是誰。
第二步:造一個輔助函數,做法是把等式裡的展開基點從 α 換成一個會滑動的變數。
第三步:驗這個輔助函數在兩個端點的值都是零——一端由造法自動成立,另一端正好就是第一步那個未知數的定義。
第四步:Rolle 定理交出中間一點,輔助函數在那裡的導數是零。
第五步:把輔助函數逐項求導,每一項用乘積律拆成兩塊,相鄰兩項的塊互相抵銷,整串只剩一塊。
第六步:把剩下的那一塊代回去,未知數的身分就認出來了。

Proof.  Since α ≠ β, the number (β − α)ⁿ is not zero, so a unique real number P is determined by the requirement
  f(β) = Σₖ₌₀ⁿ⁻¹ f⁽ᵏ⁾(α)(β − α)ᵏ/k! + P(β − α)ⁿ/n!.
At this stage P is merely a number solved for; the equation holds by construction.
這一步的所求:一個能讓等式當場成立的數,之後再回頭認出它是誰。做法是把餘項的係數當成未知數反解——等式裡除了它以外全部都是已知的:f(β) 是一個數,多項式那一串由 f 在 α 的前 n 個資訊(值與前 n − 1 階導數)算得出來,(β − α)ⁿ/n! 也是一個數。把已知的全部搬到一邊,再除以 (β − α)ⁿ/n!,P 就唯一地定出來了。這是全篇第一處用到 α ≠ β 的地方:兩點相異才使 (β − α)ⁿ 不是零,這個除法才做得下去;兩點重合的話這一步當場失敗。緊接著用一組具體數字算一次。取 f(x) = x³、α = 0、β = 1、n = 2:f(0) = 0,而 f′(x) = 3x² 給出 f′(0) = 0,所以多項式那一串是 0 + 0·1 = 0;另一邊 f(β) = 1。於是要求變成
  1 = 0 + P·1²/2,
解得 P = 2。請注意此刻 P 只是一個解出來的數字,它跟 f″ 有沒有關係還完全看不出來——那要等最後一步才知道。下圖把這個分解畫出來。
f(β) 已知的多項式 剩下這塊 P(β − α)ⁿ/n! 相減再除 除得下去,因為兩點相異

這張圖在證明的第一步在做什麼:整條長條是 f(β) 這一個數,藍色那一段是多項式算得出來的部分,紅色那一小段就是差額。把差額除以 (β − α)ⁿ/n! 得到的商就是 P——所以 P 是被定義出來的,不是猜出來的。圖上只用到「兩點相異」這一個前提,因為那個除數不能是零。

Let I be the closed interval with endpoints α and β, and define φ on I by
  φ(x) = f(β) − Σₖ₌₀ⁿ⁻¹ f⁽ᵏ⁾(x)(β − x)ᵏ/k!
  − P(β − x)ⁿ/n!.
Each f⁽ᵏ⁾ with k ≤ n − 1 is continuous on J, and each such f⁽ᵏ⁾ has a derivative throughout (a, b). Hence φ is continuous on I and differentiable at every interior point of I.
這一步的所求:一個兩端都取零、而且導數算得出來的函數,好把 Rolle 送進來。造法只有一個動作——把上一步那個等式裡的展開基點 α 換成一個會在兩端之間滑動的變數 x,再把等式整理成「左邊減右邊」。基點一旦可以動,整串就從一個數變成一個函數,而 x 恰好回到 α 時它就退回上一步那個成立的等式。前提的形狀在這裡兌現:φ 裡出現的是 f, f′, …, f⁽ⁿ⁻¹⁾,它們依前提在整個 J 上連續,所以 φ 在含著兩個端點的 I 上連續;而要對 φ 求導,得讓 f⁽ᵏ⁾ 在 k ≤ n − 1 時都有導數,前 n − 2 階的導數就是下一階本身(依前提在 J 上有定義),而 f⁽ⁿ⁻¹⁾ 的導數 f⁽ⁿ⁾ 只在 (a, b) 內被保證存在——這就是為什麼可微只敢要求在 I 的內部,而 I 的內部確實躲在 (a, b) 裡(setup 已核對過)。接著把數字接下去算:f(x) = x³、β = 1、n = 2、P = 2 時
  φ(x) = 1 − [x³ + 3x²(1 − x)] − 2(1 − x)²/2
  = 2x³ − 4x² + 2x。
拿 x = ½ 驗一下:2·⅛ − 4·¼ + 1 = ¼,是一個實實在在的數。下圖畫的就是「基點從固定變成滑動」這個動作。
原來的等式,基點固定 α β 輔助函數,基點換成會動的點 x α β 滑到左端就退回原來的等式

這張圖在證明的第二步造出 φ:上面那條線代表第一步那個固定基點的等式,下面那條把基點換成一個可以左右滑動的紅點。換掉基點之後,「一個成立的等式」就變成「一個定義在整段上的函數」,而 Rolle 定理要吃的正是函數,不是等式。紅點滑回左端時 φ 的值退回零,這一格下一步就要用到。

Putting x = β kills every term carrying a positive power of β − x, so φ(β) = f(β) − f(β) = 0. Putting x = α reproduces the relation that defined P, whence φ(α) = 0 as well.
這一步的所求:Rolle 定理的第三個前提——兩端的值都是零。兩端要分開驗,理由完全不同。右端靠算:x = β 時每個帶著 (β − x) 正次方的項都變成零,整串只剩 k = 0 那一項,也就是 f(x) 本身(依約定 f⁽⁰⁾ = f,而它的係數 (β − x)⁰/0! 就是常數 1),它在 x = β 的值是 f(β);於是 φ(β) = f(β) − f(β) = 0。左端靠定義:x = α 時整串正好還原成第一步那個等式的右邊,而那個等式當初就是拿來定 P 的——所以 φ(α) 是 f(β) 減去 f(β),也是零。這兩個零的來歷不對稱,值得記一下:一個是代入之後自動塌掉,一個是我們花了第一步刻意安排的。數字對照:φ(x) = 2x³ − 4x² + 2x 在 x = 0 得零,在 x = 1 得 2 − 4 + 2 = 0,兩端確實都落在零上。
φ αβ 刻意安排 自動塌掉 φ(α) = φ(β) = 0

這張圖在說第三步把畫面變成什麼:輔助函數的兩個端點同時被壓到高度零上。左端的零是第一步用 P 的定義換來的,右端的零是代入之後自己塌掉的——來歷不同,效果一樣。到這裡 Rolle 定理要的三格(連續、內部可微、兩端為零)全部到齊。

Because α ≠ β, the interior of I is not empty. Rolle's Theorem 27.5, applied to φ on I, therefore produces a point γ lying strictly between α and β such that φ′(γ) = 0.
這一步的所求:一個導數為零的內部點。27.5 Rolle 定理的前提逐條核對一次。兩端相異:α ≠ β 是定理的前提,它保證 I 的內部真的有點可挑,否則「中間某一點」無處可取。閉區間上連續:上上步已由 f, …, f⁽ⁿ⁻¹⁾ 在 J 上連續推得。內部可微:同一步驗過,靠的是 f⁽ⁿ⁾ 在 (a, b) 內存在。兩端為零:上一步剛剛做完。四格到齊,Rolle 就交出 γ。要留意它只承諾這樣的點存在,位置一般算不出來,也不保證唯一——這也是為什麼最後的結論裡 γ 始終是一個「某一點」。以數字對照下圖:φ(x) = 2x³ − 4x² + 2x 的導數是 6x² − 8x + 2 = 2(3x − 1)(x − 1),在 (0, 1) 內唯一的零點是 x = ⅓,所以這個例子裡 γ = ⅓。
φ′(γ) = 0 αγβ 只保證存在,位置不指定

這張圖在說第四步拿到了什麼:兩端被壓到零之後,Rolle 定理保證中間至少有一處的切線是水平的,那個橫座標就叫 γ。圖上畫了一個這樣的點,可是定理只承諾「至少一個」,曲線多繞幾次就會有好幾個,而它們都符合結論。γ 嚴格落在兩端之間這件事,下一步還要再用一次。

Differentiate φ term by term, using the product rule from the algebra of derivatives on each summand. For k ≥ 1,
  d/dx [f⁽ᵏ⁾(x)(β − x)ᵏ/k!]
  = f⁽ᵏ⁺¹⁾(x)(β − x)ᵏ/k! − f⁽ᵏ⁾(x)(β − x)ᵏ⁻¹/(k − 1)!,
while the term k = 0 contributes f′(x). Consecutive summands cancel in pairs, so the whole sum telescopes and
  φ′(x) = −[f⁽ⁿ⁾(x) − P](β − x)ⁿ⁻¹/(n − 1)!.
這一步的重點只有一件事:一長串的導數其實只剩一項。先看單獨一項怎麼拆。第 k 項是兩個東西相乘——f⁽ᵏ⁾(x) 與 (β − x)ᵏ/k!——所以用 §28-1 的求導四則裡的乘積律 (fg)′ = f′g + fg′:前者求導得 f⁽ᵏ⁺¹⁾(x),後者求導得 −k(β − x)ᵏ⁻¹/k!,而 k/k! = 1/(k − 1)!,負號來自 β − x 對 x 的變化率是 −1。關鍵是比對這兩塊的形狀:第 k 項生出的「加號那一塊」是 f⁽ᵏ⁺¹⁾(x)(β − x)ᵏ/k!,而第 k + 1 項生出的「減號那一塊」一字不差就是同一個式子,兩者相加為零。於是整串像伸縮的望遠鏡一樣一節一節收起來,只剩下最後一項生出的加號塊 f⁽ⁿ⁾(x)(β − x)ⁿ⁻¹/(n − 1)!,而 P 那一項求導得 −P(β − x)ⁿ⁻¹/(n − 1)!;由於 φ 是 f(β) 減去整串,符號整個翻過來,就得到 pline 那一行。拿 n = 3 實際展開一次,三項一塊也不省:
  f(x) → f′(x)
  f′(x)(β − x) → f″(x)(β − x) − f′(x)
  f″(x)(β − x)²/2 → f‴(x)(β − x)²/2 − f″(x)(β − x)
  P(β − x)³/6 → −P(β − x)²/2
把四行加起來:f′(x) 與 −f′(x) 相消、f″(x)(β − x) 與 −f″(x)(β − x) 相消,只剩 [f‴(x) − P](β − x)²/2,前面補上 φ 的負號恰好就是公式在 n = 3 的樣子。回到前面那組數字驗收:n = 2、P = 2、f(x) = x³ 時公式給 −(6x − 2)(1 − x) = 6x² − 8x + 2,而 φ(x) = 2x³ − 4x² + 2x 直接求導也是 6x² − 8x + 2,兩邊對上。
n = 3 逐項求導的四列結果 第 0 項第 1 項 第 2 項P 項 f′ f″(β − x) f‴(β − x)²/2 − f′ − f″(β − x) − P(β − x)²/2 相消之後只剩紅色的兩塊 它們的差就是導數的全部

這張圖在證第五步為什麼一長串會塌成一項:左欄是每一項求導生出的加號塊,右欄是減號塊。斜的虛線把上一列的加號塊與下一列的減號塊連起來,每一對都一字不差,相加為零——這就是伸縮和的相消。走完之後只剩兩塊紅色的:最後一項的加號塊,以及 P 那一項的減號塊,而它們差在 f‴(x) 與 P 這一格上。

Since γ lies strictly between α and β, we have γ ≠ β and hence (β − γ)ⁿ⁻¹ ≠ 0. Because φ′(γ) = 0, the displayed formula forces f⁽ⁿ⁾(γ) − P = 0, that is, P = f⁽ⁿ⁾(γ). Substituting this value of P into the relation of the first step gives the asserted equation.
這一步的所求:把第一步那個「只是解出來的數字」認出真實身分。上一步得到的等式在 x = γ 讀成 0 = −[f⁽ⁿ⁾(γ) − P](β − γ)ⁿ⁻¹/(n − 1)!。三個因子相乘為零,而後兩個都不是零:1/(n − 1)! 顯然不是零;(β − γ)ⁿ⁻¹ 不是零,是因為 γ 嚴格落在兩端之間所以碰不到 β——這是全篇第二處吃到 α ≠ β 的地方,兩點相異才有「嚴格之間」可言,也才輪得到這個除法。於是只能是 f⁽ⁿ⁾(γ) − P = 0,也就是 P = f⁽ⁿ⁾(γ)。把它代回第一步那個等式,右邊最後一項 P(β − α)ⁿ/n! 就變成 f⁽ⁿ⁾(γ)(β − α)ⁿ/n!,正是要證的形狀。(n = 1 時 (β − γ)⁰ 是常數 1,這個除法一樣做得下去,整條結論退回均值定理。)數字收尾:前面那個例子裡 γ = ⅓,而 f″(x) = 6x 給出 f″(⅓) = 2,與第一步解出來的 P = 2 一模一樣——那個當時身分不明的數字,果然是二階導數在中間某一點的值。
把 f 在 α 的前 n − 1 階資訊全部對齊之後,剩下的誤差恰好是 f⁽ⁿ⁾ 在兩點之間某一處的值乘上 (β − α)ⁿ/n!。∎
餘項不只一種寫法。上面那個 f⁽ⁿ⁾(γ)(β − α)ⁿ/n! 叫做 Lagrange 形式。另有一種 Cauchy 形式:存在 0 < θ < 1 使餘項等於
  (1 − θ)ⁿ⁻¹ f⁽ⁿ⁾(α + θ(β − α))(β − α)ⁿ/(n − 1)!。
推法與上面同一條路,只要在第一步把未知項寫成 (β − α)Q/(n − 1)!,並讓輔助函數的最後一項跟著換成 (β − x)Q/(n − 1)!,其餘完全照走。兩種形狀各有各的好用之處:Lagrange 形式的分母增長得快,估起來乾脆;Cauchy 形式多留了一個 (1 − θ)ⁿ⁻¹ 因子,在某些收斂性的討論裡反而更管用。備齊積分的工具之後還有第三種寫法,那要留到後面的章節。

證明到此結束,剩下的是把它拿去用。這中間可以停一下:把視線從螢幕移開,看看窗外最遠的那棟樓,讓眼睛換個焦距,再回來看例 1。

例 1用二階展開估 √1.2,並把誤差夾出來
28.6 說餘項的形狀是寫得出來的。那麼實際算一個數的時候,這個形狀到底換得到多少精度?
  1. 取 f(x) = √x、J = [1, 1.2]、α = 1、β = 1.2、n = 2。先核前提。由 §28-2 的有理冪定理(x > 0 與有理數 r 時 (xʳ)′ = r·xʳ⁻¹),x > 0 時
    f′(x) = ½·x^(−1/2) = 1/(2√x),
    再求一次得 f″(x) = −¼·x^(−3/2)。f 與 f′ 在 J 上都有定義且連續(J 離零很遠,分母不會塌掉),f″ 在內部存在——n = 2 的前提到齊。
  2. 多項式那一截(k = 0 與 k = 1):
    f(1) + f′(1)(β − α) = 1 + ½ · 0.2 = 1.1。
    這一截完全不需要知道 √1.2 是多少,只用到 √1。
  3. 餘項那一截:f″(γ)(0.2)²/2,其中 γ 落在 1 與 1.2 之間。代進 f″ 的式子得
    −0.04/(8·γ^(3/2)) = −0.005/γ^(3/2)。
    它是負的,所以 √1.2 一定小於 1.1——這件事光看多項式那一截是看不出來的。
  4. 把 γ 夾住,餘項就跟著被夾住。下界那一側:γ > 1 使 γ^(3/2) > 1,於是餘項的絕對值小於 0.005,餘項大於 −0.005。上界那一側要的是 γ^(3/2) 的上界,所以先隨手取一個粗估:1.1² = 1.21 > 1.2 給出 √1.2 < 1.1,於是
      1.2^(3/2) = 1.2 · √1.2 < 1.2 × 1.1 = 1.32。
    由 γ < 1.2 得 γ^(3/2) < 1.32,於是餘項小於 −0.005/1.32 = −0.00378⋯。方向要看準:分母越大、餘項的絕對值越小,所以這裡需要的是分母的上界,拿下界代進去會得到一個推導不出來的結論。
  5. 兩側合起來:1.1 − 0.005 < √1.2 < 1.1 − 0.00378,也就是
    1.0950 < √1.2 < 1.0963。
    實際值是 1.095445⋯,確實落在裡面。
  6. 拿一階的做法對照。§28-3 的 28.2(用均值定理估數值並同時交出誤差界)給 √1.2 − 1 = 0.1/√c,c 在 1 與 1.2 之間。由 1.1² = 1.21 > 1.2 得 1 < √c < 1.1,於是 0.0909⋯ < √1.2 − 1 < 0.1,也就是 1.0909 < √1.2 < 1.1000。
  7. 比一下寬度:一階那組約 0.0091,二階這組約 0.0012,窄了將近一個數量級。多花的力氣只是多算一次導數。
餘項不是一個「不知道多大」的東西,它的形狀是寫得出來的:f⁽ⁿ⁾(γ)(β − α)ⁿ/n!。唯一不知道的只有 γ 的位置,而只要把 f⁽ⁿ⁾ 在那一段上框住,誤差就跟著被框住。這就是 28.6 的實用價值:跨距小於 1 時,(β − α)ⁿ 每升一階就把誤差再壓小一輪,而 n! 在分母上又幫了一把。
1.0909 一階估計,寬 0.0091 1.1000 二階估計,寬 0.0013 1.0950 1.0962 √1.2

這張圖在說例 1 換到了多少精度:上面灰色那一段是只用一階導數框出來的範圍,下面紅色那一小段是多用一階之後的範圍。兩段都框住了真值(數線上那個黑點),可是後者的寬度只有前者的七分之一左右。多用一階導數換到的不是「感覺比較準」,是一個窄了將近一個數量級的具體區間。

—— 第七階段到此結束 ——

本篇把導數一階一階疊起來得到高階導數,再把均值定理逐階加強成 28.6:用 n − 1 次多項式在 α 對齊 f 的前 n − 1 階資訊,剩下的誤差恰好是 f⁽ⁿ⁾ 在中間某一點的值乘上 (β − α)ⁿ/n!。證明的技術核心是那個伸縮和——輔助函數逐項求導時,相鄰兩項生出的塊一字不差地互相抵銷,一長串只剩一塊。例 1 用 √1.2 量出這件事值多少:多算一次導數,估計的區間窄了將近一個數量級。本節到此收工——闔上螢幕站起來,走到窗邊看遠一點的東西,肩膀轉兩圈,喝點水再回來。

順帶一則。泰勒定理最誠實的地方是它從不假裝知道 γ 在哪裡,只保證那一點存在——這大概是數學裡講得最理直氣壯的一句「我不知道」。

下一幕預告

回頭看整節,做的事其實只有兩件。前半把求導從定義裡解放出來:四則、鏈鎖律、反函數、有理冪,備齊之後幾乎所有初等的式子都能直接寫出導數,不必再回頭數 ε 與 δ。後半把均值定理反覆拿去換東西——換出根的位置、換出帶誤差界的數值估計、換出從自然數指數推廣到有理指數的不等式、換出逐項求導的充分條件,最後換出本篇這條用多項式逼近的定理。換來換去用的都是同一句話:兩端的資訊,可以由中間某一點的導數一次講完。

下一節換一個方向走。到目前為止量的都是「變化」——某一點變得多快、兩端差了多少。接下來要量的是累積:一個函數在一整段區間上總共累積了多少,而且這句話要能被嚴格地定義,不能只靠「把圖形下面的面積加起來」這種畫面上的說法。做法是把區間切成很多小段、在每一小段上取一個代表值乘上該段的權重,再讓切法越來越細,看看這些和會不會逼近同一個數。

真正有意思的是那個「權重」。最自然的選擇是每一小段的長度,可是它不必是長度——權重可以由另一個函數來指定,讓某些區段算得重、某些區段算得輕,甚至讓某一個點單獨佔一份份量。同一套定義因此一口氣涵蓋了兩種看起來很不一樣的東西:連續地累積,以及一格一格地相加。下一節要做的就是把這個定義寫清楚,並問它在什麼條件下真的存在。

另外記一筆本節留下的帳。正弦與餘弦在本節出場過兩次,可是每一次用的都只是它們的性質——互為導數、絕對值不超過 1、在 π 的整數倍上取到的值——而那些性質本身在這裡都是先借來用的。要把這兩個函數從頭嚴格地建立起來,得等到級數的工具備齊;到那時它們會以定義的身分重新登場,而本節借過的每一條性質都要補上證明。