小象实战讲义 · 人工智能数学基础
在定义了多元函数、距离和邻域等基本概念之后,我们终于可以探讨多元函数极限这一核心概念。本节将严格定义多元函数的极限,并深入分析其与一元函数极限的异同、与序列极限的关系,以及通过不同路径(特别是累次极限)判断极限存在性的方法。掌握这些内容是理解多元函数连续性、可微性以及后续最优化理论的基础。
💡 核心导读
本节将为你建立以下知识地图:
- 定义迁移:将一元函数极限的“ε-δ”语言,通过距离和邻域的概念,自然推广到高维空间,得到多元函数极限的严格定义。
- 路径依赖:理解多元函数极限的核心挑战——路径依赖性。通过构造不同的趋近路径(如射线、曲线)来证明极限不存在,是本节的关键技能。
- 两大工具:掌握判断极限的两种等价工具——序列极限(用于举反例)和累次极限(一种特殊的趋近路径),并厘清它们与函数极限之间的关系。
- 向量函数:认识到多元向量函数的极限,本质上就是其每个分量函数的极限,为后续研究多元映射的微分打下基础。
从一元到多元:极限定义的推广
回顾一元函数 f:R⊃E→R 在 x0 处极限为 a 的定义:
对任意 ε>0,存在 δ>0,使得当 x∈E 且 0<∣x−x0∣<δ 时,有 ∣f(x)−a∣<ε。
其核心思想是:当自变量 x 与 x0 的距离足够近时,函数值 f(x) 与极限值 a 的距离也足够近。
在 Rn 中,我们已经定义了距离 d(x,y)=∥x−y∥ 和邻域 U(x0,δ)={x∈Rn∣∥x−x0∥<δ}。利用这些概念,多元函数极限的定义可以几乎“一字不改”地写出。
定义(多元函数的极限):设 f:Rn⊃E→R,x0 是 E 的一个聚点(或称 x0∈E′,即 E 的导集)。如果存在实数 a,使得对任意 ε>0,都存在 δ>0,满足: ∀x∈E, 0<∥x−x0∥<δ⟹∣f(x)−a∣<ε, 则称当 x 趋于 x0 时,f(x) 的极限为 a,记作 x→x0limf(x)=a.
关键点解析:
- 聚点要求:x0 必须是定义域 E 的聚点。这意味着在 x0 的任意小邻域内,都包含 E 中除 x0 本身外的其他点。否则,讨论“趋近”将失去意义。
- x∈E:极限过程只关心定义域内的点如何趋近。我们不考虑从定义域外找点列去趋近 x0。
- 正常情况:在大多数实际问题中,x0 是 E 的内点,即存在某个 δ0>0,使得邻域 U(x0,δ0)⊂E。此时,定义中的条件“x∈E”可以自然地满足,无需额外强调。
函数极限与序列极限
在一元微积分中,函数极限与序列极限是等价的:limx→x0f(x)=a 当且仅当对于任意收敛于 x0 的序列 {xk}⊂E∖{x0},都有 limk→∞f(xk)=a。
这个等价关系在多元情形下完全成立,并且是判断极限不存在的利器。
定理(Heine归结原理):设 f:E⊂Rn→R,x0 是 E 的聚点。则 limx→x0f(x)=a 的充要条件是:对于任意满足 xk∈E∖{x0} 且 limk→∞xk=x0 的点列 {xk},都有 limk→∞f(xk)=a。
应用策略:我们通常反向使用这个定理来证明极限不存在。
- 方法一(路径法):找到两个不同的点列 {xk(1)} 和 {xk(2)},它们都趋于 x0,但对应的函数值序列收敛于不同的极限,即 limf(xk(1))=limf(xk(2))。
- 方法二(发散法):找到一个趋于 x0 的点列 {xk},使得 {f(xk)} 发散(无极限)。
最常见的“点列”选择是沿着某种路径趋近,例如:
- 射线路径:y=kx(趋于原点时)。
- 曲线路径:y=kx2, y=sinx, 等。
下面通过几个典型例题来实践这些思想。
例题1:证明极限存在
求极限 (x,y)→(0,0)limx2+y2tan(x3+y3)。
解:利用等价无穷小 tanθ∼θ(当 θ→0)。由于 (x,y)→(0,0) 时,x3+y3→0,故可进行换元。 令原极限为 I,则 I=(x,y)→(0,0)limx2+y2x3+y3. 对分子进行因式分解:x3+y3=(x+y)(x2−xy+y2)。于是 I=(x,y)→(0,0)lim(x+y)⋅x2+y2x2−xy+y2. 为了证明极限为 0,我们考虑取绝对值并放缩: ∣I∣≤(x,y)→(0,0)lim∣x+y∣⋅x2+y2x2−xy+y2. 进一步放缩分子中的 ∣x2−xy+y2∣≤x2+∣xy∣+y2。由算术-几何平均值不等式 ∣xy∣≤21(x2+y2),可得 x2+∣xy∣+y2≤x2+21(x2+y2)+y2=23(x2+y2). 因此, ∣I∣≤(x,y)→(0,0)lim∣x+y∣⋅x2+y223(x2+y2)=23(x,y)→(0,0)lim∣x+y∣=0. 由夹逼定理知,I=0。
例题2 & 3:证明极限不存在(路径法)
例题2:判断 (x,y)→(0,0)limx2+y2xy 是否存在。
解:沿射线路径 y=kx(k 为常数)趋近。 f(x,kx)=x2+(kx)2x⋅kx=x2(1+k2)kx2=1+k2k. 该极限值与路径参数 k 有关。例如:
- 当 k=0(沿 x 轴)时,极限为 0。
- 当 k=1(沿直线 y=x)时,极限为 21。 由于沿不同路径得到的极限值不同,故原极限 不存在。
例题3:判断 (x,y)→(0,0)limx4+y2x2y 是否存在。
解:这个例子更微妙。首先尝试射线路径 y=kx: f(x,kx)=x4+(kx)2x2⋅kx=x4+k2x2kx3=x2+k2kx(x=0). 当 x→0 时,上式极限为 0(只要 k=0)。若 k=0(沿 x 轴),函数值恒为 0,极限也是 0。似乎所有射线路径都给出极限 0。
但这并不能保证极限存在!我们需要寻找更“弯曲”的路径。考虑抛物线路径 y=kx2: f(x,kx2)=x4+(kx2)2x2⋅kx2=x4+k2x4kx4=1+k2k. 该极限值依赖于 k。例如 k=0 得 0,k=1 得 21。因此,沿不同抛物线路径极限值不同,故原极限 不存在。
这个例子深刻地说明:即使所有“射线”路径都给出相同的极限,也不能保证函数极限存在。因为平面上的路径有无穷多种,其“丰富程度”远超过所有射线的集合。
import numpy as np
def path_limit(f, path_func, k_vals, num_points=1000):
"""
计算函数沿给定路径族(参数k)在原点附近的极限行为。
"""
limits_per_k = []
for k in k_vals:
# 生成趋于0的点列,例如 t = 1/n
t_vals = 1 / np.arange(1, num_points+1)
# 根据路径函数计算 (x, y)
x_vals, y_vals = path_func(t_vals, k)
# 计算函数值序列
f_vals = f(x_vals, y_vals)
# 取序列末尾若干项的平均作为极限的近似(若收敛)
approx_limit = np.mean(f_vals[-100:])
limits_per_k.append(approx_limit)
return np.array(limits_per_k)
# 定义例题3的函数
def f_example3(x, y):
return (x**2 * y) / (x**4 + y**2 + 1e-16) # 加小量防止除零
# 定义射线路径 y = k*x
def path_ray(t, k):
x = t
y = k * t
return x, y
# 定义抛物线路径 y = k*x^2
def path_parabola(t, k):
x = t
y = k * t**2
return x, y
# 测试
k_test = [0, 0.5, 1, 2]
print("沿射线路径 y = k*x 的近似极限:")
ray_limits = path_limit(f_example3, path_ray, k_test)
for k, lim in zip(k_test, ray_limits):
print(f" k={k}: {lim:.6f}")
print("\n沿抛物线路径 y = k*x^2 的近似极限:")
para_limits = path_limit(f_example3, path_parabola, k_test)
for k, lim in zip(k_test, para_limits):
print(f" k={k}: {lim:.6f}")
# 可视化其中一条路径的收敛情况
import matplotlib.pyplot as plt
k_specific = 1
t_vals = 1 / np.arange(1, 1001)
x_vals, y_vals = path_parabola(t_vals, k_specific)
f_vals = f_example3(x_vals, y_vals)
plt.figure(figsize=(10, 4))
plt.subplot(1, 2, 1)
plt.plot(t_vals, f_vals, 'b-', alpha=0.7)
plt.xlabel('参数 t (趋于0)')
plt.ylabel('f(x(t), y(t))')
plt.title(f'沿路径 y={k_specific}*x^2 的函数值序列')
plt.grid(True, alpha=0.3)
plt.subplot(1, 2, 2)
plt.plot(x_vals, y_vals, 'r.-', markersize=2, alpha=0.7)
plt.xlabel('x')
plt.ylabel('y')
plt.title('趋近路径 (抛物线)')
plt.axis('equal')
plt.grid(True, alpha=0.3)
plt.tight_layout()
plt.show()
累次极限
对于二元函数 f(x,y),除了 (x,y) 同时趋于 (x0,y0) 的二重极限,我们还可以考虑累次极限,即先让一个变量趋于其极限,再让另一个变量趋于其极限。
定义(累次极限):设 f(x,y) 在点 (x0,y0) 的某个去心邻域内有定义。
- 先 x 后 y 的累次极限:若极限 x→x0limf(x,y)=φ(y) 对 y=y0 存在,且极限 y→y0limφ(y)=A 也存在,则称 A 为 f(x,y) 在 (x0,y0) 处的先 x 后 y 的累次极限,记作 y→y0limx→x0limf(x,y)=A.
- 先 y 后 x 的累次极限:类似定义,记作 x→x0limy→y0limf(x,y)=B。
对于 n 元函数,则有 n! 种可能的累次极限(对应变量求极限顺序的所有排列)。
累次极限与二重极限的关系
累次极限可以看作是一种特殊的趋近路径(先沿平行于 x 轴的方向,再沿平行于 y 轴的方向,或反之)。因此,它们与二重极限有以下重要关系:
二重极限存在,不能保证累次极限存在。 反例:考虑函数 f(x,y)=(x+y)sinx1siny1,(x,y)=(0,0), 且定义 f(x,0)=f(0,y)=0。
- 二重极限:由于 ∣sin(⋅)∣≤1,有 ∣f(x,y)∣≤∣x+y∣→0,故 lim(x,y)→(0,0)f(x,y)=0。
- 累次极限(先 x 后 y):固定 y=0,考虑 limx→0f(x,y)。将其拆分为 xsinx1siny1+ysinx1siny1。第一项极限为 0(因 ∣xsinx1∣≤∣x∣),但第二项中,sinx1 在 x→0 时振荡无界,而 ysiny1 是常数,故整个第二项极限不存在。因此,第一步极限 φ(y) 就不存在,累次极限自然不存在。
根本原因:二重极限要求所有路径趋近,而累次极限要求的第一步(固定 y 让 x→x0)是一种特殊的“横向”趋近。二重极限存在保证了终点的一致性,但无法保证这种特殊横向路径上的极限过程一定收敛。
累次极限存在(甚至相等),不能保证二重极限存在。 反例:考虑函数 f(x,y)={1,0,xy=0,xy=0.
- 累次极限:固定 y=0,当 x→0 时,f(x,y)≡1,故 φ(y)=1,进而 limy→0φ(y)=1。同理,先 y 后 x 的累次极限也是 1。两个累次极限存在且相等。
- 二重极限:沿 x 轴(y=0)趋近原点,函数值恒为 0;沿直线 y=x 趋近原点,在原点附近(除原点外)函数值恒为 1。两者极限不同,故二重极限不存在。
若二重极限存在,且某个累次极限也存在,则三者相等。 定理:若 lim(x,y)→(x0,y0)f(x,y)=A,且对任意 y=y0,极限 limx→x0f(x,y)=φ(y) 存在,则 limy→y0φ(y) 存在且等于 A。即 y→y0limx→x0limf(x,y)=(x,y)→(x0,y0)limf(x,y). 对另一种顺序的累次极限有类似结论。
这个定理告诉我们,如果累次极限的路径能走通(即第一步极限存在),那么它得到的结果一定等于二重极限。在实际计算中,许多“性质良好”的函数都满足累次极限存在的条件,因此我们常通过计算累次极限来求得二重极限。
多元向量函数的极限
在实际问题中,我们经常遇到输出是多维的映射,例如从 Rn 到 Rm 的映射。这引出了向量函数的概念。
定义(向量函数):设 E⊂Rn,映射 f:E→Rm 称为一个 m 维 n 元向量函数。它可以表示为 m 个 n 元实值函数的组合: f(x)=(f1(x),f2(x),…,fm(x))⊤,x∈E. 其中每个 fi:E→R 称为 f 的分量函数。
向量函数的极限定义是分量函数极限的自然推广。
定义(向量函数的极限):设 f:E⊂Rn→Rm,x0 是 E 的聚点,a∈Rm。如果 x→x0lim∥f(x)−a∥=0, 则称当 x 趋于 x0 时,f(x) 的极限为 a,记作 limx→x0f(x)=a。
等价刻画:limx→x0f(x)=a 当且仅当每个分量函数的极限存在,且 x→x0limfi(x)=ai,i=1,2,…,m. 其中 a=(a1,a2,…,am)⊤。
因此,研究向量函数的极限,本质上就是同时研究其所有分量函数的极限,并没有引入新的复杂性。
📝 动手练一练
判断极限是否存在:计算或判断下列极限是否存在。若存在,求其值;若不存在,说明理由。 a) (x,y)→(0,0)limx2+y2x3+y3 b) (x,y)→(0,0)limx2y2+(x−y)2x2y2
累次极限与二重极限:对于函数 f(x,y)=x+yx−y+x2+y2,(x,y)=(0,0), 讨论其在 (0,0) 点的二重极限以及两种累次极限(如果存在)。
👉 点击查看参考答案
参考答案:
a) 解:参考本节例题1的推导过程,极限为 0。 b) 解:考虑路径 y=x,则 f(x,x)=x4+0x4=1,极限为 1。考虑路径 y=2x,则 f(x,2x)=4x4+x24x4=4x2+14x2,当 x→0 时极限为 0。由于沿不同路径极限不同,故二重极限 不存在。
解:
- 二重极限:沿路径 y=x,f(x,x)=2x0+2x2=x→0。沿路径 y=−x,分母为 0,函数无定义,但我们可以考虑路径 y=−x+x2,代入得 f(x,−x+x2)=x+(−x+x2)x−(−x+x2)+x2+(−x+x2)2=x22x−x2+x2+(x2−2x3+x4)=x22x+x2−2x3+x4=x2+1−2x+x2→∞(当 x→0)。故二重极限 不存在。
- 累次极限(先 x 后 y):固定 y=0,limx→0f(x,y)=0+y0−y+0+y2=y−y+y2=−1+y。然后 limy→0(−1+y)=−1。故该累次极限存在,值为 −1。
- 累次极限(先 y 后 x):固定 x=0,limy→0f(x,y)=x+0x−0+x2+0=xx+x2=1+x。然后 limx→0(1+x)=1。故该累次极限存在,值为 1。 此例展示了两个累次极限存在但不相等,这同样意味着二重极限不存在。
本章小结
本节是多元微分学的基石,核心是理解并运用多元函数的极限概念。
要点回顾:
- 定义核心:多元函数极限是“ε-δ”语言在高维空间的直接推广,核心是距离和邻域。定义域 E 的聚点 x0 是讨论极限的前提。
- 存在性判断:
- 正面证明:常使用定义、夹逼定理、转化为极坐标、或利用连续性(后续内容)。
- 反面证否(更常用):利用路径依赖原理。找到两条趋近路径,使得函数值趋于不同的极限,即可断定极限不存在。
- 两大关系:
- 与序列极限:函数极限存在 ⟺ 所有收敛于该点的点列对应的函数值序列都收敛于同一极限。主要用于构造反例。
- 与累次极限:两者无必然的推出关系。累次极限是特殊的路径极限。若二重极限与某一累次极限均存在,则它们相等。
- 向量函数:其极限归结为各分量函数的极限,没有引入新的理论困难。
📋 行动清单
- 定义过关:默写并理解多元函数极限的“ε-δ”定义,明确聚点的作用。
- 路径构造:针对一个给定的二元函数极限问题,能迅速尝试几种典型的趋近路径(如坐标轴、射线 y=kx、抛物线 y=kx2)来初步判断其存在性。
- 关系辨析:能清晰阐述二重极限、累次极限、序列极限三者之间的区别与联系,并能各举一例说明。
—— 小象教研组