第 5 章現在由序列轉向函數。新的困難在於:序列是透過離散的索引 n 向
前走,但函數的自變數 x 可以由左、由右,以無窮多種實數方式逼近一個
點 a。
這就是為甚麼需要引入 δ-ε 定義。
由序列極限走向函數極限
對於序列,
n→∞limxn=L
意思是:只要把索引取得夠後,序列值就能進入 L 周圍任意窄的誤差帶。
對函數來說,我們想表達同樣的思想:
當 x 靠近 a 時,f(x) 靠近 L。
但這裡已經不能再說「把 n 取得夠大」。我們需要新的量去描述「x 與
a 夠接近」,這個角色就是 δ。
開區間 與 穿孔定義域
先指明要處理哪類定義域。
定義
開區間
開區間 是 R 的下列形式子集:
(b,c)={x∈R∣b<x<c},(−∞,c)={x∈R∣x<c},(b,∞)={x∈R∣b<x},其中 b,c∈R 且 b<c。
要討論 a 附近的函數極限時,考慮的是在某個 開區間 裡,把
點 a 移除後的函數。這一點很重要:極限研究的是 a 附近 發生甚麼,
而未必是 a 本身的函數值。
正式的 delta-epsilon 定義
定義
函數在一點的極限
設 I 是一個包含 a∈R 的 開區間,並令
f:I∖{a}→R。若對每個 ε>0,都存在
δ>0 使得
0<∣x−a∣<δ⟹∣f(x)−L∣<ε,則我們說
x→alimf(x)=L.這個蘊含式要求對每個 x∈I∖{a} 都成立。δ 可以依賴 ε,但不可以依賴輸入 x。
這個蘊含式要慢慢讀:
- 0<∣x−a∣<δ 表示 x 已進入 a 周圍的 穿孔鄰域;
- ∣f(x)−L∣<ε 表示函數值進入 L 周圍的 ε-帶。
所以整個定義的意思是:
對每個你要求的輸出精度 ε,都能找到一個足夠小的輸入範圍
δ,使得只要 x 落在那範圍內,f(x) 就會落在 L 周圍的誤差
帶內。
常見錯誤
函數極限定義不理會 a 點本身的值
條件中的 0<∣x−a∣ 把 x=a 排除了。所以 f(a) 可以未定義,也可以和
L 不同,而極限仍然可以存在。
第一個例子:limx→3(2x+1)=7
先看線性函數 f(x)=2x+1 在 a=3 處的極限。
例題
取 δ=ε/2
令 f(x)=2x+1、a=3、L=7。則
∣f(x)−7∣=∣(2x+1)−7∣=∣2x−6∣=2∣x−3∣.所以要使 ∣f(x)−7∣<ε,只需保證
∣x−3∣<2ε.故可取
δ=2ε.這樣一來,只要 0<∣x−3∣<δ,
∣f(x)−7∣=2∣x−3∣<2δ=2⋅2ε=ε.因此
x→3lim(2x+1)=7.
這個例子展示了最標準的證明模式:
- 由 ∣f(x)−L∣ 開始;
- 把它化成與 ∣x−a∣ 有關的式子;
- 然後倒推出一個可行的 δ。
另外兩個基本例子
例題
常數函數
若 f(x)=c 對所有 x 都成立,則
∣f(x)−c∣=∣c−c∣=0<ε對任意 ε>0 和任意 x 都成立。
所以任何正數都可以當作 δ,而
x→alimc=c.
例題
有一個 空點 的函數
考慮
f:(0,∞)∖{2}→R,f(x)=x−2x2−4.雖然這條公式在 x=2 未定義,但對 x=2,可化簡成
f(x)=x+2.所以在 x=2 附近,
∣f(x)−4∣=∣(x+2)−4∣=∣x−2∣.因此取 δ=ε 即可。只要 0<∣x−2∣<δ,便有
∣f(x)−4∣<ε.故
x→2limx−2x2−4=4,即使 f(2) 根本不存在。

圖:δ-ε 定義把 a 附近的輸入鄰域,連到 L 周圍的
輸出誤差帶。證明工作的核心,就是選出一個足夠好的 δ,讓這個蘊含
式總能成立。
用互動方式看清這個定義
下面的互動演示讓你在典型例子之間切換、選擇 ε,再試
不同樣本輸入 x。核心就是把
0<∣x−a∣<δ⟹∣f(x)−L∣<ε
看成輸入區間與輸出誤差帶之間的一個對應。
邊讀邊試
用幾何方式檢查一次 delta-epsilon 蘊含
條件 0<|x-a|<delta 必須對每個允許的 x 都推出 |f(x)-L|<epsilon。樣本可說明這個蘊含;代數誤差界則為整個去心區間證明它。
0 < |x - a| < δ,其中 δ = 0.25
|f(x) - L| < ε,其中 ε = 0.5
0 < |x - a| < δ
|2.8 - 3| = 0.2
所選 x 的確落在 delta 鄰域內。
|f(x) - L| < ε
|6.6 - 7| = 0.4
函數值落在 L 周圍的 epsilon 帶內。
極限如何失敗?
接著說明:如何證明某個候選極限不存在。
若要證明 limx→af(x)=L,就要找到一個固定的 ε>0,
使得不論 δ 取得多小,總能找到某個 x 滿足 0<∣x−a∣<δ,
但同時
∣f(x)−L∣≥ε.
考慮函數
f(x)=x∣x∣,
它在 x>0 時等於 1,在 x<0 時等於 −1。
例題
為甚麼 ∣x∣/x 在 0 沒有極限
取 ε=1。任意給定 δ>0,令
x1=2δ>0,x2=−2δ<0.兩者都滿足 ∣xi∣<δ,但
f(x1)=1,f(x2)=−1.沒有任何單一實數 L 能同時和 1、−1 都相距小於 1。因此該函數在
0 沒有極限。
證明不存在極限時,量詞提示我們採用相反策略:只要找到一個固定的
ε0>0,使每個 δ>0 都能找到穿孔鄰域內的點,並滿足
∣f(x)−L∣≥ε0,就能否定候選極限 L。對於 f(x)=∣x∣/x 在
0 點的極限,正側的值是 1,負側的值是 -1。若 L≥0,在負側取點便有
∣−1−L∣≥1;若 L<0,在正側取點便有 ∣1−L∣>1。兩類點都能放入
任何給定的穿孔鄰域,所以這是 epsilon 矛盾,而不是只說圖像「跳躍」。
這就是一種典型失敗方式:左邊逼近與右邊逼近給出互不相容的行為。
極限定律
一旦若干基本極限已知,極限定律就說明如何由舊極限組合出新極限。
定理
極限定律
若 limx→af(x)=L 且 limx→ag(x)=M,則:
- limx→a(f(x)+g(x))=L+M;
- limx→a(f(x)g(x))=LM;
- 若 M=0,則
x→alimg(x)f(x)=ML.
加法定律:用同一個鄰域控制兩個誤差
加法定律展示了最短而完整的量詞結構。假設 f(x)→L、g(x)→M,並固定
ε>0。第一個極限給出 δf>0,使
0<∣x−a∣<δf 時 ∣f(x)−L∣<ε/2;第二個極限給出
相應的 δg>0。取 δ=min(δf,δg),同一個 x
就同時滿足兩個估計。因此
(f(x)+g(x))−(L+M)≤∣f(x)−L∣+∣g(x)−M∣<2ε+2ε=ε.
取最小值很重要,因為它建立了一個同時滿足全部條件的鄰域。如果證明為
兩個估計分別選擇不同的點,或者讓 δ 依賴於 x,就沒有證明定義中的
量詞蘊含。
乘積同商定律的證明
乘積定律不是只套符號的規則;證明一定要同時控制兩個誤差。假設
f:I∖{a}→R 同 g:I∖{a}→R 在 a 點的極限分別為
L、M,給定 ε>0。這裏不需要 f(a) 的值;以下每個估計都只
涉及穿孔定義域。先對 f 使用誤差 1,取得 δ0>0,
令每個滿足 x∈I∖{a} 同 0<∣x−a∣<δ0 的 x 都有
∣f(x)−L∣<1,∣f(x)∣<∣L∣+1=:A.
這個 A>0 是分配最後誤差之前取得的局部界。再選 δ1,令每個滿足
x∈I∖{a} 同 0<∣x−a∣<δ1 的 x 有
∣g(x)−M∣<ε/(2A);選 δ2 令每個滿足
0<∣x−a∣<δ2 的 x 有 ∣f(x)−L∣<ε/(2B),其中
B=max(1,∣M∣)。取 δ=min(δ0,δ1,δ2)。對於滿足
x∈I∖{a} 同 0<∣x−a∣<δ 的任何 x,三個估計同時成立;
由恆等式
f(x)g(x)−LM=f(x)(g(x)−M)+M(f(x)−L)
同三角不等式,得到
∣f(x)g(x)−LM∣<A2Aε+∣M∣2Bε≤2ε+2ε=ε.
所以 f(x)g(x)→LM,包括 M=0 的情況;使用 B 避免除以零。
對商而言,M=0 是必要假設。設 g:I∖{a}→R 在 a 點的極限為
M。由 g(x)→M 取得 δ0>0,令每個滿足
x∈I∖{a} 同 0<∣x−a∣<δ0 的 x 有
∣g(x)−M∣<∣M∣/2,便有
∣g(x)∣≥∣M∣−∣g(x)−M∣>∣M∣/2.
在同一個鄰域,倒數誤差滿足
g(x)1−M1=∣g(x)∣∣M∣∣g(x)−M∣≤∣M∣22∣g(x)−M∣.
給定 ε>0,再選 δ1,令每個滿足
x∈I∖{a} 同 0<∣x−a∣<δ1 的 x 有
∣g(x)−M∣<ε∣M∣2/2;同前一個鄰域取交集,就證明
1/g(x)→1/M。再將乘積定律套用於 f(x) 同 1/g(x),得到
g(x)f(x)⟶ML.
每個誤差預算同每個分母條件都清楚出現:先取局部界,再分成兩半,最後證明
分母遠離零。
例題
利用加法定律
考慮 f(x)=2x+1 與 g(x)=x 在 x=4 附近。若已知
x→4lim(2x+1)=9,x→4limx=2,那麼加法定律立即給出
x→4lim((2x+1)+x)=9+2=11.
例題
兩個各自沒有極限、但總和有極限的函數
即使兩個加項各自沒有極限,它們的和仍可能有極限。在 0 附近的穿孔實線上,令
f(x)=sin(1/x),g(x)=−sin(1/x).兩個函數在 0 都沒有極限:取 n≥1,序列 1/(2πn) 同
1/(2πn+π/2) 對 f 給出函數值極限 0 同 1,對 g 給出 0 同 -1。
但對每個允許的 x,f(x)+g(x)=0,所以總和極限是 0。這顯示不可由組合
表達式有極限,反推每個極限定律的前提已經成立。
例題
零點的連續極限 x/(1+x)
對於 f(x)=x/(1+x),零點處的候選極限是 L=0。先限制 ∣x∣<1/2,便有
∣1+x∣≥1−∣x∣>1/2,所以
1+xx−0≤2∣x∣.給定 ε>0,取
δ=min(21,2ε).當 0<∣x∣<δ 時分母非零,而且上述誤差小於 ε。因此
x→0lim1+xx=0.
序列判別:用序列刻畫函數極限
序列判別把函數極限與序列極限連接起來。
定理
函數極限的 序列判別
設 f:I∖{a}→R。則
x→alimf(x)=L當且僅當對每個滿足 xn∈I∖{a} 且 xn→a 的序列
(xn),都有
n→∞limf(xn)=L.
這個定理非常實用,因為它提供了兩種方法:
- 若要證明極限存在,就檢查所有逼近 a 的序列;
- 若要證明極限不存在,只要找兩條逼近 a 的序列,令函數值出現互不相
容的極限即可。
把這個判別應用於零點附近的振盪函數 f(x)=sin(1/x)。
例題
用兩條序列證明 sin(1/x) 在 0 沒有極限
取 n≥1,然後
xn=2πn1,yn=2πn+π/21.則 xn→0 且 yn→0,但
f(xn)=sin(2πn)=0→0,而
f(yn)=sin(2πn+π/2)=1→1.由於兩條同樣逼近 0 的序列給出不同的函數值極限,所以
limx→0sin(1/x) 不存在。
序列判別的雙向證明
這個定理有兩個方向,而且量詞次序不同。
函數極限推出所有序列極限
假設穿孔函數極限是 L。令 (xn) 是在 I∖{a} 中、而且
xn→a 的任意序列。給定 ε>0,由 delta-epsilon 定義取得
δ>0,令 0<∣x−a∣<δ 時有 ∣f(x)−L∣<ε。因為
xn→a,可以選 N 令所有 n>N 滿足 ∣xn−a∣<δ。序列每項都在
穿孔定義域中,所以 0<∣xn−a∣<δ,從而每個 n>N 都有
∣f(xn)−L∣<ε。這正是 f(xn)→L。
所有序列極限推出函數極限
反過來用逆否命題。假設函數極限不是 L。於是存在固定的
ε0>0,令對每個 δ>0 都可以在穿孔定義域找到一點滿足
∣f(x)−L∣≥ε0。對每個 n≥0,取 δ=1/(n+1),選擇 xn 使
xn∈I∖{a},0<∣xn−a∣<n+11,∣f(xn)−L∣≥ε0.
中間不等式證明 xn→a,但最後的不等式令 f(xn) 不可能收斂到 L,因為
同一個正誤差 ε0 在每一個索引都存在。這與假定的序列性質矛盾,
所以函數極限一定是 L。這個選擇明確避開 a,即使 f(a) 未定義也不影響證明。
連續性
極限最重要的用途之一,就是把「函數是連續的」這個直覺說得精確。
定義
一點的連續性
設 f:I→R 且 a∈I。若
x→alimf(x)=f(a),則稱 f 在 a 連續。
等價地,用 ε-δ 語言可寫成:
∀ε>0 ∃δ>0 使得 ∣x−a∣<δ⟹∣f(x)−f(a)∣<ε.
請留意:這次條件裡不再有 0<∣x−a∣。因為連續性真的會檢查 x=a 時的
函數值。
一個標準不連續例子是
f(x)={0,1,x=0,x=0.
這裡 x 在 0 附近時的函數值都接近 0,但 f(0)=1,所以它在 0
不連續。
常見錯誤
有極限不代表自動連續
空點 那個例子已經說明:一個函數可以在 a 有極限,但在 a 未定義。連
續性還要多加一個條件,就是函數值存在並且等於那個極限。
快速檢查
思考檢查
為甚麼函數極限定義要寫成 0<∣x−a∣<δ,而不是只寫 ∣x−a∣<δ?
解答 · 答案
因為極限考察的是 a 附近的點,不一定是 a 本身。0<∣x−a∣ 把 x=a
排除出去。
思考檢查
為甚麼加法定律的證明取 min(δf,δg),而不是 max(δf,δg)?
說明同一個輸入點必須滿足甚麼條件,兩個估計才能同時適用。
解答 · 答案
輸入必須同時滿足 ∣x−a∣<δf 與 ∣x−a∣<δg。取最小值能保證兩者同時成立;取最大值可能容許輸入落在較小的鄰域之外,此時其中一個誤差估計就沒有保證。
思考檢查
為甚麼倒數極限的證明必須先保證分母遠離零?
解答 · 答案
倒數誤差是 ∣g(x)−M∣/(∣g(x)∣∣M∣)。即使分子很小,若 ∣g(x)∣ 可以任意接近零,亦不能控制整個商。當 M=0 時,預先證明 ∣g(x)∣>∣M∣/2,便能用一個固定的正下界控制分母,使後續誤差估計成立。
練習
思考檢查
證明 limx→4x=2。
先把 ∣x−2∣ 有理化,同時控制分母不要太小。
解答 · 引導解答
利用
∣x−2∣=x+2∣x−4∣.取
δ=min(1,2ε).若 0<∣x−4∣<δ,則特別有 x∈(3,5),故 x+2>2。因此
∣x−2∣=x+2∣x−4∣<2∣x−4∣<2δ≤ε.所以 limx→4x=2。
思考檢查
兩條序列趨於零,代入 f(x)=sin(1/x) 後都得到零。這能證明函數極限是零嗎?取 xn=1/(2πn) 、 yn=1/((2n+1)π) , n≥1,並說明理由。
比較序列判別中的全稱量詞與兩個例子實際證明的內容。
解答 · 示範解答
這兩條序列都趨於零,函數值亦都恆等於零。但這還不夠,因為序列判別要求穿孔定義域中的每一條序列都符合條件。另取 zn=1/(2πn+π/2),它亦趨於零,卻對所有 n≥1 都有 f(zn)=1。因此候選極限零不成立;不同的函數值極限進一步說明函數極限不存在。
思考檢查
若已知 limx→af(x) 存在,要再加上甚麼條件,才可推出 f 在 a 連續?
解答 · 引導解答
還要有 f(a) 已定義,並且滿足
x→alimf(x)=f(a).這個等式正是 f 在 a 連續的定義。
前置與繼續閱讀
建議先讀
5.1 序列與 epsilon-N 極限
及
5.2 Cauchy 序列與另一個實數模型。
若想回看完備性的次序背景,可重讀
4.3 完備性與 Q 的缺口。