§28-5  L'Hospital 法則

分子與分母同時趨向零時,商會趨向什麼?直接代入什麼也得不到,可是兩者各自的變化率或許看得出端倪——把商換成導數之比,這個動作憑什麼合法?而反過來讀又會錯在哪裡?

分子分母同時趨向零的時候

兩個水桶底下各破了一個洞。第一桶漏得快、第二桶漏得慢,可是兩桶的水偏偏在同一秒鐘見底。就在見底的那一秒問一句:第一桶剩的水是第二桶的幾倍?

兩邊都是零,這個問題用「拿剩的水去除」是問不出答案的。可是把時間往前撥半秒、再往前撥一點點,這個倍數每次都算得出來,而且看起來會停在某個固定的數上。那個數是多少,直覺上由一件事決定:誰漏得比較快。若第一桶每秒漏掉的量始終是第二桶的兩倍,那麼在見底之前的每一刻,它剩的水也大約是第二桶的兩倍。

把「剩多少」換成函數的值、「漏多快」換成導數,剛才那句直覺就成了一個可以檢驗的猜測:兩個函數在同一點同時歸零時,它們的商會趨向它們導數的商。要把猜測變成定理,需要一件能把兩個函數綁在同一個中間點上的工具,而 §27-4 的 27.8 柯西均值定理(兩個函數都在閉區間上連續、開區間內可微時,內部有一點 c 使 f′(c) 乘上 g 的兩端值差,等於 g′(c) 乘上 f 的兩端值差)正是為此而寫的。本篇要做的事只有一件:把兩個零代進去,看它吐出什麼。

先把說法講定。把 x = a 直接代進 f(x)/g(x) 而分子分母同時得到零時,代入這條路就走不通了——0/0 不是一個數,它只是「代入失敗」的記號,習慣上把這種商稱作 0/0 型。要問的一直是極限,而 §25-1 的 25.1(極限的定義:給定任何誤差 ε,都要找得到一段以 a 為中心的鄰域,讓落在裡面而不等於 a 的自變數把函數值送進 L 的 ε 之內)從一開始就不看函數在 a 這一點的值,所以「代入失敗」與「極限不存在」是兩件不同的事。本篇的 x 一律由右趨近 a,意思是 x > a 而 x 往 a 靠。
f g a x 兩條都從零出發

這張圖在說本篇要處理的是什麼局面:兩條曲線在 a 同時落到水平線上,值都是零,所以在 a 那一點的商寫不出來。往右走一點,兩個函數值都不是零了,商 f(x)/g(x) 就是圖上兩段高度的比。問題是這個比在 x 往 a 靠的時候會趨向什麼——圖上看得出答案跟兩條曲線離開 a 時的陡峭程度有關,而「陡峭程度」正是導數。

28.4  APPLICATION
Assume a < b, let f and g be continuous on [a, b] and differentiable on (a, b), suppose f(a) = g(a) = 0, and require that neither g nor g′ vanishes anywhere on [a, b] except at a. Then f(b)/g(b) = f′(c)/g′(c) for some c with a < c < b. Consequently, should f′(x)/g′(x) tend to a limit L as x decreases to a, the quotient f(x)/g(x) tends to L as well.
這一條把「分子分母同時趨向零」的商換成了導數之比,而換得成的理由完全來自柯西均值定理。敘述其實有兩層:第一層是一條等式——在 a 與 b 之間找得到一點 c,使兩端點決定的商 f(b)/g(b) 恰好等於 c 那一點的導數之比;第二層才是常用的極限形式,它是把第一層對每個靠近 a 的點各用一次的結果。前提裡有兩句話管的是除法能不能做:g 在 a 以外不為零,左邊那個商才寫得出來;g′ 在 a 以外不為零,右邊那個商才寫得出來。還有一件事要看清楚:結論是單側的,x 由右趨近 a。把區間取在 a 的左邊,同一套論證原封不動地給出另一側,兩側合起來才是不限方向的版本。最後,第二層是一支單向的箭頭——導數之比有極限,商就有極限;反過來讀是錯的,而下面的例 1 第 5 格就是現成的反例。
正例:取 f(x) = √(1 + x) − 1、g(x) = x 於 [0, 3]。兩者在 0 都取零,g 只在 0 為零,g′ 恆等於 1 從來不是零,前提逐條都對得上;導數之比是 1/(2√(1 + x)),x 由右趨近 0 時趨向 1/2,於是商也趨向 1/2。反例:把「f(a) = g(a) = 0」拿掉,結論立刻失效。取 f(x) = x + 1、g(x) = x + 2 於 [0, 3]:g 與 g′ 都不為零,可是兩者在 0 的值是 1 與 2、不是零。導數之比恆等於 1,而商在 0 的極限是 1/2,兩個數差得清清楚楚。
兩個「不為零」的前提並不是各自獨立的:假如 g(b) = 0,那麼 g 在 a 與 b 兩端的值都是零(前提已經給了 g(a) = 0),而它在 [a, b] 上連續、在 (a, b) 內可微——這正好是 §27-3 的 27.5 洛爾定理(閉區間上連續、開區間內可微而兩端的值都是零時,內部必有一點的導數為零)要的四個前提。於是 (a, b) 內存在一點使 g′ 為零,與「g′ 在 a 以外不為零」牴觸。把同一段話改用在 [a, x] 上,結論更完整:g′ 那一句前提本身就逼出了 g 在 (a, b] 上處處不為零。敘述仍然把兩句都寫出來,是因為證明裡它們用在兩個不同的位置、擋的是兩件不同的事;可是知道它們互相牽連之後就不會誤會方向——能省的是 g 那一句,g′ 那一句一旦拿掉,右邊的除法當場做不下去。
PROOF

手上真正的工具只有一件:§27-4 的 27.8 柯西均值定理。它要的前提是「兩個函數在閉區間上連續、在開區間內可微」,而定理敘述的前半段就是照這個形狀寫的,所以不必另外準備。兩個端點的值為零是要代進去的材料;g 與 g′ 不為零那兩句話會在兩次除法時各用掉一次。極限那一半另外要用 §25-1 的 25.1 極限的定義——給一個 ε,要交出一個 δ。

證明計畫 · 由所求想起
所求是一條等式:把兩端同時取到零的商,換成中間某一點的導數之比。能一次處理兩個函數的工具只有 27.8,先把它套在 [a, b] 上。
把 f(a) = g(a) = 0 代進它交出來的等式,兩個中括號各塌掉一項,等式變成兩個乘積相等。
再把乘積換成商,要除兩次:一次除以分母在右端點的值,一次除以分母的導數在見證點的值——兩句「不為零」的前提在這裡各管一次除法。
極限那一半:把右端點換成任何一個靠近 a 的點,同一條等式對每個這樣的點都成立。
最後說明見證點被夾在 a 與那個點之間,於是那個點往 a 靠時見證點也躲不掉,導數之比的極限就過渡成商的極限。

Proof.  The hypotheses place f and g exactly in the situation demanded by the Cauchy Mean Value Theorem 27.8 on [a, b], which accordingly yields a point c lying strictly between a and b with
  f′(c)[g(b) − g(a)] = g′(c)[f(b) − f(a)].
Since f(a) and g(a) are both zero, each bracket loses one term and the identity shortens to
  f′(c)·g(b) = g′(c)·f(b).
這一步的所求:把「兩個函數各自從 a 走到 b 的變化」一次換成同一個中間點上的兩個導數。§27-4 的 27.8 柯西均值定理(兩個函數在閉區間上連續、開區間內可微時,開區間內存在一點 c,使 f′(c) 乘上 g 的兩端值差等於 g′(c) 乘上 f 的兩端值差)做的正是這件事,而它的前提在這裡一條都不必額外驗——定理敘述的前半段就是照它寫的。值得留意 27.8 把結論寫成兩個乘積相等而不是兩個商相等,那是刻意的:寫成商就得先假設分母不為零,而在敘述那條定理的當下沒有理由假設那件事。本篇的處境剛好相反,前提裡已經把 g 與 g′ 不為零寫進去了,所以我們有本錢把乘積換回商——那是下一步的工作。代零這一步本身沒有技巧:g(b) − g(a) 因為 g(a) = 0 而變成 g(b),f(b) − f(a) 同理變成 f(b)。拿一組具體的函數走一次:取 f(x) = √(1 + x) − 1、g(x) = x,區間取 [0, 3]。兩者在 0 都是零,而 f(3) = 1、g(3) = 3,於是等式讀成 f′(c)·3 = 1·1;因為 f′(x) = 1/(2√(1 + x)),解出 √(1 + c) = 3/2,也就是 c = 5/4,確實落在 0 與 3 之間。
Since b differs from a, the hypothesis on g gives g(b) ≠ 0, so the identity may be divided by g(b). The point c likewise differs from a, whence g′(c) ≠ 0 and a second division is available. Performing both,
  f(b)/g(b) = f′(c)/g′(c).
這一步的所求:把兩個乘積相等換成兩個商相等。除法要做兩次,而每一次都得有人擔保除數不是零。兩句前提在這裡各兌現一次,位置不同、擋的東西也不同。第一次除以 g(b):擔保它的是「g 在 a 以外不為零」,而定理一開頭就寫了 a < b,所以 b 與 a 相異、g(b) ≠ 0,左邊的商 f(b)/g(b) 這才寫得出來。第二次除以 g′(c):擔保它的是「g′ 在 a 以外不為零」,而 27.8 交出來的 c 滿足 a < c < b,特別是 c ≠ a,所以 g′(c) ≠ 0,右邊的商 f′(c)/g′(c) 才有意義。兩句話不能互相頂替:g 的那一句對右邊的除法什麼也沒說,g′ 的那一句也不直接告訴你 g(b) 是多少。仍用剛才那組數字核對:g(3) = 3 ≠ 0、g′ ≡ 1 ≠ 0,兩邊分別是 1/3 與 1/(2 · 3/2) = 1/3,等式對上。
f(x) g(x) (g(b), f(b)) 割線 切線 原點

這張圖在證前兩步得到的等式是什麼意思。把每個 x 送到平面上的點 (g(x), f(x)):因為 f(a) = g(a) = 0,x = a 對應的正是原點,所以原點到終點那條割線的斜率恰好就是 f(b)/g(b)——分母分子都不必再減掉起點的值。而柯西均值定理說中間有一點的切線與割線一樣斜,那一點的切線斜率是 f′(c)/g′(c)。兩個斜率相等,就是等式本身。

Nothing in the argument singled out the right endpoint. Let x be any point with a < x ≤ b. Every hypothesis holds on the smaller interval [a, x], so the two steps above furnish a point cₓ obeying a < cₓ < x and
  f(x)/g(x) = f′(cₓ)/g′(cₓ).
這一步的所求:把只掛在一個端點上的等式,升級成對每個靠近 a 的 x 都成立的等式。做法只是把區間從 [a, b] 換成 [a, x],而換小之後前提一條也沒有掉:連續與可微在較短的區間上當然還在;f(a) = g(a) = 0 講的是左端點,完全沒動到;「g 與 g′ 在 a 以外不為零」原本就在整段 [a, b] 上成立,[a, x] 是它的一部分,所以照樣成立。於是前兩步的推理原封不動再走一次。唯一要小心的是它交出來的那一點會隨 x 改變,所以記成 cₓ 提醒自己這是一整族的點,不是同一個常數;換一個 x 就換一個 cₓ,而 27.8 只承諾它存在,並沒有給出算它的辦法。幸好接下來要用的只有它的位置:a < cₓ < x。仍用 f(x) = √(1 + x) − 1、g(x) = x 實際跑兩個 x:x = 3 時上一步已經解出 cₓ = 5/4;x = 1 時等式要求 √2 − 1 = 1/(2√(1 + cₓ)),解出 √(1 + cₓ) = (√2 + 1)/2 ≈ 1.2071,也就是 cₓ ≈ 0.4571,確實落在 0 與 1 之間。x 從 3 縮到 1,見證點也跟著從 1.25 縮到 0.46——這個現象正是下一步要用的東西。
x₁x₂x₃ c₁c₂c₃ a

這張圖在證下一步最關鍵的那一句:見證點沒有地方可以躲。三條橫條是三個不同的 x 各自對應的區間 [a, x],紅點是 27.8 在該區間內交出來的見證點。每個紅點都被關在自己那條橫條裡面,所以橫條一縮短,紅點就只能跟著往左端點移。x 由右趨近 a 時 cₓ 因而也趨近 a——這一步不需要知道 cₓ 究竟是多少,只需要知道它被夾住。

Let ε > 0. Because f′(t)/g′(t) tends to L as t decreases to a, some δ > 0 makes |f′(t)/g′(t) − L| < ε hold for every t with a < t < a + δ. Suppose now that a < x < a + δ and x ≤ b. Then a < cₓ < x < a + δ, so cₓ is one of the admissible t, and the identity of the previous step gives
  |f(x)/g(x) − L| = |f′(cₓ)/g′(cₓ) − L| < ε.
As ε was arbitrary, f(x)/g(x) tends to L as x decreases to a.
這一步的所求:把「導數之比的極限是 L」搬運成「商的極限是 L」。兩者之間的橋就是上一步的等式,可是等式左右兩邊的自變數並不相同——左邊是 x,右邊是 cₓ,所以不能直接把極限套上去了事。整條論證的關鍵只有一句話:cₓ 被夾在 a 與 x 之間,於是 x 一往 a 靠,cₓ 就沒有別的地方可去。寫成 ε 與 δ 的語言是這樣:先用假設「導數之比趨向 L」把 δ 要出來,這個 δ 原本是為導數之比準備的;接著只要 x 落在 a 與 a + δ 之間,由 a < cₓ < x 就得到 cₓ 也落在同一段裡,於是「離 L 不到 ε」這句話對 cₓ 適用;而等式說商就等於那個導數之比,所以商離 L 也不到 ε。請留意 δ 一次也沒有被加工——同一個 δ 對兩邊都夠用,正是因為 cₓ 逃不出 (a, x) 這一段。x ≤ b 那個附帶條件則是簿記:δ 可能大得跑出定義域,把 x 限制在 b 以內,等式才引用得上。
等式那一半來自把兩個零代進 27.8,再由兩句前提各擔保一次除法;極限那一半來自見證點被夾在 a 與 x 之間,因而 x 趨近 a 時它也跟著趨近 a。∎
結論裡的極限是單側的——x 由右趨近 a。左邊那一側不必重寫任何一句:把區間取成 [x, a](其中 x < a),並要求 f、g 在它上面滿足同樣的前提,27.8 交出來的見證點這回被夾在 x 與 a 之間,其餘每一步一字不改。兩側各自的結論合起來,才是平常口語說的「x 趨近 a 時商趨向 L」。順帶一提,分子分母同時變得很大的那種情形也有相對應的規則,不過它需要另一套論證,本篇不處理,也不在這裡先給敘述。
例 1一個算例、一個誤用,以及一個反過來不成立的情形
規則本身只有一行,可是「什麼時候能用」與「算出來的話能不能反過來讀」才是真正會出錯的地方。
  1. 算例,先驗前提。取 f(x) = √(1 + x) − 1、g(x) = x,區間取 [0, 3],要問的是 x 由右趨近 0 時 f(x)/g(x) 的極限。四件事逐條核對:兩者在 [0, 3] 上連續、在 (0, 3) 內可微(由 §28-2 的有理冪定理(x > 0 與有理數 r 時 (x^r)′ = r·x^(r−1))配上 §28-2 的鏈鎖律與 §28-1 的求導四則);f(0) = √1 − 1 = 0 而 g(0) = 0;g(x) = x 只在 0 為零;g′ 恆等於 1,從來不是零。四條都成立,28.4 用得上。
  2. 套規則。內層 x ↦ 1 + x 的導數是 1,外層是 1/2 次方,常數 −1 的導數是 0,於是
      f′(x) = 1/(2√(1 + x)),  f′(x)/g′(x) = 1/(2√(1 + x))。
    這個式子在 x = 0 直接代得進去,值是 1/2,所以由 28.4,商也趨向 1/2。實際算幾個數字看它怎麼靠過去:x = 1 時商是 √2 − 1 ≈ 0.4142,x = 0.1 時是 0.4881,x = 0.01 時是 0.4988,x = 0.0001 時是 0.49999。
  3. 換一條路對帳。這個例子的分子有很好的代數形狀,所以有一條完全不用 28.4 的走法:分子分母同乘 √(1 + x) + 1。因為
      (√(1 + x) − 1)(√(1 + x) + 1) = (1 + x) − 1 = x,
    所以商可以改寫成
      f(x)/g(x) = 1/(√(1 + x) + 1)。
    右邊在 x = 0 沒有任何困難,分母是 2,極限就是 1/2。兩條路給出同一個答案,而這也說明規則不是唯一的辦法——它真正的價值在於分子沒有這麼漂亮的形狀時仍然管用。
  4. 誤用:前提沒驗就套公式。問 x → 0 時 (x + 1)/(x + 2) 的極限。硬套規則:分子的導數是 1、分母的導數是 1,比值是 1。可是回頭驗前提——分子在 0 的值是 1、分母在 0 的值是 2,兩個都不是零,這根本不是 0/0 型,28.4 的「f(a) = g(a) = 0」整條落空,規則從一開始就不適用。真正的極限由 §25-3 的極限四則(兩個函數各自有極限而分母的極限不為零時,商的極限就是兩個極限的商)直接得到:1/2。數字也對得上:x = 0.1 時是 0.5238,x = 0.001 時是 0.50025。硬套得到的 1 與正確答案 1/2 差了一倍,而中間沒有任何一步「算錯」——錯的是根本不該用。
  5. 逆命題不成立。取 f(x) = x²·sin(1/x)(並令 f(0) = 0)、g(x) = x,區間取 [0, 1]。§28-2 例 1(處處可微、導數卻在一點不連續的那個函數)已經算過 f′(x) = 2x·sin(1/x) − cos(1/x)(x ≠ 0),那裡也已經把正弦與餘弦的幾件性質明標為借用,本格沿用同一筆借用,不再重述——但要提醒讀者那幾條性質到此仍然是借來的。前提逐條核對:f、g 在 [0, 1] 上連續、在 (0, 1) 內可微,f(0) = g(0) = 0,g 與 g′ 在 0 以外不為零——28.4 的前提全部成立。現在看兩邊:商是 f(x)/g(x) = x·sin(1/x),被 |x| 壓住,所以趨向 0;導數之比卻是 2x·sin(1/x) − cos(1/x),取 xₙ = 1/(2nπ) 得到的值恆為 −1,取 zₙ = 1/((2n + 1)π) 得到的值恆為 1,兩列都由右趨近 0 而值不同,由 §25-2 的 25.3(極限存在,等於每一列趨向該點的自變數都給出同一個極限),導數之比在 0 沒有極限。商有極限,導數之比卻沒有——28.4 的箭頭只往一個方向走。
三格各擋一種誤讀。第 1–3 格是正常的用法,並且用一條完全獨立的代數路把答案對過一次;第 4 格說明前提不驗就套,答案會錯得毫無察覺;第 5 格說明規則是一支單向的箭頭——導數之比有極限,商就有極限;商有極限,對導數之比什麼也保證不了。第 5 格特別值得記住的地方在於它的前提全部成立:失效的不是規則,而是把規則反著讀的那個讀法。
1/2 0 1 (√(1+x) − 1)/x

這張圖在畫例 1 第 2 格的商本身。曲線是 (√(1 + x) − 1)/x 在 0 < x ≤ 1 上的圖形,兩顆藍點是文中算過的 x = 0.1(值 0.4881)與 x = 0.5(值 0.4495)。空心圓標的是 x = 0:那一點不在定義域裡,函數在那裡沒有值,可是曲線仍然一路貼向紅色虛線的高度 1/2——這正是「極限不看該點的值」的畫面。

1 1/2 硬套的答案 x = 0 (x + 1)/(x + 2)

這張圖在說例 1 第 4 格錯在哪裡。曲線是 (x + 1)/(x + 2),它在 x = 0 這一點根本沒有斷掉——藍點就是它的值 1/2,同時也是極限。紅色空心圓畫在高度 1 上,那是硬套規則得到的數,而曲線離它很遠。差別的來源不在計算,在於這條曲線在 x = 0 的分子分母都不是零,規則的前提從頭就不成立。

f/g 1 −1 f′/g′ 0

這張圖在對照例 1 第 5 格的兩邊。上格是商 x·sin(1/x):擺動的幅度被兩條向左收攏的虛線夾住,到了 0 就被壓成一點,所以極限是 0。下格是導數之比 2x·sin(1/x) − cos(1/x):越靠近 0 擺得越密,而且每一次都掃到兩條固定虛線的高度 1 與 −1,永遠停不下來,所以沒有極限。(右半邊那一點點超出虛線是 2x·sin(1/x) 這一項的貢獻,離 0 較遠時它還有份量;靠近 0 的那一側才是本格的重點。)

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

本篇把 f(a) = g(a) = 0 代進柯西均值定理,兩個中括號各塌掉一項,兩次除法之後就是 28.4;而讓極限跟著搬過去的,是見證點被夾在 a 與 x 之間這件事。三個對照則說明規則只往一個方向走,而且前提得先驗過再用。下一篇換一個問題:一列各自可微的函數收斂時,導數能不能逐項取極限。先站起來走幾步、把手腕轉一轉,喝點水再回來。(0/0 型的自我介紹:「我不是沒有答案,我只是不肯用代入的方式講。」)