§28-6  逐項求導

一列可微的函數收斂到某個函數時,極限函數還可微嗎?如果連收斂都是均勻的呢?而如果換成要求導數列均勻收斂,結論會不會反過來變得很強——強到函數列本身只要有一個點收斂就夠?

一列函數逐項求導,答案還對嗎

用鉛筆把一條彎曲的山路描下來。第一次描得粗,第二次修一修,第三次再修——描出來的線一次比一次貼著真正的路,貼到最後肉眼分不出兩者。可是換一個問題問:沿著描出來的線開,每一刻的方向盤角度也跟著越來越接近嗎?不見得。在真正的路旁邊加上一串很細的鋸齒,位置幾乎沒有挪動,方向卻一直在左右之間甩。

位置很接近、斜率可以差很遠,這件事在 §24-1 的 24.1 那裡已經露過一次臉:均勻收斂管得住連續,可是它管的是函數值那一欄。要是想讓極限函數的導數也等於各項導數的極限,光靠函數值靠得近顯然不夠。

那就把要求換一邊:不控制函數值,改控制斜率。如果一列函數的導數在整段區間上一致地互相靠近,函數本身會被逼成什麼樣子?答案比預期強——只要再挑一個點把高度對齊,函數列自己的均勻收斂都是附送的。

先把三件工具擺到手邊。其一,§17-2 的 17.4 的均勻收斂:起算編號只看 ε、不看 x。其二,§17-3 的 17.9 把它換算成一個數——‖fₙ − f‖_J 是兩個函數在 J 上差距的 sup,均勻收斂就是這個數趨向 0。其三,§27-3 的 27.6 均值定理:連續且內部可微的函數,兩端的值差等於某一點的導數乘上區間長度。本篇的全部力氣都花在第三件上,而且要用兩次。
28.5  THEOREM
Let (fₙ) be real-valued functions on a bounded interval J of ℝ, each differentiable on J. Assume that (fₙ(x₀)) converges for at least one x₀ ∈ J and that (fₙ′) converges uniformly on J to some g. Then (fₙ) itself converges uniformly on J to a function f, this f is differentiable at every point of J, and f′ = g.
前提的形狀值得多看一眼:對函數列本身只要求一個點收斂,吃重的均勻收斂假設整個落在導數列上。這個不對稱是有道理的——均值定理把兩個函數在整段區間上的差距,換算成它們導數之差乘上區間長度,所以導數列一旦被壓住,函數列的差距就只剩一個常數的自由度,而那個常數由 x₀ 那一點釘死。反過來完全不行:把均勻收斂加在函數列身上保不住可微。
正例:fₙ(x) = x²/n + x 於 [0, 1]。導數是 fₙ′(x) = 2x/n + 1,與常數函數 1 的差距 sup 為 2/n → 0,均勻收斂;而 fₙ(0) = 0 收斂。定理於是斷定 (fₙ) 均勻收斂、極限可微且導數恆為 1——直接算也看得到極限是 f(x) = x。反例:假設不能挪到函數列身上——例 1 的 fₙ(x) = √(x² + 1/n) 在 [−1, 1] 上均勻收斂、每一項都可微,極限 |x| 卻在 0 沒有導數。
「有界區間」不是裝飾:把 J 換成 ℝ 就有現成的反例。取 fₙ(x) = x/n:導數 fₙ′ 恆為 1/n,與零函數的差距 sup 就是 1/n,均勻收斂;fₙ(0) = 0 也收斂。可是 (fₙ) 在 ℝ 上並非均勻收斂(§17-2 例 5:x 取得夠大就把 x/n 拉回任意高)。垮掉的只有「均勻」那一半——逐點極限仍是零函數,仍然可微,導數也仍等於 g。有界這個前提買下的,正是下面證明裡那個放大倍率 b − a。
x₀ 起點對齊 導數處處相近 fₘ fₙ 差距被框住

這張圖在說 28.5 的前提為什麼夠用:兩條曲線的走勢處處相近(導數列均勻收斂),又在 x₀ 這一點對齊高度,於是它們在整段區間上的差距只能由「起點差」加上「斜率差累積起來的量」構成。右端那一小段紅線就是全部的落差——證明要做的事,就是把它算成一個可以壓小的式子。

PROOF  1/2

記 J 的端點為 a < b。(J 只有一個點時它不是自己的 cluster point,沒有任何函數在上面可微,前提無從滿足;所以以下的 J 含不只一個點,於是 b − a > 0,而且 J 的每一點都是 J 的 cluster point,27.1 的導數定義套得上。)這張卡只辦一件事:函數列自己均勻收斂。

證明計畫 · 由所求想起
所求是「任兩個編號的函數在整段區間上的最大差距可以壓小」,因為有了它就有均勻收斂,而且不必先知道極限函數是誰。
把兩個函數的差看成一個函數,對它套均值定理:兩端取 x₀ 與任意的 x。這樣一來,任一點的差就等於 x₀ 那一點的差,加上導數之差在某一點的值乘上兩點的距離。
右邊兩項各有一個假設負責:前者由「x₀ 那一點收斂」壓小,後者由導數列的均勻收斂壓小,而距離最多是整段區間的長度。

Proof.  Let a < b be the endpoints of J, take x ∈ J and natural numbers m, n. The function fₘ − fₙ is differentiable, hence continuous, on J, so applying 27.6 on the interval with endpoints x₀ and x produces a point y between them with
  (fₘ − fₙ)(x) = (fₘ − fₙ)(x₀) + (x − x₀)·(fₘ′ − fₙ′)(y).
這一步的所求:把「兩個編號的函數在任一點 x 差多少」換成一個導數列說得上話的量。做法是把 fₘ − fₙ 整個看成一個函數,對它套 27.6 均值定理(連續且內部可微的函數,兩端的值差等於某一點的導數乘上區間長度),區間的兩端取 x₀ 與 x。差的導數就是導數的差,這由 §28-1 的求導四則給出。換算之後右邊只剩兩個量:x₀ 那一點的差,以及導數之差在某一點 y 的值——兩個假設剛好各認領一項。要留意 y 隨 m、n 與 x 而變,我們永遠不知道它在哪裡,可是下一步只用到「它落在 J 裡」。x 恰好等於 x₀ 時區間退化成一點,等式兩邊都是 (fₘ − fₙ)(x₀),仍然成立。
Since |x − x₀| ≤ b − a holds for every x ∈ J, taking the sup over x gives
  ‖fₘ − fₙ‖_J ≤ |fₘ(x₀) − fₙ(x₀)| + (b − a)·‖fₘ′ − fₙ′‖_J.
Let ε > 0. The convergent sequence (fₙ(x₀)) is a Cauchy sequence, so its terms differ by less than ε/2 once the indices are large; and because (fₙ′) converges uniformly, ‖fₘ′ − fₙ′‖_J falls below ε/(2(b − a)) once they are large. Hence ‖fₘ − fₙ‖_J < ε for all large m, n, and 17.11 supplies a function f to which (fₙ) converges uniformly on J.
這一步的所求:一個對整段區間一次講完的上界。那個 (b − a) 是全證明唯一用到「區間有界」的地方:|x − x₀| 最多就是整段區間的長度,導數之差被這個固定的倍率放大一次,仍然壓得下去;區間無界時這個倍率沒有上限,整條估計就沒有意義。拿數字走一次:J = [−1, 1] 時 b − a = 2,要 ε = 0.1,只要起點的差小於 0.05、導數的最大差距小於 0.025,整段區間上的差就小於 0.1。兩個前提在這裡各出場一次:(fₙ(x₀)) 收斂因而是 Cauchy 數列(§16-4 的 16.7:收斂的數列必為 Cauchy),而 (fₙ′) 均勻收斂使得任兩個編號的導數也互相靠近(‖fₘ′ − fₙ′‖_J ≤ ‖fₘ′ − g‖_J + ‖g − fₙ′‖_J)。最後由 §17-4 的 17.11 Cauchy 判準(兩兩的最大差距壓得小,就有一個函數被這列函數均勻逼近)交出 f——到這裡我們還完全沒有寫出 f 是誰。
導數列一被壓住,函數列自己就均勻收斂了。∎
x₀ y x fₘ − fₙ 斜率相同

這張圖在說證明第一步做了什麼換算:黑線是兩個函數的差,藍線把 x₀ 與 x 兩端連起來,紅線是曲線上某一點 y 的切線。均值定理保證這兩條線的斜率相同,於是「兩端的值差」被改寫成「某一點的導數乘上兩點的距離」——右邊那個形狀,正好是導數列的均勻收斂管得到的。

a b 起點差 導數差 × 區間長度 總差距

這張圖在說第二步的預算怎麼分:把每一點的差看成兩塊相加——左端那一小段紅線是 x₀ 處的差,藍色楔形是導數之差沿著區間累積出來的量,而它張開的幅度最多是「導數的最大差距乘上 b − a」。兩塊都各自壓到 ε/2 以下,右端的總高度就小於 ε。區間無界時楔形沒有右端,這張圖也就畫不出來。

一個技術細節:17.11 是對有界函數的空間講的,而 J 未必含端點,每個 fₙ 也未必有界。要用它,就對「差」下手:先取 N 使 n ≥ N 時 ‖fₙ′ − g‖_J ≤ 1,於是 m, n ≥ N 時 ‖fₘ′ − fₙ′‖_J ≤ 2,上面的估計立刻給出
  ‖fₙ − f_N‖_J ≤ |fₙ(x₀) − f_N(x₀)| + 2(b − a),
右邊是一個實數。所以 n ≥ N 之後的 fₙ − f_N 全都有界,把 17.11 用在這一列上得到它均勻收斂,再把 f_N 加回去即可。前面有限多項不影響均勻收斂——它的定義只管編號夠大之後的事。
PROOF  2/2

固定 J 的一點 c,要證 f 在 c 有導數而且等於 g(c)。依 27.1,要壓小的是「f 在 c 的差商與 g(c) 的距離」。手上比剛才多了一件成果:(fₙ) 已經均勻收斂到 f。

證明計畫 · 由所求想起
所求是把 f 在 c 的差商拉到 g(c) 附近,可是 f 只是一個極限,它的差商算不出來。改走三段接力:f 的差商 → 某一個 fₙ 的差商 → fₙ′(c) → g(c)。
第一段:兩個編號的函數,差商相差多少?再套一次均值定理,區間換成以 c 與 x 為端點,答案被導數列的最大差距壓住;接著讓編號 m 跑到極限,就換成 f 與 fₙ 的差商之差。
第二段:某一個 fₙ 自己在 c 可微,這一段要讓 x 靠近 c 才生效。
第三段:fₙ′(c) 靠近 g(c),這只是那一點上的逐點收斂。
三段來自三個不同的極限過程,所以次序不能亂:編號先選定,最後才讓 x 靠近 c。

Let c ∈ J and let x ∈ J with x ≠ c. Applying 27.6 to fₘ − fₙ on the interval with endpoints c and x yields a point z between them with
  (fₘ − fₙ)(x) − (fₘ − fₙ)(c) = (x − c)·(fₘ′ − fₙ′)(z).
Dividing by x − c we obtain
  |(fₘ(x) − fₘ(c))/(x − c) − (fₙ(x) − fₙ(c))/(x − c)|
  ≤ ‖fₘ′ − fₙ′‖_J ≤ ε  whenever m, n ≥ M(ε).
這一步的所求:兩個編號的函數,它們在 c 的差商相差多少。做法與第一張卡一模一樣,只是區間換成以 c 與 x 為端點——把 fₘ − fₙ 在這一段上套均值定理,兩端的值差等於某一點 z 的導數乘上 x − c,兩邊同除以 x − c 之後,左邊剛好是兩個差商的差,右邊只剩導數之差在 z 的值。除法是合法的,因為我們一開始就限定 x ≠ c。這個界最要緊的性質是它不看 x 在哪裡:z 雖然隨著 x 跑,可是 ‖fₘ′ − fₙ′‖_J 是對整段區間取的 sup,一次蓋住所有可能的 z;M(ε) 因此只跟著 ε 走。
Now keep n, c and x fixed and let m tend to infinity. Because fₘ(x) → f(x) and fₘ(c) → f(c), the quotient on the left converges to the corresponding quotient for f, so Lemma 15.8 turns the bound into
  |(f(x) − f(c))/(x − c) − (fₙ(x) − fₙ(c))/(x − c)| ≤ ε,
which holds for every n ≥ M(ε) and every x ∈ J with x ≠ c.
這一步的所求:把上一行裡的 fₘ 換成真正的 f。跑動的那一列是 fₘ 的差商(m = 1, 2, ⋯),它收斂到 f 的差商,因為分子的兩項各自收斂而分母是固定的數。§15-4 的 15.8(收斂數列的非嚴格不等式過得了極限:每一項與某個中心的距離不超過 r,極限與該中心的距離也不超過 r)在這裡把中心取成 fₙ 的差商、半徑取成 ε。嚴格的小於在取極限之後只保得住小於等於,這是 15.8 的內容,也是最後把三段相加時要留餘裕的原因。另外要記住這個界與 x 無關:同一個 ε 對每個 x ≠ c 都成立——下一步要先固定編號再讓 x 動,靠的就是這件事。
Choose N(ε) so that |fₙ′(c) − g(c)| < ε for n ≥ N(ε), and put K = sup{M(ε), N(ε)}. Since f_K has a derivative at c, there is δ > 0 with
  |(f_K(x) − f_K(c))/(x − c) − f_K′(c)| < ε  for x ∈ J, 0 < |x − c| < δ.
Therefore the triangle inequality gives, for those x,
  |(f(x) − f(c))/(x − c) − g(c)| < 3ε.
As ε was arbitrary, f′(c) = g(c), and c was an arbitrary point of J.
這一步把三段接起來,也是全證明唯一需要小心次序的地方。三個誤差來自三個不同的極限過程:第一段來自「編號 m 跑到極限」,第二段來自「x 靠近 c」,第三段來自「編號 n 跑到極限」,混在一起就會用到還沒挑好的東西。所以順序是這樣:先由 ε 定出 M(ε) 與 N(ε),取較大的那個當 K,此後 K 就不動了;再向「f_K 在 c 有導數」這件事要一個 δ,這個 δ 當然跟著 K 走,可是 K 早已固定,沒有循環。三段相加是:f 的差商與 f_K 的差商相差至多 ε(對每個 x ≠ c 都成立),f_K 的差商與 f_K′(c) 相差小於 ε(只在 0 < |x − c| < δ 時成立),f_K′(c) 與 g(c) 相差小於 ε(與 x 無關)。合計小於 3ε;起手把 ε 換成 ε/3 就是 27.1 要的標準形式。
於是 f 在每一點都可微,而且它的導數正是導數列的極限 g。∎
c x fₘ fₙ 斜率差

這張圖在說第三步量的是什麼:兩條線是同兩個函數的割線,都從 c 那一端出發、走到 x。它們的斜率差就是兩個差商的差,而均值定理把這個差換成導數之差在某一點的值,於是被導數列的最大差距一次蓋住。要留意這個上界與 x 停在哪裡無關——圖上把 x 左右滑動,紅線的傾斜幅度都不會超標。

中心:fₙ 的差商 +ε −ε 極限仍在帶內 m = 1, 2, ⋯

這張圖在說 15.8 那一步的畫面:中心線是 fₙ 的差商,上下兩條虛線圍出寬度 ε 的帶。實心點是 fₘ 的差商(m 逐一往後跑),每一點都落在帶內;帶是閉的,所以它們的極限——也就是 f 的差商——不可能溜到帶外。這正是把估計從「每個 fₘ」轉移到「極限函數 f」的那一步。

m → ∞ x → c n → ∞ f 差商 f_K 差商 f_K′(c) g(c) 每一段各小於 ε,合計小於 3ε

這張圖在說最後一步的接力路線:從 f 的差商走到 g(c),中間停兩站。三段跨距各由一個不同的極限過程負責——第一段是編號 m 的極限(已經對每個 x 一次講完),第二段是 x 靠近 c(只對某個 δ 之內的 x 有效),第三段是編號 n 的極限(只發生在 c 這一點)。次序若反過來先動 x,第二段要用的那個函數還沒挑出來。

—— 中場小憩 ——

證明到此收工:均值定理用兩次,一次釘住函數列,一次釘住差商。倒杯水、把肩膀往後轉兩圈,回來看一個把定理反著讀的例子——如果把均勻收斂加錯地方,會壞在哪裡。

例 1一列處處可微的函數,均勻收斂到不可微的極限
28.5 把均勻收斂押在導數列上。要是押錯地方——函數列均勻收斂、導數列不管——結論會壞成什麼樣子?
  1. 造函數列:fₙ(x) = √(x² + 1/n),定義域取 [−1, 1]。每個 fₙ 都處處可微——根號裡的 x² + 1/n 恆為正,開平方是 §28-2 有理冪的 r = 1/2 情形,再由 §28-2 鏈鎖律接上內層,得
      fₙ′(x) = x/√(x² + 1/n)。
  2. 收斂是均勻的。把差有理化(分母恆為正數,除得下去):
      |fₙ(x) − |x|| = (1/n)/(fₙ(x) + |x|),
    而 fₙ(x) ≥ √(1/n),所以這個值不超過 (1/n)/√(1/n) = 1/√n。右邊完全不看 x,因此 ‖fₙ − |x|‖ ≤ 1/√n → 0,17.9 判定均勻收斂。
  3. 界是緊的,拿數字對一次:n = 100 時上界是 0.1,而最大的誤差發生在 x = 0,值恰好是 √(1/100) = 0.1。n = 10000 時同理得 0.01。
  4. 可是極限不可微:|x| 在 0 沒有導數(§27-1 例 3:右側的差商恆為 1、左側恆為 −1,兩邊對不上)。函數列均勻收斂,可微性照樣掉了。
  5. 垮掉的正是 28.5 沒有假設的那一項。導數列 fₙ′(x) = x/√(x² + 1/n) 逐點收斂到「x > 0 給 1、x < 0 給 −1、x = 0 給 0」這個函數,它在 0 跳躍。每個 fₙ′ 都連續(分母恆正),若這個收斂是均勻的,24.1 就會逼出極限連續——所以它不均勻。
  6. 也可以直接量。取隨 n 移動的觀察點 x = 1/√n:fₙ′(1/√n) = (1/√n)/√(2/n) = 1/√2 ≈ 0.707,而極限函數在該點的值是 1,差 0.293,對每個 n 都一樣。再讓 x 從右邊趨近 0,差距可以逼近 1,所以最大差距恆為 1。
兩相對照,分工就講完了:均勻收斂加在函數列身上,買到的是連續(24.1),買不到可微;要買可微,均勻收斂必須加在導數列身上(28.5),而那時連函數列的均勻收斂都不必假設,一個點的收斂就夠。第 6 步那個隨 n 移動的觀察點,與 §17-2 例 5 的手法是同一招——找一個跟著編號跑的位置,讓誤差在那裡永遠不縮小。
1/√n |x| fₙ 尖角在這裡

這張圖在說例 1 的收斂為什麼是均勻的:三條光滑曲線把絕對值的尖角磨圓,n 越大磨得越輕。兩者的落差在 x = 0 最大,恰好是 1/√n,而離開原點之後只會更小——最壞的一點的誤差就這麼多,與 x 無關,這正是均勻的意思。可是不論磨得多輕,磨過的曲線在原點都是平的,而尖角不是。

1 −1 極限在 0 跳躍 fₙ′

這張圖在說導數列壞在哪裡:每個 fₙ′ 都是連續的曲線,從 −1 一路升到 1,n 越大升得越陡,可是再陡也是連續地升上去。虛線是它們的逐點極限——在原點左右各是一條水平線,中間硬生生斷開。連續函數的均勻極限必定連續(24.1),而這個極限不連續,所以收斂不可能是均勻的。

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

本篇的主角是 28.5:導數列均勻收斂、函數列在一個點收斂,兩件事合起來就讓極限可以逐項求導。證明把均值定理用了兩次——一次把函數列的差距換算成導數之差,一次把差商的差換算成導數之差——中間靠 15.8 讓不等式過極限,最後由三段各自獨立的誤差併成結論。例 1 說明假設押在函數列身上是不夠的:磨圓的尖角均勻收斂到絕對值,可微性卻掉了。起來走動一下、喝口水再回來,下一篇把均值定理往高階推:用多項式逼近一個函數,而且誤差寫得出確定的形狀。