本节摘要:SOURCE 3.1:3.1节所确立的一切——严谨的参数化定义、对路径几何的深刻敏感、ML不等式提供的稳健控制、以及诸性质构成的逻辑网络——共同塑造了一种独特的复分析方法论:它教导我们,理解一个复函数,不仅要审视其在点上的取值,更要考察其在各种可能路径上的"响应";解决问题,不仅需要代数技巧,更需要几何直觉与拓扑洞察;而所有高明的结论,其根基必深植于对最基本对象——积分——的绝对掌控之中。
本节把一维实积分推广到复平面上的曲线积分。核心转变:积分不再沿数轴单调累加,而是沿二维空间中的曲线"感知"函数。路径的形状第一次进入积分的定义,因此"路径无关性"成为需要专门研究的问题——这正是 3.2 节柯西定理的主题。
设 C 是可微曲线,参数化为 z(t)=x(t)+iy(t),t\in[a,b],且 z'(t)\ne0。f 在 C 上连续,定义
把 f=u+iv、dz=dx+i\,dy 代入,可以把复积分拆成两个实线积分:
这个"实部—虚部"分解是数值计算的基础:复积分的实部与虚部分别是两组实曲线积分。
复积分满足下列代数性质(假设各积分有意义):
| 性质 | 公式 |
|---|---|
| 线性 | \int_C(\alpha f+\beta g)\,dz=\alpha\int_C f\,dz+\beta\int_C g\,dz |
| 路径可加 | \int_{C_1+C_2}f\,dz=\int_{C_1}f\,dz+\int_{C_2}f\,dz |
| 反向 | \int_{-C}f\,dz=-\int_C f\,dz |
| 与参数化无关 | 积分值不依赖曲线的参数化方式 |
ML 不等式(估值工具):若 |f(z)|\le M 在 C 上成立,且 C 的长度为 L,则
证明只需一行:\left|\int f(z)z'(t)\,dt\right|\le\int|f(z)|\,|z'(t)|\,dt\le M\int|z'(t)|\,dt=ML。ML 不等式看似粗糙,却是证明柯西定理、柯西估计、留数定理时最常用的"安全阀"。
积分是否依赖路径?考虑 f(z)=1/z 沿单位圆正向积分:
尽管 1/z 在 \mathbb{C}\setminus\{0\} 上解析,积分仍非零——因为定义域不单连通,原点被挖去。这个例子同时说明:复积分记住路径的拓扑,这正是第5章留数定理的出发点。
计算 f(z)=z 沿从 z=0 到 z=1+i 的直线段的积分。取参数化 z(t)=t(1+i),t\in[0,1],z'(t)=1+i,则
再沿折线:先沿实轴从 0 到 1,再竖直从 1 到 1+i。第一段 z=t,dz=dt,积分 \int_0^1 t\,dt=\frac12;第二段 z=1+it,dz=i\,dt,积分 \int_0^1(1+it)i\,dt=i-\frac12。两段相加仍是 i。
同一函数沿不同路径积分相同,这并非偶然——f(z)=z 是整函数,定义域 \mathbb{C} 单连通,柯西定理(3.2 节)保证积分与路径无关。对比之下,f(z)=\bar z 沿这两条路径的结果不同,因为它不解析。这个对照是理解"路径无关性"最直观的实验。
import numpy as np def line_integral(f, zfun, t, name=""): """沿参数曲线 zfun(t) 计算 f(z) dz 的梯形近似""" dz = np.gradient(zfun(t), t) I = np.trapz(f(zfun(t)) * dz, t) print("%s: %.6f %+.6fi" % (name, I.real, I.imag)) return I t = np.linspace(0, 2*np.pi, 20001) # 单位圆 zfun = lambda t: np.exp(1j * t) line_integral(lambda z: 1.0 / z, zfun, t, "单位圆上 1/z ") line_integral(lambda z: z**2, zfun, t, "单位圆上 z^2 ") line_integral(lambda z: np.conj(z), zfun, t, "单位圆上 conj(z)") # 期望:2*pi*i、0、2*pi*i
积分值与参数化无关这一事实,在实际计算中极具价值:遇到圆、线段、抛物线等曲线时,可以自由选择最简参数化。例如单位圆既可写 z=e^{it},也可写 z=\cos t+i\sin t,两者给出相同积分值。但对方向必须小心:正向(逆时针)对应 t 递增,反向积分差一个负号。
复积分的另一个直观性质是路径变形:只要变形过程不跨越奇点,积分值不变。更精确地说,若两条曲线 C_1,C_2 在解析区域内可以通过连续变形互相得到(同伦),则 \int_{C_1}f\,dz=\int_{C_2}f\,dz。这是因为两条曲线围成的区域上可以应用柯西定理。
这一原则给出快速计算技巧:把复杂的曲线"拉直"成简单曲线。例如计算 \int_C\frac{dz}{z},其中 C 是任意绕原点一周的正向闭曲线,都可以变形为单位圆,结果恒为 2\pi i——曲线形状完全无关紧要,重要的是它绕原点转了几圈。这个"圈数"概念,正是辐角原理与第5章留数的几何雏形。
import numpy as np def int_polyline(f): """沿折线 0 -> 1 -> 1+i 计算积分(数值)""" t1 = np.linspace(0, 1, 20001) t2 = np.linspace(0, 1, 20001) # 第一段:z = t z1 = t1; dz1 = np.ones_like(t1) # 第二段:z = 1 + i t z2 = 1 + 1j * t2; dz2 = 1j * np.ones_like(t2) I = np.trapz(f(z1) * dz1, t1) + np.trapz(f(z2) * dz2, t2) return I def int_line(f): """沿直线 0 -> 1+i 计算积分""" t = np.linspace(0, 1, 20001) z = (1 + 1j) * t return np.trapz(f(z) * (1 + 1j), t) f1 = lambda z: z # 解析 f2 = lambda z: np.conj(z) # 非解析 print("f=z 折线 %.6f%+.6fi 直线 %.6f%+.6fi" % ( int_polyline(f1).real, int_polyline(f1).imag, int_line(f1).real, int_line(f1).imag)) print("f=conj 折线 %.6f%+.6fi 直线 %.6f%+.6fi" % ( int_polyline(f2).real, int_polyline(f2).imag, int_line(f2).real, int_line(f2).imag)) # 期望:f=z 的两条路径结果相同;f=conj 不同

⚠️ 常见坑:只记结论不记适用边界——复积分依赖路径的拓扑;f(z)=1/z 沿单位圆积分非零并非反常,而是定义域含"洞";ML 不等式要求 M 是 C 上的一个上界。
💡 关键直觉:3.1 复积分定义与性质 应能对应至少一项可复现实验或算例——上文的梯形法计算可直接验证 2\pi i、0、2\pi i 三个值。