Let f have domain D(f) ⊆ ℝᵖ and values in ℝ^q. We say f satisfies a Lipschitz condition in case there is a constant A > 0 with ‖f(x) − f(u)‖ ≤ A‖x − u‖ for all x, u ∈ D(f). When such an inequality holds with a constant A < 1, the function is called a contraction.
一個倍率管住全部的點對。倍率小於 1 時特別重要——那表示函數把任何兩點之間的距離都拉短,這個性質在下一篇會換來一個很實用的定理。要留意這裡不要求 p = q——不等式兩邊都是實數,維度不同照樣比得起來。真正需要定義域與值域同一個空間的是下一篇的不動點:那裡要反覆把輸出再餵回輸入,值域得落回定義域才行。
Proof. Let ε > 0 and put δ(ε) = ε/A. If x, u ∈ D(f) and ‖x − u‖ < δ(ε), then ‖f(x) − f(u)‖ ≤ A‖x − u‖ < A · (ε/A) = ε. Since δ(ε) does not involve any point of the domain, f is uniformly continuous.
這一步的所求:交出一個與位置無關的 δ。之所以交得出來,是因為 Lipschitz 條件裡的 A 從一開始就是一個常數,對所有點對通用——均勻連續要的正是這種通用性,於是不必再做任何整理。要留意 A > 0 是定義的一部分,除法才有意義;若某個函數對 A = 0 成立,它是常數函數,取任何正的 δ 都行。
Lipschitz 是均勻連續的一個現成證書,而且附帶一個算得出來的 δ。∎
這張圖在說 Lipschitz 條件的幾何意思:以任一點為頂點畫兩條斜率為 ±A 的直線,整條曲線都必須留在這個角度之內。左邊的曲線做得到;右邊那條在原點附近幾乎是鉛直的,不管把 A 取多大都會被它衝破。要留意右邊那條仍然連續、甚至均勻連續——Lipschitz 是更嚴格的一個要求。
這張圖在說例 5 的矛盾長什麼樣:Lipschitz 條件(把 u 固定成 0 之後)要求 √x ≤ Ax,也就是曲線整條走在直線下方。可是不管把 A 取多大、直線畫得多陡,兩者總會在 x = 1/A² 交會,而交點左邊的那一段曲線一律在直線上方。倍率越大,交點越靠近原點,破功的區域縮小卻從不消失。
LEMMA
Let g satisfy a Lipschitz condition with constant B and let f satisfy one with constant A, the range of g lying in the domain of f. Then f ∘ g satisfies a Lipschitz condition with constant AB. In particular, if f is a contraction with constant C whose range lies in its own domain, then the n-fold composite of f with itself is a contraction with constant Cⁿ.
兩道工序接起來,倍率相乘——與 §21-4 對線性函數合成的估計是同一個形狀。後半句是它真正的用場:一個 contraction 反覆作用 n 次,倍率變成 Cⁿ,而 C < 1 讓它趨向零。下一篇的整條論證就靠這個。
合成的定義域由接口裁定(§2-2 的 2.3),這裡假設 g 的值都落在 f 的定義域裡,所以 f ∘ g 在 D(g) 上處處有定義。
Proof. For x, u ∈ D(g), applying the two conditions in turn gives ‖f(g(x)) − f(g(u))‖ ≤ A‖g(x) − g(u)‖ ≤ AB‖x − u‖. Taking g = f and iterating n − 1 times gives the constant Cⁿ for the n-fold composite.
這一步是例行核對,可是順序不能顛倒:先對外層用一次條件,把問題換成 g 的兩個像之間的距離,再對內層用一次。外層那一次之所以用得上,是因為 g(x) 與 g(u) 都落在 f 的定義域裡——這正是前提裡「值域包在定義域內」的用途。反覆迭代時每一輪各乘一次 C,n 輪就是 Cⁿ。