§22-3  保緊緻性與極值

一個 compact 集合送過去之後還 compact 嗎?如果是,那麼在這樣的集合上,一個連續的實值函數會不會一定取得到它的 sup 與 inf?三個前提裡哪一個可以拿掉?

關起門來,最熱的位置一定存在

一個有牆有頂的房間裡,空氣的溫度到處都有一點差別。這時候問「哪個位置最熱」是有意義的:房間就那麼大,最熱的位置一定落在某處。換成一整片曠野,同一個問題就未必有答案——你總能再往前走一點,找到更熱的地方,而「最熱的位置」可能永遠追不到。

差別在哪裡?房間是關起來的、有限大的;曠野兩者皆非。這兩個條件合起來,正是 §11-2 的 Heine-Borel 定理裡的 closed 與 bounded,也就是 compact。

本篇證明 compact 也是連續函數保得住的性質,然後把它兌現成一條非常好用的結論:compact 集合上的連續實值函數,最大值與最小值都真的被取到。

22.5  PRESERVATION OF COMPACTNESS
Let K ⊆ D(f) be compact and let f be continuous on K. Then the image f(K) is compact.
連續函數把 compact 送成 compact。配上 Heine-Borel 讀一次就是:K 若 closed 且 bounded,則 f(K) 也 closed 且 bounded。要留意這與上一篇的結論不衝突——那裡壞掉的是 open 與 closed 各自被保住,這裡保住的是兩者合起來再加有界。
正例:f(x) = 1/(1 + x²) 把 compact 的 [−1, 1] 送成 [½, 1],兩端都取得到,仍然 compact。反例:換成不 compact 的 (−1, 1),像是 (½, 1]——上一篇例 2 算過,它不是 closed。compact 是前提,不是結論的裝飾。
PROOF

先把 f 限制在 K 上,於是可以直接假設 D(f) = K。要證的是 11.1 的定義:f(K) 的每一個 covering 都挑得出有限個子集仍然蓋住它。

證明計畫 · 由所求想起
所求是在像那邊挑出有限多個 open set。手上能用「有限」這兩個字的地方只有一處——K 是 compact。所以把像那邊的 covering 整族拉回定義域這邊,用 22.1 一個換一個;拉回來的那族蓋得住 K,於是 K 的 compact 交出有限個;最後把這有限個「送回去」,對應的原來那些 open set 就蓋住了像。三步:拉回、用掉 compact、送回。

Proof.  Let 𝒢 = {G_α} be a family of open sets in ℝ^q whose union contains f(K). By 22.1 there is, for each α, an open set C_α in ℝᵖ with
  C_α ∩ K = f⁻¹(G_α).
這一步的所求:把像那邊的一族 open set 換成定義域這邊的一族。22.1 是逐個集合適用的,所以整族換完之後仍然是一族 open set——這裡沒有用到任何「有限」,換的個數與原來一樣多,可以是無限多。限制定義域的動作在這裡見效:D(f) = K 讓 22.1 的等式左邊直接寫成交上 K。
The family 𝒞 = {C_α} covers K: if x ∈ K then f(x) ∈ f(K), so f(x) ∈ G_α for some α, whence x ∈ f⁻¹(G_α) ⊆ C_α. Since K is compact, finitely many of them, say C_{α1}, ⋯, C_{αn}, already cover K.
這一步的所求:確認拉回來的那族真的蓋得住 K,否則 compact 用不上。驗證只是把定義順著念一次:每個 x ∈ K 的像落在 f(K) 裡,而 f(K) 被原來那族蓋住,所以像落在某個 G_α 裡,於是 x 落在對應的 C_α 裡。「有限」這兩個字在整個證明裡只出現這一次,就是 K 的 compact 被兌現的那一刻。
Finally, f(K) is contained in G_{α1} ∪ ⋯ ∪ G_{αn}: given y ∈ f(K), write y = f(x) with x ∈ K; then x ∈ C_{αi} for some i, and since also x ∈ K we get x ∈ f⁻¹(G_{αi}), that is y ∈ G_{αi}. As 𝒢 was arbitrary, f(K) is compact.
這一步把有限性送回像那邊。關鍵是 x 同時屬於 C_{αi} 與 K,所以它落在兩者的交集,而那個交集依第一步恰好是 f⁻¹(G_{αi})——若 22.1 只給包含而不給等號,這一步就過不去。最後一句的「𝒢 是任取的」不可省:compact 要求的是每一個 covering 都辦得到,不是某一個。
有限性沿著連續函數往前傳。∎
另一條路線(用 Heine-Borel,僅供對照):假設 K closed 且 bounded,直接證 f(K) closed 且 bounded。有界:若不然,每個 n 各挑一點 xₙ ∈ K 使 ‖f(xₙ)‖ ≥ n;(xₙ) 有界,§16-3 的 16.4 給出收斂到某個 x 的子數列,K closed 使 x ∈ K,而 f 在 x 連續使得 f 在 x 的某個 neighborhood 上有界,與 ‖f(xₙ)‖ 無上限矛盾。closed:設 y 是 f(K) 的 cluster point,每個 n 挑 zₙ ∈ K 使 ‖f(zₙ) − y‖ < 1/n,同樣取收斂子數列到 z ∈ K,20.2(c) 給出 f(z) = y,所以 y ∈ f(K)。兩條路線都對,上面那條短得多,因為 22.1 已經把翻譯工作做完了。
K 拉回來的有限族 f(K) 原來那族的同編號 f⁻¹ f

這張圖在說 22.5 的三步:像那邊任給一族開集(右),先整族拉回定義域這邊(上排箭頭),在左邊用掉 K 的 compact 挑出有限個,再把這有限個的編號送回右邊(下排箭頭)。被挑選的動作發生在左邊,可是挑選的結果在右邊直接可用——因為兩邊的集合是一個對一個編號的。

22.6  MAXIMUM AND MINIMUM VALUE THEOREM
Let K ⊆ D(f) be compact in ℝᵖ and let f be continuous on K with values in ℝ. Then there are points x* and x_* in K with
  f(x*) = sup f(K),  f(x_*) = inf f(K).
compact 集合上的連續實值函數取得到最大值與最小值——不只是有上界,而是有一個點真的站在最高處。sup 與 inf 一定存在(值域有界)是第一件事,它們被取到是第二件事,後者才是這條定理的內容。
正例:f(x) = x(1 − x) 在 [0, 1] 上取得到最大值 ¼(在 x = ½)與最小值 0(在兩個端點)。反例:把定義域換成 (0, 1),最小值 0 就取不到了——值可以要多接近 0 有多接近,卻永遠不等於 0。差別只在兩個端點在不在籍。
PROOF

上一條定理已經把 f(K) 交到手上,而且它是 ℝ 的 compact 子集。剩下的工作完全發生在數線上,與 f 無關。

證明計畫 · 由所求想起
所求是「sup 被取到」,也就是 sup f(K) ∈ f(K)。先確認 sup 存在:22.5 加 Heine-Borel 給出 f(K) 有界,完備性公理就交出最小上界。再走反面:若 sup 不在 f(K) 裡,它就必定是 f(K) 的一個 cluster point,而 f(K) 是 closed、收齊了所有 cluster point,矛盾。inf 那一半把不等號全部翻面即可。

Proof.  By 22.5 the set f(K) is compact in ℝ, hence closed and bounded by 11.3. Being non-empty and bounded above, it has a supremum M = sup f(K) by the completeness property 6.4.
這一步是例行核對,可是每一格都不能省。K 非空是隱含的前提(空集上談最大值沒有意義);有界上界來自 f(K) bounded;而§6-2 的 6.4 只保證最小上界存在,完全沒說它是不是集合的成員——後者正是本條定理要證的東西。
Suppose M ∉ f(K). Given ε > 0, by 6.3 there is a value y ∈ f(K) with M − ε < y, and y ≤ M; since y ≠ M every neighborhood of M meets f(K) in a point other than M. Thus M is a cluster point of f(K), so by 10.5 the closed set f(K) must contain M — a contradiction. Hence M = f(x*) for some x* ∈ K.
這一步是全證明唯一有內容的一格。sup 的左測(6.3:任何比 M 小的數都被某個成員超過)說的正是「成員可以貼著 M 要多近有多近」,而這恰好就是 cluster point 的定義——差一句「找到的那個成員不等於 M」,那正是反證假設送的。接著 §10-2 的 10.5(closed ⟺ 收齊所有 cluster point)把矛盾兌現。
The same argument applied to the infimum, or applied to −f, produces a point x_* ∈ K with f(x_*) = inf f(K).
這一格是簿記。走 −f 最省事:它也連續(20.6 的 cf 取 c = −1),而 −f 的 sup 恰是 f 的 inf 取負號,於是剛證好的那一半直接可用,不必把 6.3 的兩測重寫一遍。
最高處與最低處都真的有人站著。∎
最高點取得到 閉區間:兩端在籍 開區間:兩端出局

這張圖在說 22.6 的條件在哪裡起作用:兩邊是同一條曲線,差別只在定義域的兩個端點在不在籍。左邊的最低點恰好落在端點上,所以端點一被挖掉,最小值就跟著消失——而最高點在內部,兩邊都取得到。定理要求 compact,是因為它必須連「極值剛好落在邊界」這種情形一起保證。

22.7  COROLLARY
Let K ⊆ D(f) be compact and let f be continuous on K with values in ℝ^q. Then there are points x*, x_* ∈ K such that
  ‖f(x*)‖ = sup {‖f(x)‖ : x ∈ K},
  ‖f(x_*)‖ = inf {‖f(x)‖ : x ∈ K}.
值落在高維時談不上「最大的值」(ℝ^q 沒有順序),可是離原點最遠與最近的像仍然存在。做法是把整個問題壓成一個實值函數:先取 norm,再套 22.6。
正例:f(t) = (cos t, sin t) 在 K = [0, 2π] 上,‖f(t)‖ 恆為 1,最遠與最近的像同時是每一個點——sup 與 inf 都取得到,只是取到的點不唯一。反例:定理保證的是 ‖f‖ 的極值被取到,不保證每個座標各自的極值在同一點取到——上面這個例子裡第一座標在 t = 0 最大,第二座標在 t = π/2 最大。
PROOF

要把 22.6 用上,得先有一個實值的連續函數。手邊現成的候選是 x ↦ ‖f(x)‖。

Proof.  Write φ(x) = ‖f(x)‖ for x ∈ K. The triangle inequality in the form | ‖u‖ − ‖v‖ | ≤ ‖u − v‖ gives
  |φ(x) − φ(a)| ≤ ‖f(x) − f(a)‖,
so any δ that works for f at a works for φ as well. Thus φ is continuous on K and 22.6 applies to it.
這一步的所求:確認取 norm 之後還連續。用的是 §8-2 的 8.5 三角不等式的反向形式——兩個向量的長度差,不會超過它們的距離,所以取 norm 只會把誤差縮小,20.2(b) 的 δ 可以原封沿用。這與 20.7 對絕對值做的事是同一件,只是換到高維。
高維的情形壓成一維之後,前一條定理照單全收。∎
例 5四個反例,打在三個前提上
22.6 有三個前提:定義域 compact、函數連續、值在 ℝ。哪一個是可有可無的?
  1. 拿掉 bounded:f(x) = x 在 K = [0, ∞) 上。這個集合 closed 卻不 bounded,所以不 compact。f 連續,可是 sup f(K) 根本不是實數——連上界都沒有,遑論取到。
  2. 拿掉 closed:f(x) = x 在 K = (0, 1) 上。這次值域有界,sup = 1、inf = 0 都存在,可是兩個都取不到。差別只在兩個端點被挖掉,而它們正是極值該站的位置。
  3. 拿掉有界但保持 closed 又想有界值域:g(x) = x/(1 + |x|) 在 K = ℝ 上。g 連續、值全落在 (−1, 1) 內,sup = 1、inf = −1,兩個都取不到。值域有界救不了不 compact 的定義域。
  4. 拿掉連續:在 K = [0, 1] 上定義 h(x) = x(x < 1)、h(1) = 0。定義域 compact,可是 sup h(K) = 1 取不到——h 在 x = 1 跳了一階。
四個反例,前三個都打在 compact 上(它自己由 closed 與 bounded 兩半組成,所以拆得出三種缺法),第四個打在連續上;每一次結論都垮。至於第三個前提「值在 ℝ」,拿掉它不是垮,而是換成 22.7 那個關於 ‖f‖ 的敘述。第 3 步特別值得留意(見下圖):把值域壓進一個有界區間並不能替代定義域的 compact,因為 22.6 的證明是先讓 22.5 把 compact 送過去,再用 closed 收住 sup——值域自己「碰巧」有界時,它沒有理由是 closed。
y = 1 y = −1 值域被夾在兩線之間 兩端都碰不到

這張圖在說例 5 第 3 步的畫面:g(x) = x/(1 + |x|) 在整條數線上連續,值域整個夾在兩條虛線之間,sup = 1、inf = −1 都存在。可是曲線一路貼近卻從不觸及兩條線——值域有界完全救不了不 compact 的定義域,因為 22.6 的證明要的是像集合 closed,而這裡的像是 open 的 (−1, 1)。

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

本篇證了 compact 沿著連續函數往前傳(22.5),手法與上一篇同源:把像那邊的一族 open set 用 22.1 整族拉回,在定義域這邊用掉有限性,再把編號送回去。兌現成實值函數就是最大最小值定理(22.6)——sup 與 inf 都真的被某個點取到,證明只用了「compact 蘊涵 closed」加上 sup 的左測。22.7 把它推到高維:值談不上大小,離原點的距離仍然談得上。例 5 逐條拆掉前提,四次全垮。起來走走、伸展一下——下一篇要用 22.5 換一份意想不到的紅利:連續的單射函數,反函數自動連續。