# 函数的极限
目前已经熟知数列的极限,我们将极限的概念也引入到函数中。
定义
令点 a∈R 与一个定义在其去心邻域上的实值函数 f
称 f 在点 a 处 极限 (Limit)「極限」 为 ℓ,当且仅当
∀ε>0,∃δ>0,∀x∈I: 0<∣x−a∣<δ⟹∣f(x)−ℓ∣<ε
此时,记作
x→alimf(x)=ℓ
这里的定义使用去心邻域,重点在于强调即使函数在这一点无法取值,也可以得到该点的一个趋近值,这正是分析学中的关键手段
在实际分析中,不同于数列的单方面趋于无穷,函数自变量的趋近可以由两个不同的方向趋近。
- 称函数 f 在点 a 处的左极限为 ℓ,当且仅当
∀ε>0,∃δ>0,∀x∈I: 0<a−x<δ⟹∣f(x)−ℓ∣<ε
- 称函数 f 在点 a 处的右极限为 ℓ,当且仅当
∀ε>0,∃δ>0,∀x∈I: 0<x−a<δ⟹∣f(x)−ℓ∣<ε
为了在记号上进行区分
- 记函数 f 在点 a 处的左极限为 x→a−limf(x),或者 x↑alimf(x)
- 记函数 f 在点 a 处的右极限为 x→a+limf(x),或者 x↓alimf(x)
极限的定义同样可以被数列替换
命题
令点 a∈R 与一个定义在其去心邻域上的实值函数 f,则以下等价
- x→alimf(x)=ℓ
- 对任意收敛于 a 的数列 {xn},若满足 ∀n∈N: xn=a,则有 n→∞limf(xn)=ℓ
- 若定义 f(a):=ℓ,则 f 在点 a 处连续
证明
(1) ⟹ (2)
任取收敛于 a 的数列 {xn},满足 ∀n∈N: xn=a,任取 ε>0,根据条件
∃δ>0,∀x∈I: 0<∣x−a∣<δ⟹∣f(x)−ℓ∣<ε
由于 xn→a,所以
∃n0∈N,∀n≥n0: ∣xn−a∣<δ
因此,对于任意自然数 n≥n0,有
∣f(xn)−ℓ∣<ε
(2) ⟹ (3)
任取收敛于 a 的数列 {xn}
取 {xn} 中所有不等于 a 的项构成数列 {yn},则 yn→a,根据条件
n→∞limf(yn)=ℓ
因此,数列 {f(yn)} 收敛于 ℓ,又因为 {f(yn)} 是 {f(xn)} 的子列,所以 {f(xn)} 也收敛于 ℓ。
(3) ⟹ (1)
任取 ε>0,由于 f 在点 a 处连续,所以
∃δ>0,∀x∈I: ∣x−a∣<δ⟹∣f(x)−f(a)∣<ε
因此,f 在点 a 处的极限为 ℓ。
□
类似于实数列中收敛性等价于 Cauchy 列,在实值函数上也存在对应的等价关系
定理 Cauchy 条件
以下等价
- x→alimf(x)=ℓ
- ∀ε>0,∃δ>0,∀x,y∈I: 0<∣x−a∣<δ,0<∣y−a∣<δ⟹∣f(x)−f(y)∣<ε
证明
(1) ⟹ (2)
任取 ε>0,根据条件
∃δ>0,∀x∈I: 0<∣x−a∣<δ⟹∣f(x)−ℓ∣<ε/2
因此,对于任意 x,y∈I 满足 0<∣x−a∣<δ 和 0<∣y−a∣<δ,有
∣f(x)−f(y)∣≤∣f(x)−ℓ∣+∣ℓ−f(y)∣<ε/2+ε/2=ε
(2) ⟹ (1)
任取 ε>0,根据条件
∃δ>0,∀x,y∈I: 0<∣x−a∣<δ,0<∣y−a∣<δ⟹∣f(x)−f(y)∣<ε/2
因此,任取 x∈I 满足 0<∣x−a∣<δ,有
∣f(x)−f(a)∣≤∣f(x)−f(y)∣+∣f(y)−f(a)∣<ε/2+ε/2=ε
□
命题 函数极限与四则运算
设函数 f 和 g 在点 a 处的极限分别为 ℓf 和 ℓg,对于 k∈R,则以下成立
- x→alim(f(x)+g(x))=ℓf+ℓg
- x→alimkf(x)=kℓf
- x→alim(f(x)g(x))=ℓfℓg
- 若 ℓg=0,则 \displaystyle\lim_{x \to a} \frac{f(x)}{g(x)} = \frac{\ell_f}
证明(暂时省略)
命题 函数极限与偏序关系
设函数 f 和 g 在点 a 处的极限分别为 ℓf 和 ℓg
若在 a 的某去心邻域内满足
∀x∈I: f(x)≤g(x)
则 ℓf≤ℓg
证明(暂时省略)
与数列极限类似,偏序关系的保持给出了以下常用结论
定理 夹逼定理
设函数 f,g,h 在点 a 处的极限分别为 ℓf,ℓg,ℓh
若在 a 的某去心邻域内满足
∀x∈I: f(x)≤g(x)≤h(x)
那么如果 ℓf=ℓh,则 x→alimg(x)=ℓf
证明(暂时省略)
# Landau 符号
通过 ε-δ 的方法严格定义了 “无限接近” 到底是什么
在分析学的初期,无穷小本身还被当作一个运算对象实体,Landau 符号就是在这个背景下被引入的
考虑定义在 x0 的某个去心邻域上的函数 f,g,让 x→x0,我们想要分析二者趋近的速度差异,也就是考虑极限
x→x0limg(x)f(x)
利用 Landau 符号 o
- 一般地,若 x→x0limg(x)=0,则称 g 在点 x0 处无穷小
- 若 x→x0limg(x)f(x)=0,这意味着 f 比 g 更快去到 0,称 f 在点 x0 处是 g 的高阶无穷小,记作 f=o(g)
- 同样,一般若 x→x0limg(x)=∞,则称 g 在点 x0 处无穷大
- 若 x→x0limg(x)f(x)=0,这意味着 f 比 g 更慢趋近于 ∞,称 f 在点 x0 处是 g 的低阶无穷大,记作 f=o(g)
所以
x→x0,f=o(g)⟺x→x0limg(x)f(x)=0
我们希望右侧的极限在 g 为 0 也可以被定义,因此严格来说是
∀ε>0,∃δ>0,∀x∈I: 0<∣x−x0∣<δ⟹∣f(x)∣≤ε∣g(x)∣
另一边,若
∃M∈R,∃δ>0,∀x:0<∣x−x0∣<δ⟹∣f(x)∣≤M∣g(x)∣
这意味着趋于 x0 时,g(x)f(x) 有界。这记为 f=O(g)
总结一下
- 在趋于无穷小的时候
- f=o(g) 表示 f 比 g 更快趋近于 0
- f=O(g) 表示 f f 至少与 g 一样快地趋于 0
- 在趋于无穷大的时候
- f=o(g) 表示 f 比 g 更慢趋近于 ∞
- f=O(g) 表示 f 的增长速度不会超过 g 的常数倍
如果利用 Landau 符号,可以做到重新表示很多概念,例如函数 f 在点 x0 出的连续性等价于
f(x)=f(x0)+o(1)
计算机算法的时间复杂度分析也常用 O(g) 表示复杂度阶数
- O(1):常数阶
- O(logn):对数阶
- O(n):线性阶
- O(nlogn):线性对数阶
- O(n2):平方阶
- O(2n):指数阶
需要提醒的一点是,严格来说并不应该写作等号(等价关系),而是应该写作 f∈o(g),只是等号的形式更为方便。使用的时候要自己注意
f1=o(g),f2=o(g)⇒f1=f2
示例
尝试利用 Landau 符号求解极限
- \displaystyle\lim_{x \to 0} \frac{e^x - 1 - x}
- \displaystyle\lim_{x \to 0} \frac{\cos x - 1}
解(暂时省略)