§29-4  Cauchy 判準與兩個極端的例子

要證明一個函數可積,非得先猜出積分值不可嗎?有沒有辦法只憑各個和彼此的距離就下判斷?而一個有無限多個不連續點的函數,究竟什麼時候積得出來、什麼時候積不出來?

積不出來的時候,怎麼確定它真的積不出來

一群朋友約在夜市碰面,可是誰也說不清楚到底約在哪一攤。要確認大家會不會碰到頭,有兩種辦法。第一種:先問出正確的攤位,再看每個人離它多遠。第二種:不管攤位在哪,只盯著這些人彼此之間的距離有沒有一直縮小——縮到剩幾公尺,他們遲早會撞見對方。

第二種辦法有一個明顯的好處:它不需要事先知道答案。§29-2 的 29.2 走的偏偏是第一種——要說一個函數可積,得先端出一個實數 I,再證明所有的和都圍著它轉。

先端出 I 有多麻煩?本篇從一個積不出來的例子開始,順便把 29.2 的量詞真正用一次。那個函數的和不但不圍著任何一個數,還可以被中間點的挑法拉到指定的位置去。

手邊備妥三件工具。其一,§29-1 的分割與加細:加細只准加分割點、不准挪動舊的,所以任兩個分割都有共同的加細,而加細之後子區間只會變短。其二,§29-1 的 29.1 的 Riemann–Stieltjes 和
  S(P; f, g) = Σ f(ξₖ)·[g(xₖ) − g(xₖ₋₁)],
這個記號沒有把中間點寫進去,同一個 P 配不同的 ξₖ 會給出不同的和。其三,§29-2 的 29.2:f 對 g 可積,意思是有一個實數 I,使得對每個 ε > 0 都交得出一個分割 Pε,讓它的每一個加細、每一種中間點的挑法給出的和都離 I 不到 ε。本篇的兩個例子都取 g(x) = x,權重就是子區間的長度;整節的通用前提(f 與 g 都有界)照舊。
例 1Dirichlet 函數不是 Riemann 可積
同一個分割上,和可以被中間點的挑法拉開多遠?如果拉得夠遠,29.2 要的那個 I 就無處可放。
  1. 登場的兩個函數:f 在有理點取 1、在無理點取 0(§20-4 的 Dirichlet 函數,它在每一點都不連續),以及 g(x) = x。區間取 J = [0, 1]。
  2. 任取一個分割 Q,再任取它的一個加細 P = (x₀, x₁, ⋯, xₙ)。中間點全挑有理數:每個 ξₖ 都要落在 [xₖ₋₁, xₖ] 裡而且是有理數,這辦得到,因為 §6-4 的 6.10 稠密性說任兩個相異實數之間必有有理數。於是每一項的 f(ξₖ) 都是 1,和變成
      Σ 1·(xₖ − xₖ₋₁) = xₙ − x₀ = 1。
    (分割的定義允許相鄰兩個分割點相等,那種子區間退化成一點、中間點沒得挑;可是它的權重 xₖ − xₖ₋₁ 是 0,對和沒有任何貢獻,所以不影響這筆計算。)
  3. 中間點全挑無理數:同一條稠密性也說任兩個相異實數之間必有無理數,所以每個 f(ξₖ) 都是 0,整個和是 0。
  4. 兩個和永遠相距 1,而且與 P 切得多細完全無關——加細只是把子區間切得更短,可是每一段裡兩種點都還在。
  5. 反證收尾。假設有 I 使 29.2 成立,取 ε = ⅓,於是拿到一個分割 Pε。因為 Pε 是自己的加細,上面那兩個和都必須離 I 不到 ⅓,由 §5-4 的 5.12 三角不等式它們彼此相距不到 ⅔。可是它們相距 1,矛盾。
  6. 再看得具體一點。把 [0, 1] 等分成 n 段,其中 k 段的中間點挑有理數、其餘挑無理數,和恰好是 k/n。n = 1000 時 k 從 0 跑到 1000,同一個分割上算得出來的和可以是 0, 0.001, 0.002, ⋯, 1 之中的任何一個。切得更細也不會改善:這些值仍然鋪滿整段 [0, 1]。
問題不在壞點有幾個,而在每一個子區間裡兩種點都有——不論分割多細,和的可能值都鋪滿 [0, 1],沒有任何一個 I 能被它們圍住。順帶留意這個反證用掉的力氣:它得先假設 I 存在,才有東西可以推翻。
1 0 全挑有理數的和 合計 1 全挑無理數的和 0 1

這張圖畫的是例 1 的矛盾機制本身:同一個分割、同一批子區間,中間點全挑有理數時每一段都以高度 1 計價,整塊面積合計 1;全挑無理數時每一段都以高度 0 計價,和貼著橫軸。右邊那條豎線就是兩個和的距離,恆為 1,而且加細再多刀也不會縮短——任何候選的 I 都得同時貼近相距 1 的兩個數。

回頭看第 5 步。矛盾其實在 I 出場之前就備妥了:「兩個和相距 1」這件事完全不提 I,I 只是被拿來當一次中轉站。那麼反過來會怎樣?如果各個和彼此都靠得夠近,能不能就此斷定有一個數被它們圍住——即使我們一開始說不出那個數是誰?

29.4  CAUCHY CRITERION FOR INTEGRABILITY
Integrability of f with respect to g on J = [a, b] is equivalent to the following condition: to each ε > 0 there corresponds a partition Qε of J such that whenever P and Q both refine Qε, any Riemann-Stieltjes sums built on them obey |S(P; f, g) − S(Q; f, g)| < ε.
價值全在一件事上:積分值不出現在條件裡。要證可積,不必先猜出 I 是多少,只要證明各個和彼此靠得夠近。難的一半是反過來——手上只有「和彼此靠近」,卻要生出一個具體的 I。做法是造一列越來越細的分割,在每一個上取一個和,證明這列實數是 Cauchy sequence,再由 §16-5 的 16.10 交出它的極限,最後驗證那個極限真的滿足 29.2。另外要留意條件裡的 P 與 Q 允許取成同一個分割——那時比較的是同一個 P 配兩組不同中間點的和,這一格照樣要小於 ε。
正例:§29-2 例 2(g 恆為常數)——每一項的增量都是 0,任何兩個和的距離就是 0,Qε 隨便挑一個分割都合格,判準判它可積。反例:例 1 的 Dirichlet 函數——任何分割的任何加細上都造得出相距 1 的兩個和,所以 ε = ½ 時交不出任何 Qε,判準判它不可積。
29.2 29.4 I 先量到中心的距離 只量彼此的距離

這張圖在說 29.4 換掉了什麼:兩邊的小點都是各個分割上算出來的和。左邊照 29.2 的規格辦事,得先有紅色那個中心 I,才量得出「每個和離它多遠」;右邊照 29.4 辦事,圈裡沒有中心,只量小點兩兩之間的距離。定理說這兩件事其實等價——右邊的圈一旦夠小,那個中心就必定存在,儘管它並沒有被寫出來。

PROOF  1/2

記 J = [a, b],f 與 g 在 J 上有界。這張卡只辦容易的一半:可積推出判準。

證明計畫 · 由所求想起
所求是一個分割,讓它的加細上任兩個和互相靠近。
可積的定義已經交出這樣一個分割了——它讓每個和都離同一個中心不到 ε/2。
兩個都貼著同一個中心的數,彼此就貼在一起,這是三角不等式的標準用法。

Proof.  Suppose first that f is integrable with respect to g, with integral I, and let ε > 0. By 29.2 there is a partition Pε for which every refinement P of Pε and every sum attached to it satisfy |S(P; f, g) − I| < ε/2. Put Qε = Pε. Since P and Q both refine Qε, that estimate applies to each of them, so 5.12 yields
  |S(P; f, g) − S(Q; f, g)|
  ≤ |S(P; f, g) − I| + |I − S(Q; f, g)| < ε.
這一步的所求:一個能讓「任兩個和互相靠近」的分割。可積的假設已經把它交出來了——向 29.2 要的時候故意報 ε/2 而不是 ε,因為等一下要把兩段誤差相加。§5-4 的 5.12 三角不等式(和的絕對值不超過兩個絕對值的和)在這裡的用法,是把 S(P; f, g) − S(Q; f, g) 拆成 S(P; f, g) − I 與 I − S(Q; f, g) 兩段。代一組數字:ε = 0.02 時 Pε 保證每個和都落在 I 的 0.01 之內,於是任兩個和最遠相距 0.02。因為結論裡不再出現 I,這一半確實把積分值消掉了;I 只在推導途中當了一次中轉站。
可積推得出判準,用掉的只有「所有的和都貼著同一個中心」。∎
PROOF  2/2

反過來假設判準成立。手上只有「和彼此靠近」,而 29.2 要的是一個具體的實數,所以這一半的工作是把那個數造出來。以下的 n、m 都指自然數。

證明計畫 · 由所求想起
所求是一個實數,可是判準一個數都沒給,只給了一族分割。
第一步:把判準給的分割串成一列,後一個是前一個的加細,容許的誤差一級比一級嚴。
第二步:在每個分割上各取一個和,得到一列實數;越後面的兩項共用越細的分割,於是它們擠得越近。
第三步:擠得越來越近的實數列有極限,這一步向實數的完備性借力。
第四步:把那個極限代回 29.2 驗一次。前三步都是準備,這一步才是結案。

Conversely, assume that the criterion holds. Choose a partition Q₁ of J so that any two sums built on refinements of Q₁ differ by less than 1. Suppose Q₁, ⋯, Qₙ₋₁ have already been chosen. The criterion applied to ε = 1/n supplies a partition R; let Qₙ consist of all partition points of Qₙ₋₁ together with all those of R. Then Qₙ refines Qₙ₋₁; and since every refinement of Qₙ refines R as well, any two sums built on refinements of Qₙ differ by less than 1/n.
這一步的所求:一列越來越細的分割,容許的誤差一級比一級嚴。判準每次交出來的分割彼此毫無關係,不能直接排成一列——得把它與前一個取共同加細(兩邊的分割點併起來),才排得出「後者是前者的加細」這條鏈。併起來之後性質不會掉,理由是:Qₙ 的加細必定也是 R 的加細(分割點只多不少),而 R 保證的正是它的加細上任兩個和相距不到 1/n。拿具體的畫面走一次:Q₁ 可能是 {0, ½, 1},第二輪判準給的 R 是 {0, ⅓, ⅔, 1},併起來的 Q₂ 就是 {0, ⅓, ½, ⅔, 1},五個分割點、四段子區間;Q₃ 再往上疊,分割點只增不減。
Q₁Q₂Q₃ < 1< 1/2< 1/3 分割點只增不減

這張圖在證第一步造出了什麼:三條線是同一段區間的三個分割,下一條的刻度包含上一條的每一道,所以由上而下確實是一路加細。右側標的是那一層的承諾——落在第 n 層之下的任兩個和,距離不到 1/n。之所以要層層相含,是因為下一步要拿「後面的分割同時也是前面的加細」來比較不同層取出的和。

For each n choose intermediate points on Qₙ and write sₙ = S(Qₙ; f, g). Let m ≤ n. Because Qₙ refines Q_m and Q_m refines itself, both sₙ and s_m are sums built on refinements of Q_m, hence |sₙ − s_m| < 1/m. Since 1/m is eventually smaller than any prescribed positive number, (sₙ) is a Cauchy sequence, and this conclusion is unaffected by the way the intermediate points were picked.
這一步的所求:一列實數,而且要能證明它越擠越近。sₙ 的意思是「在第 n 個分割上隨手挑一組中間點算出來的那個和」——例如上一步的 Q₂ = {0, ⅓, ½, ⅔, 1} 有四段,各挑一點算出來的數就是 s₂。估計為什麼成立:m ≤ n 時 Qₙ 是 Q_m 的加細,而 Q_m 當然也是自己的加細,所以 sₙ 與 s_m 恰好是「Q_m 的兩個加細上的和」,正是第 m 層那句承諾管得住的一對。由 §6-3 的 6.6 Archimedean property(ℕ 在 ℝ 中沒有上界),1/m 遲早小於任何指定的正數,Cauchy sequence 的定義因此滿足。最後那句話值得多看一眼:中間點是我們隨手挑的,換一組挑法會得到另一列 sₙ,可是每一列都是 Cauchy sequence,論證從頭到尾不看挑法。
1 1/2 1/3 s₁s₂s₃⋯ 越後面的兩項擠得越近

這張圖在證第二步的估計長什麼樣:數線上的點是各層取出的和。從第 m 項起,後面所有的項都被關進一段長度 1/m 的範圍裡——上方三條線段就是 m = 1, 2, 3 的那三段,一段比一段短。這正是 Cauchy sequence 的形狀:不必知道它們往哪裡去,只要知道它們互相追得越來越緊。

By 16.10 the sequence (sₙ) converges to some real number L.
這一步的所求:把「越擠越近」換成一個真正存在的數。§16-5 的 16.10 Cauchy convergence criterion(一列實數收斂的充要條件就是它是 Cauchy sequence)在這裡只動用充分的那一半,而它背後靠的是實數的完備性——同樣的推理搬到有理數上就不成立,因為極限可能不是有理數。這一行是全證明唯一憑空生出東西的地方:前面每一個估計都只談距離,到這裡才第一次冒出一個具體的實數 L,而它正是等一下要交給 29.2 的那個候選值。
s₁s₂ L Cauchy 數列必收斂 極限就是所求的積分值

這張圖在證第三步交出了什麼:實心點是各層取出的和,它們一路往右擠,可是「擠成一團」本身並不保證團的中心存在——空心圓那個位置是實數的完備性補上的。16.10 的內容就是這句補充,而補進來的 L 隨即成為積分值的唯一候選。

Let ε > 0 and choose N so large that both 2/N < ε and |s_N − L| < ε/2 hold. If P refines Q_N, then P and Q_N are both refinements of Q_N, so every sum attached to P obeys |S(P; f, g) − s_N| < 1/N < ε/2. Therefore
  |S(P; f, g) − L| < ε/2 + ε/2 = ε.
Because ε was arbitrary, Q_N is the partition required by 29.2, so f is integrable with respect to g and ∫ f dg = L.
這一步的所求:驗證 L 真的合乎 29.2 的規格。N 要同時滿足兩件事——2/N < ε 讓構造給的 1/N 落在 ε/2 以下(由 6.6 這樣的 N 找得到),而 |s_N − L| < ε/2 來自 (sₙ) 收斂到 L;兩個要求各給一個門檻,取較大的那個即可。接下來是兩段接力:Q_N 的任何加細上的和先走到 s_N(因為 P 與 Q_N 都是 Q_N 的加細,第一步的構造管得住這一對),再從 s_N 走到 L。代一組數字:ε = 0.1 時取 N = 21,第一段不到 1/21 ≈ 0.048,第二段不到 0.05,合計不到 0.1。最後留意 29.2 要的分割就是 Q_N 自己,而它早在這個 ε 出現之前就造好了——造那一列分割時用的門檻是 1/n,與現在挑的 ε 無關。
< 1/N < ε/2 S(P)s_NL 合起來小於 ε

這張圖在證第四步為什麼收得了尾:左邊是 Q_N 的任一個加細上算出來的和,右邊是剛生出來的 L,中間停在 s_N 這一站。兩段跨距各由一件不同的事負責——左段來自第一步的構造(同一層的兩個和相距不到 1/N),右段來自第三步的收斂。兩段相加正好是 29.2 要的形狀,所以 Q_N 可以直接當見證分割交出去。

判準推得出可積:那個原本不知道在哪裡的積分值,是由一列越來越細的分割逼出來的。∎
—— 中場小憩 ——

判準到手了,而且兩個方向的難度差很多:正向借用可積的定義,三行結束;反向得親手把積分值造出來,靠的是一列層層相含的分割加上實數的完備性。倒杯水、把肩膀往後轉兩圈,回來拿這個判準去試一個看起來不可能的對象。

例 1 的函數有無限多個不連續點,於是積不出來。不連續點的個數真的是關鍵嗎?下面這個函數的不連續點一樣有無限多個,一樣稠密地鋪滿整段區間,答案卻反過來。

例 2Thomae 函數 Riemann 可積,積分為零
壞點多到稠密還積得出來,那麼決定可積與否的到底是什麼?
  1. 登場的函數:f(0) = 1,f 在無理點取 0,而 m 與 n 互質時 f(m/n) = 1/n(§20-4 的 Thomae 函數,它恰好在無理點連續、在每個有理點不連續)。區間取 J = [0, 1],g(x) = x。
  2. 只需處理 ε ≤ 1 的情形。ε 更大時直接沿用 ε = 1 交出的那個分割即可,因為要求只會更鬆。這個限制第 3 步就要用。
  3. 清點會超標的點。f(x) ≥ ε/2 只可能發生在 x = 0,或 x = m/n 既約而 1/n ≥ ε/2——也就是分母 n ≤ 2/ε 的那些有理數。分母的可能值有限(由 §6-3 的 6.6 Archimedean property,2/ε 之下只有有限多個自然數),而每個分母配得上的分子又夾在 0 與 n 之間,所以這種點只有有限多個;設共 N 個。第 2 步在這裡兌現:ε ≤ 1 使 ε/2 ≤ ½ < 1 = f(0),所以 0 必定入列,N ≥ 1,下一步的 ε/(4N) 不會除到零。
  4. 挑見證分割。取 Pε 為 [0, 1] 的等分分割,段數大到讓每一段的長度都小於 ε/(4N)(同樣由 6.6,這樣的段數找得到)。關鍵的一格在這裡:29.2 講的是加細,不是「夠細」,可是用分割寬度起手完全不衝突——加細只會加分割點,子區間只會變短,所以「每段長度小於 ε/(4N)」這個性質被 Pε 的每一個加細原封繼承。
  5. 估計任何一個和。取 Pε 的任一加細 P、任一組中間點,把各項分成兩堆。堆一是中間點恰好落在那 N 個點之一的段。先把其中長度為零的段挑掉——分割的定義只要求 xₖ₋₁ ≤ xₖ,所以分割點可以重複,同一個點因此可能被任意多個零長度的段拿去當中間點;可是那些段的權重是零,整項就是零,加多少個都不改變總和,所以只需要算長度為正的段。這種段裡,一個點至多被兩段共用(它剛好是分割點時,左右各一段),所以至多 2N 個;每段的 f(ξₖ) ≤ 1、長度小於 ε/(4N),於是這一堆合計
      < 2N × ε/(4N) = ε/2。
  6. 堆二是其餘各段:中間點不在那份清單上,所以 f(ξₖ) < ε/2;而這些段的長度加起來至多是整段區間的長度 1,於是這一堆不超過 ε/2。f 非負而權重是長度,每一項都非負,兩堆相加得到
      0 ≤ S(P; f, g) < ε。
  7. 用判準結案。Pε 的任兩個加細上的和都落在 [0, ε) 裡,彼此相距因此不到 ε;把 29.4 的 Qε 取成 Pε,條件滿足,f 對 g 可積。到這一步為止完全沒有用到積分值是多少。
  8. 可積之後才問值。中間點全挑無理數時每一項都是 0,所以每個分割上都取得到一個為 0 的和(挑得到無理數同樣由 6.10 稠密性);而 29.2 要求這些和都離 I 不到 ε,於是 |I| < ε 對每個 ε 成立,只能 I = 0。所以 ∫ f dg = 0。
  9. 拿數字走一次。ε = 0.1 時分母上限是 20,符合條件的點共 N = 129 個(0 這一點,加上分母不超過 20 的既約分數 128 個)。於是每段長度要小於 0.1/516 ≈ 1.94 × 10⁻⁴,等分成 5161 段就夠。堆一的上界是 258 × 1.94 × 10⁻⁴ ≈ 0.05,堆二不超過 0.05,合計 0.1。實際挑最壞的中間點(每一段都挑段內分母最小的有理數)算出來的和是 0.0149,離上界還很遠——這個估計很粗,可是夠用。
與例 1 的差別,全在壞點的「壞度」會不會遞減。Dirichlet 函數在每個有理點都取 1,不論分割多細,每一段裡都找得到把值拉到滿的中間點;Thomae 函數在有理點取的是 1/n,超過任一門檻的點只有有限多個,而有限多個點總擋得住——把它們各自關進一條夠短的子區間,它們就只剩長度上的損失。兩個函數都有無限多個不連續點,可積與否卻分道揚鑣,可見不連續點的多寡不是判準,它們有多壞才是。
ε/2 高點只有有限多個 01 其餘各段的值都小於 ε/2

這張圖在證例 2 的估計為什麼拆得成兩堆:每個有理點上方有一個點,高度是它既約分母的倒數。紅色虛線是門檻 ε/2,線上方的點只有有限多個——藍色窄帶各罩住一個,帶寬就是分割的段長。落在帶內的段至多 2N 條,靠「帶很窄」壓下去;帶外的段值本來就低於門檻,靠「總長度只有 1」壓下去。

例 1 例 2 壞度不會減 壞度隨分母遞減

這張圖在說兩個例子分道揚鑣的原因:橫軸都是 [0, 1],點的高度是函數在那裡取的值。左邊每個有理點都頂到同一個高度,任何門檻之上都還有無限多個點,避不開;右邊的高度隨分母遞減,任何門檻之上只剩有限多個點,於是躲得掉。兩張圖的壞點都稠密,可是只有右邊那種壞法擋得住。

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

本篇的主線是一次角色互換:例 1 用 29.2 判不可積,得先假設積分值存在,才有東西可以推翻;29.4 把積分值整個移出條件,只留下「各個和彼此靠近」,代價是反方向要親手把那個數造出來——造法是一列層層相含、越來越細的分割,配上實數的完備性。例 2 隨即兌現了這份便利:先判可積,再定值,而它也說明了決定可積與否的不是不連續點的多寡,是它們有多壞。下一篇把積分當成一個運算來看,問它對被積函數與對 integrator 分別是不是線性的,以及把區間從中間切開之後,兩段的積分加不加得回去。這一篇的估計很密,起來走一走、把手臂往上伸展兩次再回來。