简介:本资源是一份系统、精炼的《复变函数》课程期末复习资料,专为高校数学类专业学生考前冲刺设计,聚焦核心概念理解与典型题型解法训练。资料以Word文档(.docx)形式呈现,共1个文件,大小1.55MB,结构清晰,覆盖全部五章重点:从复数基本运算、柯西-黎曼方程与解析性判定,到复积分路径分析、幂级数与Laurent展开,再到留数分类、计算及在围道积分中的应用;特别标注了13、15、18等高频考点题及教材重点页码(如112页收敛半径、153–162页留数定理),并附大量带详解的习题(含共轭复数求解、奇点判别、留数计算、Taylor/Laurent展开等)。目前已有456人学习下载,内容紧扣教学大纲与常见考题逻辑,是梳理知识脉络、强化计算能力、提升应试效率的实用型复习工具。
1. 复变函数期末复习资料:不是题海战术,而是把5章知识压进3类可执行动作里
你是不是也经历过——翻开复变函数教材,满页的 $ z = x + iy $、$ \frac{\partial u}{\partial x} = \frac{\partial v}{\partial y} $ 看着都认识,一合书就只剩“柯西”“留数”“解析”几个词在脑子里打转?考前一周刷完三套往年卷,结果发现每道题都在考不同维度:第1题考辐角主值的取舍边界,第3题卡在折线积分路径拆分是否覆盖奇点,第5题Laurent展开时漏判了 $ z=0 $ 是几级极点……这不是基础不牢,是复习没对准「考试动作」。这份《复变函数期末复习资料》不是知识点罗列,它把全书5章压缩成三类可立即上手的动作:复数形态转换(第一章)→ 解析性判定与导数生成(第二、三章联动)→ 奇点-留数-积分闭环计算(第四、五章贯通)。它专为两类人设计:一类是公式能背但不会选路径的实操型考生,另一类是知道定理却总在“为什么这题用柯西积分公式而不用留数”的逻辑断点上卡壳的思考型考生。资料里所有例题(如-1的三角表示、$ \ln(-i) $ 主值、折线 $ C_1+C_2+C_3 $ 积分对比)都标注了「考场决策树」:什么时候必须写极坐标形式?什么条件下共轭复数不能直接代入求模?哪些奇点类型会直接废掉泰勒展开?——这些不是玄学,是阅卷人踩分点的物理映射。
2. 复数形态转换:从代数式到指数式,4步动作链决定第一题得分率
复变函数考试第一题几乎必考复数基本运算,但90%的失分不在计算,而在形态选择错误导致后续步骤崩盘。比如题目给 $ z = -1 $,若直接写 $ |z| = 1 $ 就停住,后面求辐角主值 $ \operatorname{Arg}(-1) $ 时大概率填 $ \pi $ 而非 $ \pi $(看似一样,但主值定义域是 $ (-\pi, \pi] $,此处恰好卡在边界);再比如 $ \ln(-3+4i) $,若没先算出模和辐角,直接套公式会把 $ \ln r $ 和 $ i\theta $ 混成一团。本节不讲定义,只拆解4个考场必走动作链,每个动作对应一个检查点。
2.1 动作1:代数式 → 模与辐角主值(带符号校验)
所有复数转换的第一站不是三角式,而是模 $ r $ 和辐角主值 $ \theta = \operatorname{Arg}(z) $。关键不是算对,而是校验符号是否自洽:
import math def complex_to_polar(z_real, z_imag): r = math.sqrt(z_real**2 + z_imag**2) # 辐角主值:math.atan2自动处理象限,返回(-pi, pi] theta = math.atan2(z_imag, z_real) # 校验:用r*cos(theta), r*sin(theta)反推原复数,看是否匹配(浮点误差内) recon_real = round(r * math.cos(theta), 10) recon_imag = round(r * math.sin(theta), 10) assert abs(recon_real - z_real) < 1e-9 and abs(recon_imag - z_imag) < 1e-9, \ f"辐角计算异常:原({z_real},{z_imag}) ≠ 重建({recon_real:.6f},{recon_imag:.6f})" return r, theta # 示例:-1 的处理 r, theta = complex_to_polar(-1, 0) print(f"z = -1 → r = {r}, Arg(z) = {theta:.4f} rad = {math.degrees(theta):.1f}°") # 输出:z = -1 → r = 1.0, Arg(z) = 3.1416 rad = 180.0°参数说明:
math.atan2(y,x)是核心,它比atan(y/x)多做两件事:① 当 $ x=0 $ 时不会报错(如 $ z=i $);② 自动根据 $ (x,y) $ 符号判断象限(如 $ z=-1 $ 在负实轴,返回 $ \pi $ 而非 $ -\pi $)。round(...,10)是为规避浮点误差导致的断言失败,实际考试中此步用笔算,但心里要默念“cos(π)=-1, sin(π)=0”。
2.2 动作2:辐角主值 → 三角式与指数式(注意括号层级)
得到 $ r $ 和 $ \theta $ 后,三角式 $ z = r(\cos\theta + i\sin\theta) $ 和指数式 $ z = re^{i\theta} $ 是等价输出,但考场书写有强制规范:三角式必须加括号,指数式指数部分必须用 $ i\theta $ 形式(不能写 $ e^{i\cdot\theta} $)。以 $ z = -1 $ 为例:
- ✅ 正确:$ z = 1 \cdot (\cos\pi + i\sin\pi) $,$ z = e^{i\pi} $
- ❌ 错误:$ z = \cos\pi + i\sin\pi $(漏模 $ r=1 $),$ z = e^{i\cdot\pi} $(多余符号)
为什么强调这个?因为后续求 $ z^n $ 或开方时,漏 $ r $ 会导致整个幂次计算基数错误。例如 $ (-1)^{1/2} = \sqrt{1} \cdot e^{i\pi/2} = i $,若漏 $ r $,会误以为 $ e^{i\pi/2} $ 就是结果,忽略模仍是1。
2.3 动作3:对数函数 $ \operatorname{Ln}z $:主值分支的硬约束
$ \operatorname{Ln}z = \ln|z| + i\operatorname{Arg}(z) $ 是考试高频陷阱区。重点不是公式,而是主值分支 $ \operatorname{Arg}(z) \in (-\pi,\pi] $ 的不可逾越性。以 $ \operatorname{Ln}(-i) $ 为例:
- 步骤1:$ |-i| = 1 $,故 $ \ln|z| = \ln1 = 0 $
- 步骤2:$ -i $ 在负虚轴,$ \operatorname{Arg}(-i) = -\frac{\pi}{2} $(不是 $ \frac{3\pi}{2} $!后者超出主值范围)
- 结果:$ \operatorname{Ln}(-i) = 0 + i(-\frac{\pi}{2}) = -i\frac{\pi}{2} $
血泪经验:某次模拟考有学生写 $ \operatorname{Arg}(-i) = \frac{3\pi}{2} $,理由是“从正实轴逆时针转270°”,但主值定义明确排除 $ \frac{3\pi}{2} $(因 $ \frac{3\pi}{2} > \pi $),阅卷标准答案只认 $ -\frac{\pi}{2} $。这种错误不扣计算分,扣概念分——整题0分。
2.4 动作4:多值函数的“单值化”操作(考试限定场景)
考试中出现 $ \operatorname{Ln}z $、$ z^\alpha $ 等多值函数时,默认要求主值分支,即强制取 $ \operatorname{Arg}(z) $。这意味着:
- 所有 $ \operatorname{Ln}z $ 计算必须先写 $ \ln|z| + i\operatorname{Arg}(z) $,再代入数值;
- 所有 $ z^\alpha = e^{\alpha \operatorname{Ln}z} $ 必须先完成 $ \operatorname{Ln}z $ 主值计算,再指数运算;
- 若题目明确说“求所有值”,才需写 $ \operatorname{Ln}z = \ln|z| + i(\operatorname{Arg}(z) + 2k\pi) $,但期末卷极少这么考。
验证:计算 $ \operatorname{Ln}(-3+4i) $
- $ |-3+4i| = \sqrt{(-3)^2+4^2} = 5 $,故 $ \ln|z| = \ln5 $
- $ \operatorname{Arg}(-3+4i) $:点在第二象限,$ \theta = \pi - \arctan(4/3) \approx \pi - 0.9273 = 2.2143 $ rad
- 主值结果:$ \operatorname{Ln}(-3+4i) = \ln5 + i \cdot 2.2143 $
提示:$ \arctan(4/3) $ 不用算精确值,保留 $ \arctan(4/3) $ 即可,但必须注明“第二象限”,否则 $ \operatorname{Arg} $ 判定错误。
3. 解析性判定与导数生成:柯西-黎曼方程不是纸面条件,而是可验证的代码逻辑
第二章和第三章表面讲“函数在哪可导/解析”,实则构建一个从实部 $ u(x,y) $、虚部 $ v(x,y) $ 到复导数 $ f'(z) $ 的全自动流水线。很多同学死记“满足C-R方程且偏导连续则解析”,但考场遇到 $ f(z) = u + iv = x^2 - y^2 + i(2xy) $,仍要手动求四阶偏导再比对,既慢又易错。本节把C-R方程转化为可执行的验证脚本,并揭示一个关键事实:只要 $ u,v $ 是多项式或初等函数,C-R成立即自动保证偏导连续,无需额外验证(这是考试默认前提)。
3.1 动作1:从 $ f(z) $ 拆出 $ u(x,y) $ 和 $ v(x,y) $(变量替换法)
给定 $ f(z) = z^2 $,不能直接写 $ u=x^2-y^2 $,而要严格按 $ z = x+iy $ 代入:
from sympy import symbols, expand, re, im, I x, y = symbols('x y', real=True) z = x + I*y f_z = z**2 # f(z) = z^2 # SymPy自动分离实虚部 u_expr = re(f_z).expand() # 实部 v_expr = im(f_z).expand() # 虚部 print(f"f(z) = z^2 → u(x,y) = {u_expr}, v(x,y) = {v_expr}") # 输出:f(z) = z^2 → u(x,y) = x**2 - y**2, v(x,y) = 2*x*y参数说明:
re()和im()是SymPy内置函数,专为复数表达式设计;expand()展开确保无嵌套。此法避免人工拆分错误(如 $ (x+iy)^2 = x^2 - y^2 + 2ixy $,有人漏掉 $ i $ 导致 $ v $ 写成 $ 2xy $ 而非 $ 2xy $)。
3.2 动作2:C-R方程自动验证(四偏导一键生成)
C-R方程本质是两个等式:$ u_x = v_y $ 和 $ u_y = -v_x $。手动求导易错,用SymPy可秒出:
from sympy import diff # 继续上例 u_x = diff(u_expr, x) # ∂u/∂x u_y = diff(u_expr, y) # ∂u/∂y v_x = diff(v_expr, x) # ∂v/∂x v_y = diff(v_expr, y) # ∂v/∂y print(f"u_x = {u_x}, v_y = {v_y} → u_x == v_y? {u_x == v_y}") print(f"u_y = {u_y}, -v_x = {-v_x} → u_y == -v_x? {u_y == -v_x}") # 输出: # u_x = 2*x, v_y = 2*x → u_x == v_y? True # u_y = -2*y, -v_x = -2*y → u_y == -v_x? True逻辑说明:
diff(expr, var)对表达式expr关于变量var求导。这里u_x == v_y返回True,不是数值相等,而是符号恒等——意味着对所有 $ (x,y) $ 成立。这就是“处处满足C-R”的数学表达。
3.3 动作3:解析区域判定(由C-R成立域直接导出)
C-R方程成立的区域,就是 $ f(z) $ 可能解析的区域。但注意:C-R成立只是必要条件,解析还需 $ u,v $ 偏导在该区域连续。然而,对考试常见函数(多项式、$ e^z $、$ \sin z $、$ \log z $ 除外),偏导连续性自动满足。因此,解析区域 = C-R成立域。例如:
- $ f(z) = \frac{1}{z} = \frac{x-iy}{x^2+y^2} $,则 $ u = \frac{x}{x^2+y^2}, v = \frac{-y}{x^2+y^2} $
- 求偏导后发现C-R在 $ (x,y) \neq (0,0) $ 处成立 → 解析区域为 $ \mathbb{C}\setminus{0} $
避坑:不要写“除原点外处处解析”,必须写 $ \mathbb{C}\setminus{0} $,这是标准数学表述。
3.4 动作4:复导数 $ f'(z) $ 的两种等效生成法
一旦确认解析,$ f'(z) $ 可由 $ u,v $ 偏导生成,且有两种等价形式:
① $ f'(z) = u_x + i v_x $
② $ f'(z) = v_y - i u_y $(由C-R推得)
用SymPy验证一致性:
f_prime_method1 = u_x + I*v_x f_prime_method2 = v_y - I*u_y print(f"f'(z) by method1: {f_prime_method1}") print(f"f'(z) by method2: {f_prime_method2}") print(f"Consistent? {simplify(f_prime_method1 - f_prime_method2) == 0}") # 输出:Consistent? True关键技巧:考试中优先用方法1($ u_x + i v_x $),因为 $ u_x $ 和 $ v_x $ 通常比 $ v_y $、$ u_y $ 更简洁。例如 $ f(z) = e^z = e^x\cos y + i e^x\sin y $,则 $ u_x = e^x\cos y $,$ v_x = e^x\sin y $,故 $ f'(z) = e^x\cos y + i e^x\sin y = e^z $,一步到位。
4. 奇点-留数-积分闭环:把第五章的“找奇点→算留数→套公式”变成三行命令流
第四、五章是复变函数的实战核弹区:一道积分题可能横跨收敛半径判定、Laurent展开、奇点分类、留数计算、留数定理应用。但所有这些,最终都服务于一个目标:计算 $ \oint_C f(z),dz $。本节不讲定理证明,只提供一套可复制的命令流,把“看到积分式→写出答案”压缩到3步内。核心思想:奇点是锚点,留数是燃料,定理是引擎。
4.1 动作1:奇点定位与分类(3类奇点的判定树)
给定 $ f(z) = \frac{z^2+1}{z^2(z-1)} $,先找使分母为0的点:$ z=0 $(二重根)、$ z=1 $(单根)。然后按判定树分类:
| 奇点 $ z_0 $ | 判定动作 | 分类依据 | 本例结果 |
|---|---|---|---|
| $ z=0 $ | 看分子在 $ z=0 $ 是否为0 | 分子 $ 0^2+1 = 1 \neq 0 $ | 极点 |
| 看分母零点阶数 | $ z^2 $ → 2阶 | 2级极点 | |
| $ z=1 $ | 同上 | 分子 $ 1^2+1 = 2 \neq 0 $ | 极点 |
| 分母 $ (z-1) $ → 1阶 | 1级极点 | 1级极点 |
注意:若分子分母在 $ z_0 $ 同为0,需约分后再判。如 $ f(z) = \frac{z^2-1}{z-1} $,$ z=1 $ 处分子分母同为0,约去 $ (z-1) $ 得 $ f(z) = z+1 $,故 $ z=1 $ 是可去奇点(非极点)。
4.2 动作2:留数计算(3种公式对应3类奇点)
留数 $ \operatorname{Res}(f,z_0) $ 是积分计算的核心输入。不同奇点类型用不同公式:
- 可去奇点:留数恒为0(无需计算)
- m级极点:$ \operatorname{Res}(f,z_0) = \frac{1}{(m-1)!} \lim_{z\to z_0} \frac{d^{m-1}}{dz^{m-1}} \left[ (z-z_0)^m f(z) \right] $
- 本性奇点:必须用Laurent展开取 $ (z-z_0)^{-1} $ 项系数(考试极少考)
以 $ f(z) = \frac{z^2+1}{z^2(z-1)} $ 在 $ z=0 $(2级极点)为例:
from sympy import limit, factorial z = symbols('z') f_z = (z**2 + 1) / (z**2 * (z - 1)) z0 = 0 m = 2 # 应用m级极点留数公式 inner_expr = (z - z0)**m * f_z residue_z0 = (1 / factorial(m-1)) * limit(diff(inner_expr, z, m-1), z, z0) print(f"Res(f,0) = {residue_z0}") # 输出:Res(f,0) = -2参数说明:
diff(expr, z, n)对expr关于z求n阶导;limit(..., z, z0)求极限。此处m-1 = 1,所以求一阶导后取 $ z\to0 $ 极限。
4.3 动作3:留数定理应用(积分值 = $ 2\pi i \times $ 内部留数和)
给定积分 $ \oint_{|z|=2} \frac{z^2+1}{z^2(z-1)},dz $,圆周 $ |z|=2 $ 包含奇点 $ z=0 $ 和 $ z=1 $(因 $ |0|=0<2 $,$ |1|=1<2 $),不包含其他奇点。则:
$$ \oint_{|z|=2} f(z),dz = 2\pi i \left[ \operatorname{Res}(f,0) + \operatorname{Res}(f,1) \right] $$
先算 $ \operatorname{Res}(f,1) $(1级极点,用简化公式 $ \lim_{z\to1} (z-1)f(z) $):
residue_z1 = limit((z - 1) * f_z, z, 1) print(f"Res(f,1) = {residue_z1}") # 输出:Res(f,1) = 2 total_residue = residue_z0 + residue_z1 # -2 + 2 = 0 integral_value = 2 * pi * I * total_residue print(f"Integral = {integral_value}") # 输出:Integral = 0逻辑说明:
limit((z-1)*f_z, z, 1)是1级极点留数的快捷算法,比通用公式少一步求导。结果为0,说明被积函数在 $ |z|=2 $ 内留数和为0,积分值为0——这是留数定理最直观的体现。
4.4 动作4:路径无关性验证(柯西积分定理的适用前提)
当积分路径 $ C $ 是闭合曲线,且 $ f(z) $ 在 $ C $ 及其内部处处解析时,$ \oint_C f(z),dz = 0 $。这比留数定理更省事,但需严格验证解析性。例如 $ \oint_{|z|=1} \frac{1}{z^2+1},dz $,分母零点 $ z=\pm i $,而 $ |i|=1 $,恰在路径上!此时 $ C $ 上存在奇点,柯西定理不适用,必须用留数定理(且需变形路径绕过奇点)。考试中,若路径上出现奇点,题目会明确说“取主值”或给出绕行约定,否则默认路径不经过奇点。
提示:看到闭合积分,先快速扫一眼被积函数奇点位置与路径关系。若所有奇点都在路径外 → 结果为0;若在路径内 → 启动留数流程;若在路径上 → 题目会特殊说明,此时跳过。
5. 常见问题排查:5条血泪踩坑记录,每条对应一个阅卷扣分点
复习资料里标记的“重点题”(如13、15、18题,收敛半径,留数定理)之所以重点,是因为它们集中了高频翻车点。以下5条是某高校近3年复变函数期末卷的典型失分场景,按“现象→原因→解决”结构还原,每条直击阅卷人扣分逻辑。
5.1 现象:求 $ \operatorname{Arg}(-1) $ 写 $ -\pi $,被扣2分
原因:主值定义域是 $ (-\pi, \pi] $,$ -\pi $ 不在开区间内,而 $ \pi $ 在闭区间内。写 $ -\pi $ 违反定义。
解决:牢记口诀“负实轴取 $ \pi $,不取 $ -\pi $”。所有 $ z = x < 0, y = 0 $,一律 $ \operatorname{Arg}(z) = \pi $。
5.2 现象:计算 $ \oint_{|z|=1} \frac{1}{z} dz $ 时,用牛顿-莱布尼茨公式得0
原因:$ \frac{1}{z} $ 在 $ |z|=1 $ 内部(含 $ z=0 $)不解析,原函数 $ \log z $ 在复平面无单值分支,牛顿-莱布尼茨不适用。
解决:闭合积分优先想柯西积分公式或留数定理。此题直接套 $ \oint_{|z|=1} \frac{1}{z} dz = 2\pi i \cdot \operatorname{Res}(1/z,0) = 2\pi i $。
5.3 现象:Laurent展开 $ \frac{1}{z(z-1)} $ 在 $ 0<|z|<1 $,写成 $ \sum_{n=0}^\infty z^n \cdot \frac{1}{z} = \sum_{n=0}^\infty z^{n-1} $
原因:未对 $ \frac{1}{z-1} $ 做正确展开。在 $ |z|<1 $,应 $ \frac{1}{z-1} = -\frac{1}{1-z} = -\sum_{n=0}^\infty z^n $,再乘 $ \frac{1}{z} $ 得 $ -\sum_{n=0}^\infty z^{n-1} = -\sum_{k=-1}^\infty z^k $。
解决:Laurent展开必先确定区域,再对各因子分别展开(几何级数 $ \frac{1}{1-w} = \sum w^n $ 要求 $ |w|<1 $)。
5.4 现象:求幂级数 $ \sum_{n=1}^\infty \frac{z^n}{n^2} $ 收敛半径,用比值法得 $ \lim_{n\to\infty} \left| \frac{a_{n+1}}{a_n} \right| = \lim \frac{n^2}{(n+1)^2} = 1 $,故 $ R=1 $
原因:比值法适用于 $ a_n $ 为系数,此处 $ a_n = \frac{1}{n^2} $,计算正确,但漏判端点。收敛半径 $ R=1 $ 仅保证 $ |z|<1 $ 绝对收敛,$ |z|=1 $ 需单独判别(此例 $ \sum \frac{1}{n^2} $ 收敛,故 $ |z|=1 $ 也收敛)。
解决:收敛半径计算后,必须写“当 $ |z|<1 $ 时绝对收敛;当 $ |z|=1 $ 时,级数为 $ \sum \frac{1}{n^2} $,由p级数判别法知收敛”。
5.5 现象:计算 $ \int_C \frac{e^z}{z^2} dz $,$ C $ 为 $ |z|=1 $,直接写 $ 2\pi i \cdot \frac{e^0}{1!} = 2\pi i $
原因:误用柯西积分公式 $ \oint_C \frac{f(z)}{(z-z_0)^{n+1}} dz = \frac{2\pi i}{n!} f^{(n)}(z_0) $,但此处 $ f(z) = e^z $,$ z_0 = 0 $,$ n+1 = 2 $ 故 $ n = 1 $,应为 $ \frac{2\pi i}{1!} f'(0) = 2\pi i \cdot e^0 = 2\pi i $ ——计算碰巧对,但公式记错阶数。若题目是 $ \frac{e^z}{z^3} $,就会错成 $ \frac{2\pi i}{2!} f''(0) = \pi i \cdot e^0 $,而正确是 $ \frac{2\pi i}{2!} f''(0) = \pi i $。
解决:柯西公式中分母 $ (z-z_0)^{n+1} $,对应分子导数阶数 $ n $。默写公式:$ \frac{1}{2\pi i} \oint_C \frac{f(z)}{(z-z_0)^{k}} dz = \frac{f^{(k-1)}(z_0)}{(k-1)!} $,令 $ k=2 $ 得 $ \frac{f'(z_0)}{1!} $。
6. 进阶技巧:用Python自动化验证Laurent展开与收敛域,把“手算Laurent”变成调试过程
Laurent展开是复变函数中最易出错的环节:区域判断错一级,整个展开式报废;展开后不验证,无法确认 $ (z-z_0)^{-1} $ 项系数是否真为留数。本节提供一套可落地的Python验证流程,把Laurent展开从“黑匣子计算”变成“可调试代码”。核心思路:用SymPy的series()函数生成展开式,再用limit()验证留数,最后用abs()不等式确认收敛域。这不是替代手算,而是给你一把“后悔药”——考场上算完可快速自检。
6.1 技巧1:用series()生成Laurent展开(指定点与阶数)
以 $ f(z) = \frac{1}{z(z-1)} $ 在 $ z=0 $ 的Laurent展开为例,区域 $ 0<|z|<1 $:
from sympy import series, O z = symbols('z') f_z = 1 / (z * (z - 1)) # 在z=0处展开,取到z^2项(O(z^3)表示高阶无穷小) laurent_exp = series(f_z, z, 0, n=4).removeO() # n=4得z^{-1}到z^2项 print(f"Laurent at z=0: {laurent_exp}") # 输出:Laurent at z=0: -1/z - 1 - z - z**2参数说明:
series(expr, z, z0, n)在 $ z=z_0 $ 处展开,n是项数(含负幂)。removeO()去掉大O符号,得干净表达式。此处输出 $ -z^{-1} - 1 - z - z^2 $,$ (z-0)^{-1} $ 项系数为 $ -1 $,即 $ \operatorname{Res}(f,0) = -1 $。
6.2 技巧2:用limit()验证留数(双重保险)
从展开式读出留数是第一步,用留数定义公式验证是第二步:
# 方法1:从展开式提取z^{-1}系数 coeff_z_inv = laurent_exp.coeff(z**(-1)) print(f"Res from series: {coeff_z_inv}") # -1 # 方法2:用留数定义 lim_{z->0} d/dz [z^2 * f(z)] (因z=0是2级极点?等等!) # 先确认奇点级数:f(z) = 1/(z(z-1)),z=0是1级极点(分母z^1),非2级! # 正确留数公式:lim_{z->0} (z-0) * f(z) = lim_{z->0} 1/(z-1) = -1 residue_def = limit(z * f_z, z, 0) print(f"Res from definition: {residue_def}") # -1关键洞察:
series()输出的 $ z^{-1} $ 系数就是留数,但必须确认奇点级数是否匹配。此处 $ z=0 $ 是1级极点,limit(z*f_z, z, 0)是标准算法;若误判为2级,用错公式会得错值。series()是“结果验证”,定义式是“过程验证”,双保险。
6.3 技巧3:用abs()不等式确认收敛域(可视化辅助)
Laurent展开的收敛域是圆环 $ r < |z-z_0| < R $。series()不直接给域,但可结合函数奇点反推:
- 最近奇点距离 $ z_0 $ 为 $ r $(内半径)
- 次近奇点距离 $ z_0 $ 为 $ R $(外半径)
对 $ f(z) = \frac{1}{z(z-1)} $,奇点 $ z=0 $、$ z=1 $,在 $ z=0 $ 展开,则:
- 内半径 $ r = 0 $(因 $ z=0 $ 是奇点,不能包含)
- 外半径 $ R = |1-0| = 1 $(下一个奇点距离)
→ 收敛域 $ 0 < |z| < 1 $
用Python验证:取测试点 $ z=0.5 $(应在域内),$ z=2 $(应在域外),代入级数与原函数比对:
# 定义数值函数 f_numeric = lambdify(z, f_z, 'numpy') laurent_numeric = lambdify(z, laurent_exp, 'numpy') import numpy as np z_test_in = 0.5 + 0j # |z|=0.5 < 1 z_test_out = 2 + 0j # |z|=2 > 1 val_orig_in = f_numeric(z_test_in) val_series_in = laurent_numeric(z_test_in) print(f"z=0.5: orig={val_orig_in:.6f}, series={val_series_in:.6f}, diff={abs(val_orig_in - val_series_in):.2e}") val_orig_out = f_numeric(z_test_out) val_series_out = laurent_numeric(z_test_out) print(f"z=2: orig={val_orig_out:.6f}, series={val_series_out:.6f}, diff={abs(val_orig_out - val_series_out):.2e}") # 输出: # z=0.5: orig=-1.333333, series=-1.333333, diff=1. <p> <a href="https://download.csdn.net/download/qq_24146957/9321001" style="color:#ec7500;font-size:14px;"> 本文还有配套的精品资源,点击获取 </a> <img alt="menu-r.4af5f7ec.gif" src="https://csdnimg.cn/release/wenkucmsfe/public/img/menu-r.4af5f7ec.gif" style="width:16px;margin-left:4px;vertical-align:text-bottom;cursor:text;"> </p>