§27-2  導數的正負與內部極值

導數是一個點上的量,它管得到那一點附近嗎?如果某一點的值不小於附近所有的值,導數還有沒有可能不為零——而區間的端點為什麼要另當別論?

導數的正負管得到附近的值

腳踏車騎上一段緩坡,車上沒有任何一支指針在報坡度,可是身體知道現在正在往上爬。這時候問一句:往前推一公尺,路面一定比現在高嗎?往後退一公尺呢,一定比現在低嗎?

「現在正在往上爬」講的是此刻這一個位置上的事,「前面比較高」講的卻是兩個位置之間的比較。把前一句換成後一句並不是免費的——推得太遠,路早就轉了彎,前面可能反而比較低。所以真正該問的是:往前推多遠之內還算數?

§27-1 的 27.1 把「此刻正在往上爬」寫成了一個數 f′(c):它是差商逼出來的極限,而差商本身就是兩個位置的比較。本篇要問的是這個數的正負能兌現多少——它是只描述 c 這一點,還是真的管得到 c 附近的值。

27.3  LEMMA
Suppose that f′(c) exists.
(a)  If f′(c) > 0, there is a δ > 0 such that f(c) < f(x) for x ∈ D with c < x < c + δ, and f(x) < f(c) for x ∈ D with c − δ < x < c.
(b)  If f′(c) < 0, the two conclusions are interchanged.
導數為正的時候,c 附近的比較一次講完兩側:右邊的值比 f(c) 大,左邊的值比 f(c) 小。兩句話是同一個估計付的帳——差商一旦被鎖在正的那一側,分子 f(x) − f(c) 就與分母 x − c 同號(這正是 §5-3 的 5.8 說的「乘積嚴格正,兩因子必同號」),而分母的正負就是「x 在 c 的哪一邊」。
正例:f(x) = x²、c = 1,此時 f′(1) = 2 > 0。取 δ = 1:右邊的 x 落在 (1, 2) 內,x² > 1;左邊的 x 落在 (0, 1) 內,x² < 1。兩句都兌現了。反例:同樣是正導數,換成 f(x) = x、D = [0, 1]、c = 0,此時 f′(0) = 1 > 0,可是左邊那一句一個點也管不到——滿足 −δ < x < 0 且 x ∈ D 的 x 根本不存在。結論寫成條件句,條件沒有東西可套的時候,它什麼也沒買到。
PROOF

手上只有 27.1 的定義:差商與 f′(c) 的距離可以壓到任意小,而「任意小」的那個標準由我們自己指定。目標是把一句關於差商的話,換成兩句關於函數值大小的話。

證明計畫 · 由所求想起
所求是兩個不等式:右邊的值大、左邊的值小。
第一步,挑一個比 f′(c) 小的正數當誤差上限,差商就被關進一段整個落在 0 右邊的區間,於是差商為正。
第二步,差商是一個商,把它乘回分母 x − c 就得到分子。乘的是正數還是負數,由 x 落在 c 的哪一邊決定,方向用 5.6 的同乘規則讀出來。
兩側各讀一次,就是 (a) 的兩句話。(b) 把整段推理的正負對調即可。

Proof.  (a) Choose ε₀ with 0 < ε₀ < f′(c) and let δ be the number that Definition 27.1 provides for this ε₀. Since x ∈ D and 0 < |x − c| < δ give
  |(f(x) − f(c))/(x − c) − f′(c)| < ε₀,
we obtain
  (f(x) − f(c))/(x − c) > f′(c) − ε₀ > 0.
這一步的所求:把「差商靠近 f′(c)」變成「差商是正的」。27.1(導數的定義:對每個 ε > 0 都找得到一個 δ,使定義域內滿足 0 < |x − c| < δ 的點的差商與 f′(c) 誤差小於 ε)把誤差標準的選擇權交給我們,所以這一步不必構造任何東西,只要挑一個數。挑 ε₀ 嚴格小於 f′(c) 是整個證明唯一需要動腦的地方:誤差不超過 ε₀,意思是差商躺在以 f′(c) 為中心、半徑 ε₀ 的那一段裡,而這一段的左端 f′(c) − ε₀ 已經在 0 的右邊。因為 f′(c) > 0,這樣的 ε₀ 一定挑得到,取 f′(c)/2 就是一個。拿具體的數走一次:f(x) = x²、c = 1 時差商化簡成 x + 1,而 f′(1) = 2;取 ε₀ = 1,則 |(x + 1) − 2| = |x − 1|,所以 δ = 1 就合用,這時差商大於 2 − 1 = 1。要留意 δ 是跟著 ε₀ 走的,ε₀ 一旦挑定,往下就不再更動。
Now let x ∈ D satisfy c < x < c + δ. Because x − c > 0, multiplying the last inequality by x − c keeps its direction, so
  0 < (f′(c) − ε₀)(x − c) < f(x) − f(c).
Therefore f(c) < f(x).
這一步的所求:右側那一句「f(c) < f(x)」。差商是一個分式,要從它讀出分子的大小,就得把分母乘回去。§5-2 的 5.6(不等式的操作文法:兩邊同加一數先後不變,同乘嚴格正數先後不變,同乘嚴格負數先後翻面)在這裡用的是同乘正數那一條,因為 x 在 c 的右邊,所以 x − c 是嚴格正的。乘完之後左端 (f′(c) − ε₀)(x − c) 是兩個正數相乘,本身就大於 0,於是 f(x) − f(c) 被夾在它上面,只能是正的。接續前一格的數字:c = 1、δ = 1,取 x = 1.5,估計說 f(1.5) − f(1) > 1 × 0.5 = 0.5,而實際的差是 2.25 − 1 = 1.25,確實更大。
If instead x ∈ D satisfies c − δ < x < c, then x − c < 0 and multiplying reverses the direction, so
  f(x) − f(c) < (f′(c) − ε₀)(x − c) < 0.
Hence f(x) < f(c), which completes (a).
這一步的所求:左側那一句「f(x) < f(c)」。用的估計與前一步一模一樣,差別只在乘上去的那個數變成負的——x 在 c 的左邊,所以 x − c 嚴格為負,5.6 的翻面那一條把不等號整個轉向。值得停一下的是:左右兩側並沒有各做一次估計,第一步那個 δ 同時管住了兩邊,因為 27.1 的條件寫的是 0 < |x − c| < δ,絕對值本來就不分左右。仍用同一組數字核對:取 x = 0.5,估計說 f(0.5) − f(1) < 1 × (−0.5) = −0.5,而實際的差是 0.25 − 1 = −0.75,確實更小。
(b) If f′(c) < 0, choose ε₀ with 0 < ε₀ < −f′(c). The same argument gives
  (f(x) − f(c))/(x − c) < f′(c) + ε₀ < 0,
so the two conclusions are interchanged.
這一步的所求:導數為負的版本。這一格是例行核對,不必重寫論證:把 ε₀ 改挑在 0 與 −f′(c) 之間,差商就被鎖在 0 的左邊,接著同樣乘回 x − c。由於分子與分母這次是異號,右邊的值變成比 f(c) 小、左邊的值變成比 f(c) 大,也就是把 (a) 的兩句話互換。
一次估計把差商鎖在同一側,兩邊的比較就同時到手。∎
0 f′(c) f′(c) − ε₀ f′(c) + ε₀ 差商全落在這一段,而它整段在 0 的右邊

這張圖在說證明第一步為什麼要挑 ε₀ < f′(c):藍色那一段是差商被允許的活動範圍,左端是 f′(c) − ε₀。只要誤差半徑不超過 f′(c),這一段就整個待在 0 的右邊,於是「差商離 f′(c) 很近」這句軟話,變成「差商是正的」這句硬話。半徑再放大一點越過 0,圖上這一段就會探到左邊去,結論隨即失效。

比 f(c) 大 比 f(c) 小 f(c) c − δ c c + δ

這張圖在說第二、三步各證到了什麼:橫的虛線是高度 f(c),兩支短豎線是同一個 δ 給出的左右邊界。右邊的點被證明在虛線之上、左邊的點在虛線之下,而兩側用的是同一個估計、同一個 δ。圖上只畫了兩個代表點,結論管的是這個範圍內每一個定義域點。

結論是條件句,條件落空的時候它什麼也沒保證。27.3(a) 的左半句完整念出來是「凡是滿足 x ∈ D 且 c − δ < x < c 的 x,都有 f(x) < f(c)」。若定義域在 c 左邊根本沒有點——例如 D = [0, 1] 而 c = 0——這句話沒有任何 x 可套,於是它自動成立,同時什麼也沒交出來。換句話說,兩側的結論只在兩側各自真的有定義域點的時候才有內容。要保證兩側都有點,最省事的要求就是 c 是 D 的內點(§9-3 的 9.7:內點的意思是有一整段以 c 為中心的區間躲在 D 裡)。這個要求會在 27.4 的敘述裡原封出現,而本篇最後的例 1 就是拿掉它以後的現場。

還有一件事要先說清楚,免得把 27.3 讀得太滿:它一句話也沒提單調。它給的每一個不等式,比較的對象都是 f(c) 這一個固定的值;兩個都不是 c 的點之間誰大誰小,它完全沒有交代。所以「f 在 c 的導數為正」推不出「f 在含 c 的某個區間上遞增」——確實有函數在一點的導數為正,卻在該點的每一個鄰域內都上下來回。這種函數要寫得出來需要振盪越來越快的構造,工具還不齊,這裡先把界線記下來。要從導數的正負談整段的遞增,需要一個能一口氣連結兩個相異點的工具,那要等本節後面才登場。

DEFINITION  ·  RELATIVE MAXIMUM AND MINIMUM
The function f has a relative maximum at c ∈ D in case there is a δ > 0 such that f(x) ≤ f(c) for all x ∈ D with |x − c| < δ.
Reversing the inequality defines a relative minimum.
要說 c 是相對極大點,只要交得出一個半徑 δ,讓 c 的這個範圍內、屬於定義域的每一點的值都不超過 f(c) 就行。比較的範圍是自己挑的,可以很小——這與 §22-3 的 22.6(最大最小值定理:在 compact 集合上連續的函數取得到整體的最大值與最小值)談的最大值不同,那裡的對手是整個集合,這裡只有身邊一小段。所以同一個函數可以有很多個相對極大點,而且它們的值不必相等。條件也只檢查定義域內的點,因此區間的端點當得成極值點。
正例:f(x) = x²、D = ℝ,c = 0 是相對極小點——任取 δ,|x| < δ 時都有 x² ≥ 0 = f(0)。反例:f(x) = x、D = ℝ 一個極值點也沒有——對任何 c 與任何 δ,c + δ/2 的值比 f(c) 大而 c − δ/2 的值比 f(c) 小,兩種不等式各垮一邊。
f(c) 比較範圍 c 範圍之外不比

這張圖在說相對極大與整體最大的差別在哪:虛線框是自己挑的比較範圍,框內的曲線都不高過 f(c) 那條水平虛線,所以 c 合格。框外右邊那個更高的峰完全不影響這個判定——定義只要求交得出一個範圍,沒有要求範圍要多大。把範圍換成整個定義域,就成了 22.6 談的那種最大值。

27.4  INTERIOR MAXIMUM THEOREM
Assume that f has a relative maximum at an interior point c of D. Then f′(c) = 0 whenever this derivative exists.
「找極值先解 f′ = 0」這個做法的根據就在這裡。三個前提缺一不可:c 要是內點、那裡要有相對極大、導數要存在。結論只說導數為零,反過來並不成立——導數為零的點不見得是極值點。
正例:f(x) = 1 − x²、D = ℝ、c = 0。差商化簡成 −(x + 0) = −x,所以 f′(0) = 0;而 |x| < δ 時 1 − x² ≤ 1 = f(0),確實是相對極大點,定理對上了。反例:把箭頭反過來讀就會出錯。取 f(x) = x³、c = 0,差商是 x² + 0·x + 0² = x²,於是 f′(0) = 0;可是 0 兩側的值一正一負,它既不是相對極大點也不是相對極小點。導數為零只是候選條件,不是判定條件。
PROOF

兩個前提先各換成一個可以動手用的數:內點交出一個整段落在 D 內的區間,相對極大交出一個「範圍內的值都不超過 f(c)」的半徑。走反證。

證明計畫 · 由所求想起
所求是 f′(c) = 0。一個實數不為零只有兩種可能,把兩種各推出矛盾就結束。
假設導數為正:27.3 在右側交出一個值比 f(c) 大的點。
假設導數為負:27.3 在左側交出一個值比 f(c) 大的點。
兩種情形都與「範圍內的值都不超過 f(c)」衝突,但前提是交出來的那個點真的落在定義域裡、而且離 c 夠近——三個半徑取最小的那一個就辦得到,而定義域那一項靠的正是內點。

Proof.  Since c is an interior point of D, there is r > 0 with (c − r, c + r) ⊆ D. Since f has a relative maximum at c, there is δ₁ > 0 such that f(x) ≤ f(c) for every x ∈ D with |x − c| < δ₁.
這一步的所求:把兩個前提各兌換成一個具體的正數,後面才有東西可以取最小。9.7(neighborhood 與三種點:c 是 D 的 interior point,意思是 D 本身就是 c 的一個 neighborhood,於是含著一整段以 c 為中心的區間)給的是 r,它保證 c 的左右兩側都有定義域的點可以拿來比。相對極大的定義給的是 δ₁,它保證這個半徑內的值都不超過 f(c)。兩個數彼此無關,誰大誰小都有可能,這是例行的簿記。
Suppose f′(c) > 0. By 27.3(a) there is δ₂ > 0 such that f(c) < f(x) whenever x ∈ D and c < x < c + δ₂. Put δ = inf {r, δ₁, δ₂} and take x₀ = c + δ/2. Because δ ≤ r we have x₀ ∈ D, and |x₀ − c| < δ₁ together with c < x₀ < c + δ₂ give both f(x₀) ≤ f(c) and f(c) < f(x₀), a contradiction.
這一步的重點只有一件事:真的指出一個同時被兩句話管到的點。三個半徑取最小的那一個,是為了讓 x₀ = c + δ/2 一次滿足三個條件——它離 c 不到 r,所以躺在定義域裡;離 c 不到 δ₁,所以相對極大的比較適用;又落在 c 與 c + δ₂ 之間,所以 27.3(a)(導數為正時,右邊的值比 f(c) 大、左邊的值比 f(c) 小)的右側結論適用。缺了第一個條件,這個點可能根本不在定義域裡,後兩句話就都套不上去——內點這個前提在整條證明裡的用處全在這裡。取一半而不取 δ 本身,是為了讓不等號嚴格;x₀ 與 c 的距離是 δ/2,確實小於三個半徑中的每一個。於是同一個 f(x₀) 被要求既不超過 f(c) 又嚴格大於 f(c),這是不可能的。
Suppose instead f′(c) < 0. By 27.3(b) there is δ₃ > 0 such that f(c) < f(x) whenever x ∈ D and c − δ₃ < x < c. Taking δ = inf {r, δ₁, δ₃} and x₀ = c − δ/2 yields the same contradiction. Since neither f′(c) > 0 nor f′(c) < 0 can hold, we conclude that f′(c) = 0.
這一步的所求:另外那一半。因為導數為負時 27.3 把兩句結論互換,值比 f(c) 大的點這次出現在 c 的左邊,所以見證點改取 x₀ = c − δ/2;其餘的取最小、代入、對撞,與右側那一半逐字對應。由於 c 是內點,左邊同樣有一整段定義域的點可以用,這一半才走得通。最後收尾:一個實數與 0 的關係只有大於、等於、小於三種,兩種已被排除,剩下的只能是等於。
內點上的相對極大值,導數若存在就只能是零。∎
這個點的值比 f(c) 大 f(c) c c − δ c + δ 可是它也在比較範圍內,值不該超過 f(c)

這張圖畫的是矛盾機制本身,不是定理的結果:先假設 f′(c) > 0,27.3 就在 c 右邊交出紅色那個點,它高過 f(c) 的水平線。兩支虛線之間是相對極大的比較範圍,而那個點恰好也在裡面——同一個值被要求既不超過 f(c) 又嚴格大過它。把三個半徑取最小,就是為了把紅點逼進這個範圍。

COROLLARY  ·  內部極小值版
Assume that f has a relative minimum at an interior point c of D. Then f′(c) = 0 whenever this derivative exists.
極小值版不必重寫一次證明:把函數整個變號,極小就成了極大。代價是要先確認變號之後導數仍然存在而且恰好變號,這件事得回到 27.1 的定義去看,因為本篇還沒有任何計算導數的規則可用。
正例:f(x) = x²、D = ℝ、c = 0。0 是內點,也是相對極小點,而差商化簡成 x + 0,給出 f′(0) = 0,推論對上了。反例:同一條函數的定義域換成 D = [1, 3],此時 c = 1 是相對極小點,可是 f′(1) = 2 ≠ 0——1 不是 D 的內點,推論不適用。
PROOF

令 g 的定義域仍是 D,並取 g(x) = −f(x)。要把 g 送進 27.4,得先付兩筆帳:g 在 c 有相對極大,而且 g′(c) 存在。

證明計畫 · 由所求想起
所求是 f′(c) = 0,而 27.4 只認相對極大。
第一步,把整個函數變號,極小的不等號跟著翻面,成為相對極大——用 5.6 的同乘負數那一條。
第二步,確認變號後的函數在 c 仍然有導數,而且它就是原來那個數的相反數;這一步只能回到 27.1 的定義,因為差商的分子整條變號、分母沒動。
第三步,套 27.4 得到變號後的導數為零,再變一次號就回到原來的函數。

Proof.  Define g on D by g(x) = −f(x). Because f has a relative minimum at c, there is δ > 0 with f(c) ≤ f(x) for every x ∈ D satisfying |x − c| < δ. Multiplying by −1 reverses this, so g(x) ≤ g(c) holds for the same points and g has a relative maximum at c.
這一步的所求:把極小翻成極大,好讓 27.4 認得。用的是 5.6(不等式的操作文法,其中一條說同乘一個嚴格負數先後翻面),乘的數是 −1。要留意半徑 δ 一個字也沒改:翻面只動不等號的方向,不動比較的範圍,所以原來那個 δ 原封拿來用。舉個具體的:f(x) = x² 在 c = 0 的值是 0,附近的值都不小於它;變號後 g(x) = −x² 在 0 的值仍是 0,而附近的值都不大於它。
For x ∈ D with x ≠ c the difference quotients satisfy
  (g(x) − g(c))/(x − c) = −(f(x) − f(c))/(x − c),
and therefore
  |(g(x) − g(c))/(x − c) + f′(c)|
  = |(f(x) − f(c))/(x − c) − f′(c)|.
So every δ that works for f and a given ε also works for g, and g′(c) exists with g′(c) = −f′(c).
這一步的所求:確認 g 在 c 真的有導數,而且它等於 −f′(c)。這件事不可以當成已知,因為本篇還沒有任何把導數拆開來算的規則,唯一的依據是 27.1 的定義。差商的分子從 f(x) − f(c) 換成它的相反數,分母 x − c 一個字沒動,所以整條差商變號;而兩個數同時變號時它們的距離不變,因為 |(−a) − (−b)| = |a − b|。於是「g 的差商離 −f′(c) 有多遠」與「f 的差商離 f′(c) 有多遠」是同一個數,27.1 對每個 ε 挑出來的那個半徑不必重挑,照搬即可。拿數字對一次:f(x) = x²、c = 1 時 f 的差商是 x + 1、g 的差商是 −(x + 1),前者趨向 2,後者趨向 −2。
Since c is an interior point of D, since g has a relative maximum at c, and since g′(c) exists, Theorem 27.4 gives g′(c) = 0. Hence −f′(c) = 0, so f′(c) = 0.
這一步的所求:收帳。27.4(內部極大值定理:內點上的相對極大值,導數若存在必為零)要的三個前提剛好被前兩步湊齊——內點這一項與原來的函數共用,因為 g 的定義域就是 D,沒有換過。定理交出 g′(c) = 0,而第二步已經算出 g′(c) = −f′(c),於是 −f′(c) = 0。這是例行的最後一步:一個數的相反數為零,它自己就為零。
變號兩次之後回到原處,極小值版與極大值版共用同一條結論。∎
f −f 相對極小 相對極大 同一個 c,兩張圖的導數差一個負號

這張圖在說推論為什麼不必重證:黑線是 f,藍線是把它以虛線為軸翻過來的 −f。翻面把最低點換成最高點,卻沒有動到 c 的位置,也沒有動到「內點」這個身分。證明真正要付的帳只有一筆——翻面之後導數還在不在、變成什麼,而那要回到差商去看。

例 1端點上導數不為零,卻是唯一的極值點
27.4 為什麼非要求 c 是內點不可?把這個字拿掉,哪一步會斷?
  1. 取 f(x) = x、D = [0, 1]。先算導數:對 D 內任一點 c 與任一 x ≠ c,差商是 (x − c)/(x − c) = 1,誤差恆為 0,所以任何 δ 都合用,f′(c) = 1。導數在 D 上處處等於 1,從來不是零。
  2. x = 0 是相對極小點:取 δ = 1,凡是 x ∈ D 且 |x − 0| < 1 的點都滿足 x ≥ 0 = f(0)。而且它是唯一的——若 c > 0,任給 δ,取 x 為 c − δ/2 與 0 中較大的那一個,它仍在 D 內、離 c 不到 δ,而值比 f(c) 小。
  3. 同樣地 x = 1 是唯一的相對極大點:取 δ = 1,D 內離 1 不到 1 的點都滿足 x ≤ 1 = f(1);而 c < 1 的點右邊永遠找得到更大的值。
  4. 27.4 並沒有被違反,因為 0 與 1 都不是 D 的內點。依 9.7,內點要求有一整段以該點為中心的區間躲在 D 裡,可是任何含 0 的區間都探到負數去,而負數不屬於 D;右端 1 同理。
  5. 斷在哪一步,看得更清楚一點。f′(1) = 1 > 0,27.3(a) 對 c = 1 說了兩句話:左邊那句真的有內容(1 − δ < x < 1 的點都滿足 f(x) < f(1),確實如此);右邊那句是「凡是 x ∈ D 且 1 < x < 1 + δ 的 x 都滿足 f(1) < f(x)」——這樣的 x 一個也不存在,這句話空洞成立,交不出任何比 f(1) 大的值。
  6. 27.4 的反證要的正是那個「更大的值」:有它才和相對極大衝突。端點上取不到它,矛盾就推不出來,於是導數不為零也不會出事。左端 0 是鏡像的情形——那裡空洞成立的是 27.3 的左半句。
「內點」不是敘述裡的裝飾字,它是矛盾能不能生出來的開關:內點保證兩側都有定義域的點,27.3 的兩句結論才都有內容。實務上的意思是,找極值時解 f′ = 0 只掃得到內部的候選點,端點必須另外一個一個檢查。
f(x) = x 最大在這裡 右邊沒有點可比 0 1

這張圖在說例 1 的機制:藍色粗線是定義域 [0, 1],函數是一條斜率恆為 1 的直線,紅點是唯一的相對極大點。灰色那一塊是 1 右邊的世界,那裡一個定義域的點也沒有,所以 27.3 承諾的「右邊有更大的值」在這裡兌現不出任何東西,27.4 的反證也就無從推起。要讓兩側都有話可說,該點必須是內點。

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

本篇把導數的正負換成了 c 附近的比較:導數為正時,右邊的值比 f(c) 大、左邊的比 f(c) 小(27.3),而這兩句話只在該側真的有定義域的點時才有內容。內點上的相對極值因此逼得導數只能是零(27.4 與極小值版),端點則是這條規則的例外——例 1 的 f(x) = x 於 [0, 1] 兩端都是極值點,導數卻恆等於 1。下一篇把視線從一個點拉到一整段:兩個端點的值一樣高時,中間會不會有一處是平的。先站起來走幾步、把肩膀轉一轉再回來。

登山客在山頂被問:「這裡是全山最高的地方嗎?」他說:「不知道,我只保證我腳下這一小圈裡沒有更高的。」——相對極大點的自白。