§28-3 定位根與數值估計
已知一個函數是誰的導數,能不能反推它的根落在哪裡?而如果只想知道某個數的近似值,均值定理除了給出近似值,還能不能同時交出誤差的上下界?
均值定理的兩種用法:找根與估數
公園裡的鞦韆來回擺盪,小孩每次盪過最低點都會笑一聲。兩聲之間發生了什麼?鞦韆先往一側愈盪愈慢,慢到某一刻整個停在半空,再往回加速。兩次經過最低點之間,一定有一刻是靜止的——這件事不必看錶、也不必量距離,光憑「來回」兩個字就跑不掉。
反過來也一樣:兩次靜止之間,鞦韆一定經過一次最低點。於是「經過最低點」與「靜止」在時間軸上輪流出現,中間不會連著發生兩次同一種。只要位置的變化率就是速度,這種牽制就一定成立,而它跟鞦韆盪得多高、繩子多長完全無關。
本篇還要問另一件事。手邊沒有計算機時,說出「√105 大約是 10.2」不難,難的是接著那一句:這個答案最多錯多少?把「最多錯多少」講清楚比多算幾位小數值錢得多,因為前者是一個保證,後者只是一個數字。
這張圖在說 28.1 保證什麼:曲線兩次落到水平線上(那兩點的值都是零),中間不管怎麼拱,紅色那一點的切線必定是水平的,而水平就是導數為零。圖上只畫了一個這樣的點,定理承諾的卻只是「至少一個」——曲線多繞幾次,這種點就會有好幾個,定理不負責指出是哪一個,也不負責算出它的位置。
手上的工具有兩件。§27-3 的 27.5 洛爾定理說:a < b、f 在 [a, b] 上連續、在 (a, b) 內可微、而且兩端的值都是零時,(a, b) 內存在一點使導數為零。§27-1 的 27.2 說在某一點有導數的函數必定在那一點連續。前提給的是「I 上處處可微」,而 27.5 要的是「某個閉區間上連續、其內部可微、兩端為零」——中間缺的只有兩格:確認那個閉區間真的躺在 I 裡,以及把可微翻譯成連續。
證明計畫 · 由所求想起
所求是兩個根之間的一點,f′ 在那裡是零。能生出「導數為零」的工具只有 27.5,所以整個證明就是去湊它的四個前提。
第一步:把兩個根排出大小,較小的當左端、較大的當右端,取它們之間的閉區間。
第二步:確認這段閉區間整個落在 I 內,於是 f 在它的每一點都可微。
第三步:用 27.2 把可微換成連續,四個前提到此到齊。
第四步:27.5 交出的那一點導數為零,也就是 g 的根。
這張圖在證這一步真正做了什麼:藍色粗線是被切出來的 J = [u, v],它整段躺在細線代表的 I 內——靠的是「I 是區間」,兩端在裡面就保證中間也在裡面。曲線在 J 的兩端剛好落到水平線上,那就是 27.5 要的「兩端的值都是零」,於是它交出中間那個切線水平的紅點。
接下來把 28.1 用在一組具體的函數上。這裡會用到正弦與餘弦,但只用到一件事:餘弦是正弦的導數,而正弦的相反數是餘弦的導數——這兩個函數的嚴格定義本篇不需要,也還沒建立,此處明標為借用。順帶借的還有「它們在 ℝ 的每一點都有導數」,那是前一句話的附帶內容。除此之外不會用到它們的任何數值。
- 記 f(x) = sin x、g(x) = cos x,兩者都以 I = ℝ 為定義域。借來的兩件事寫成式子就是 f′ = g 與 g′ = −f。ℝ 是區間,而兩者在它的每一點都有導數,所以 28.1 的前提對兩者都成立。
- 第一次套 28.1:把那裡的 f 取成 sin,於是那裡的 g 就是 sin′ = cos。結論是——sin 的任兩個相異根之間,至少有一個 cos 的根。
- 角色對調,第二次套 28.1:這次把那裡的 f 取成 cos,它的導數是 −sin。結論是 cos 的任兩個相異根之間,至少有一個 −sin 的根;而 −sin x = 0 與 sin x = 0 是同一句話,所以那就是 sin 的根。
- 把話說準一點。設 u < v 是 cos 的兩個根,而它們之間沒有別的 cos 根。由第 3 步,(u, v) 內至少有一個 sin 的根。而它只能有一個:假如有兩個,由第 2 步這兩個之間又得夾一個 cos 的根,那個根會落在 u 與 v 之間,與「它們之間沒有別的 cos 根」牴觸。
- 把 sin 與 cos 的角色對調,同一段話原封不動再走一次:相鄰的兩個 sin 根之間,也恰好有一個 cos 的根。
- 整段推理都是條件式的。如果其中一個函數的根不到兩個,「任兩個相異根之間」就沒有東西可談,上面每一句都空著手。sin 與 cos 各有無限多個根,可是那件事本篇沒有建立、也不需要——交錯這個結論本身就只在「真的有兩個根」的時候才說話。
這張圖在說第 4、5 步證出來的是什麼:實心點是 sin 的根、空心圈是 cos 的根,相鄰的兩個同種標記之間必定恰好夾著一個異種標記,於是兩種只能輪流出現。圖上把它們畫成等距的,可是推理完全沒有用到「等距」——28.1 只管順序,不管間隔,也不管這些點各自落在哪個數值上。
- 令 f(x) = √x,定義域取 (0, ∞)。§28-2 的有理冪定理保證每個非負實數都有唯一的非負平方根(√2 那個特例早在 §6-4 的 6.8 就用完備性造出來了),所以 √105 確實是一個實數,而它就是要估的對象。同一條定理也給出
f′(x) = (1/2)·x^(−1/2) = 1/(2√x) (x > 0),
而 §27-1 例 2 早就從差商硬算過同一個答案,兩條路對得上。 - [100, 105] 的每一點都大於零,所以 f 在這段閉區間的每一點(含兩個端點)都有導數——這正是 §27-3 的 27.7 要的前提,連續不必另外驗。於是存在 c,100 < c < 105,使
√105 − √100 = f′(c)·(105 − 100),
也就是
√105 − 10 = 5/(2√c)。 - 接下來完全不必再碰 f,只要框住 √c。先記一件會反覆用到的事,平方根保序:若 0 ≤ s < t 而 √s ≥ √t,兩邊平方就得 s ≥ t,與假設牴觸;所以 s < t 時必定 √s < √t。
- 第一輪。由 100 < c < 105 與保序得 10 = √100 < √c < √105;又因為 105 < 121,所以 √105 < √121 = 11。兩段接起來就是 10 < √c < 11。
- 分母愈大、商愈小,把上一步倒過來:
5/(2·11) < 5/(2√c) < 5/(2·10),
而中間那一項依第 2 步就是 √105 − 10。左邊是 5/22 = 0.22727…,右邊是 0.25,兩邊各加 10 得
10.2272 < √105 < 10.2500。
下界的小數是無條件捨去的:10 + 5/22 = 10.22727…,往下捨只會讓下界更小,所以捨完仍然是一個合法的下界。 - 第二輪。上一步順手交出了一份新情報:√105 < 10.25。而 c < 105 配上保序給 √c < √105 < 10.25,比原來那個 11 緊得多。把它代回同一條等式的左邊界:
5/(2·10.25) < 5/(2√c) = √105 − 10,
而 5/20.5 = 0.24390…,於是
10.2439 < √105 < 10.2500。 - 兩輪的成果對照一下:第一輪的區間長 0.0228,第二輪只剩 0.0061,縮到不足三分之一,而真正的值 10.24695… 從頭到尾都被關在裡面。上界一步都沒有動,收緊的全是下界——原因很乾脆:新情報改善的是 √c 的上界,而上界那一側靠的是 √c 的下界 10,它從 c > 100 直接得來,這一輪什麼也沒變。
這張圖在說第 2 步把什麼換成了什麼:藍色割線的傾斜程度是 (√105 − 10)/5,也就是我們想知道的那個誤差除以區間長度;均值定理保證中間某一點的切線與它一樣斜,而那一點的斜率寫得出來,是 1/(2√c)。於是「誤差是多少」被換成了「c 落在哪裡」,而 c 雖然算不出來,卻被關在 100 與 105 之間——夠用了。
這張圖在說兩輪夾擠各買到了什麼:灰色那條是第一輪框出來的區間,藍色那條是把新上界回代之後的第二輪,兩條的右端對齊——上界沒有動,縮短的全來自左邊。紅點是真正的值,兩輪都把它關在條子裡面,這就是「帶誤差界的估計」與「算出一個近似值」的差別。
本篇把 27.5 讀成了一句實用的話:f 的兩個相異根之間必定夾著 f′ 的一個根,而正弦與餘弦互為對方導數這件事一借過來,兩者的根就只能交錯排列。估數那一邊,27.7 把 √105 − 10 寫成 5/(2√c),於是框住 √c 就等於框住誤差,而剛拿到的上界還可以回頭餵進同一條等式再收緊一次。下一篇要問的是:一條只對自然數指數成立的不等式,換成有理指數還對嗎?先站起來走幾步、把肩膀前後轉一轉,喝口水再回來。