虚数和复平面
引入 i=−1 后,核心定律为如下的欧拉公式:
eiθ=cosθ+isinθ
利用 ex,sinx,cosx 的泰勒展开可证明欧拉公式:
exsinxcosxeiθ=1+x+2!x2+3!x3+⋯,=x−3!x3+5!x5−⋯,=1−2!x2+4!x4−⋯,=1+iθ+2!(iθ)2+3!(iθ)3+⋯=(1−2!θ2+4!θ2−⋯)+i(θ−3!θ3+5!θ5−⋯)=cosθ+isinθ
虚数 i 出现在指数上,本质上是利用泰勒展开将指数运算延拓到了复数域。
复平面(Complex Plane):特殊的二维坐标系,横轴称为实轴(real axis),纵轴称为虚轴(imaginary axis)。
- 从欧拉公式可知,eiθ(θ∈R) 描述了复平面内单位圆上的点。
- 结合模长缩放,任意复数都可以写成极坐标形式 reiθ(r,θ∈R,r≥0),它能表示复平面上的所有点。
重要性质:将复平面上任意一点×i,几何效果等同于将其 绕原点逆时针旋转 90°。
- 代数证明:设该点 z=x+y⋅i(x,y∈R),则 i⋅z=i(x+y⋅i)=−y+x⋅i,即 (x,y)→(−y,x)。
- 极坐标证明:设该点为 z=reiθ(r,θ∈R,r≥0),则 i⋅z=i⋅reiθ=eiπ/2⋅reiθ=rei(θ+π/2)。
考察复平面上的运动函数 f(t)=est,其中 t 是时刻,f(t) 代表 t 时刻在复平面上的位置向量。
- s=iω(ω∈R) 描述了一个点在复平面单位圆上的逆时针圆周运动。证明:对 f(t)=eωit 求导后的速度向量是 dtdeiωt=iω⋅eiωt ,几何含义为"即时速度向量严格垂直于当前位置向量",其中 ω 控制旋转速度。
- s=a+bi(a,b∈R) 描述了一个点在复平面上沿着螺旋轨迹运动,其中 a>0 表示螺旋向外、a<0 表示螺旋向内。证明:f(t)=e(a+bi)t=eat⋅ebit,前者(实部)是模长的放缩,后者(虚部)是旋转。
弹簧的微分方程
不带阻尼的弹簧系统
由胡克定律和牛顿第二定律,可推导弹簧位移 x(t) 和时间 t 的关系:
m⋅x′′(t)+k⋅x(t)=0
常微分方程经典技巧:猜测解的形式是 x(t)=est,代入可得 est(ms2+k)=0,即 s=±ik/m。
线性齐次微分方程的解具有线性叠加性,该方程的通解为:
x(t)=c1eiωt+c2e−iωt,ω=k/m(t∈R,x(t)∈C)

从纯数学来说,常数 (c1,c2) 可以取任意复数,即 x(t) 可以带有虚部;但从物理世界出发,x(t) 只在实数上有意义。有一个操作叫做取实部(记为 Re{x(t)}),即 x(t) 复数值的实部投影能完全对应物理世界的位移。
特定的取值可以使得 x(t)∈R,如 c1=c2=1 时,代入欧拉公式得 x(t)=eiωt+e−iωt=2cos(ωt)。
为了研究 x(t) 何时为实数,我们可以把基底 {eiωt,e−iωt} 通过线性组合变换到新基底 {sin(ωt),cos(ωt)}:
cos(ωt)=21(eiωt+e−iωt)sin(ωt)=2i1(eiωt−e−iωt)x(t)=c1eiωt+c2e−iωt=Acos(ωt)+Bsin(ωt){A=(c1+c2)B=i(c1−c2)
参数 (A,B) 同样可以任取复数值,此时这两个基底表达的解空间完全相同。
用基底 {sin(ωt),cos(ωt)} 描述解的好处是:
参数 (A,B) 取实数,是位移 x(t) 为实数的充要条件。
- 证明充分性:cos(ωt) 和 sin(ωt) 在 t 为实数时始终是实值函数,他们的实线性组合 x(t) 自然也是实数。
- 证明必要性:注意到 x(0)=A,x(2ωπ)=B,若 ∀t,x(t)∈R,显然有 A,B∈R。
回顾原基底 {eiωt,e−iωt},如果要有 ∀t∈R,x(t)∈R,则 A,B∈R,即 c1=c2,可得结论:
参数 (c1,c2) 是共轭复数,是位移 x(t) 为实数的充要条件。
带阻尼的弹簧系统
现在引入阻力系统 μ。假设它关于速度有个一阶线性近似,则弹簧位移 x(t) 和时间 t 的函数拓展成:
m⋅x′′(t)+k⋅x(t)+μx′(t)=0
同理代入 x(t)=est,得一元二次特征方程 est(ms2+k)=0,解得
s=2m−μ±μ2−4mk
考察 s 落在复平面的位置。μ=0 时只落在实部为 0 的虚轴上;当 μ 不断增大时,两个共轭的 s 慢慢接近实轴。由于实部始终 <0,est 会呈现出螺旋向内的运动,其实部会震荡趋向于 0,这被称为欠阻尼。

当 μ2 增大到 4mk 时达到临界阻尼状态,此时 s1=s2 有重根。为了找到另一个线性无关的基底,运用参数变易法(Variation of Parameters)增设一个参数函数 u(t),把 x=u⋅est 代入原方程得 u(t)=c1+c2t。
当 μ2>4mk 时达到过阻尼状态,此时 (s1,s2) 时两个互异的复实根,虚部的消失意味着复平面上的旋转消失。
x(t)=⎩⎨⎧1. 欠阻尼 (Underdamped, μ2<4mk):特征根: s1,2=α±iω,其中 α=−2mμ,ω=2m4mk−μ2复数形式: x(t)=eαt(c1eiωt+c2e−iωt)实数形式: x(t)=eαt(Acosωt+Bsinωt)2. 过阻尼 (Overdamped, μ2>4mk):特征根: s1,2=2m−μ±μ2−4mk(两个互异负实根)通解: x(t)=c1es1t+c2es2t3. 临界阻尼 (Critically Damped, μ2=4mk):特征根: s1=s2=−2mμ(二重负实根)通解: x(t)=(c1+c2t)es1t
傅里叶变换
🚧待施工
拉普拉斯变换
拉普拉斯变换的定义
拉普拉斯标准变换公式如下:
F(s)=∫0∞f(t)e−stdt
这里 f(t) 是 R→C 的原函数,我们将其变换成 C→C 的另一个函数 F(s)。s∈C 可以是任意复数值,考虑其所在的复平面(这被称为 s-plane)。我们可以对每个可能的 s 都求出 F(s) 并画出 s-plane 的函数图像。
拉普拉斯变换涉及到对复数函数求积分,我们需要把对积分的理解从 面积 转换到 分段求和+向量合成。假设我们要计算 ∫C(t)dt,取某一段 Δt 得到复平面上的一个向量,把所有向量按 Δt 缩放后首尾相接拼成一个大向量,这就是整体的积分值。最后的积分结果可能收敛到某个点,也可能到震荡到无穷大。
以 f(t)=1,t≥0 举例,代入拉普拉斯变换可得积分结果:
F(s)=∫0∞e−stdt=[−s1e−st]0∞=s1
- 当 Re{s}>0 时:整个积分收敛到 1/s,这被称为 收敛域(Region of Convergence)。
- 当 Re{s}≤0,s=0 时:F(s) 存在唯一 解析延拓(Analytic Continuation) F(s)=1/s。
- 当 s=0 时:积分值达到正无穷,在 s 平面里的函数值存在一个高峰,这被称为 极点(Pole)。
拉普拉斯变换感性理解:想象 f(t) 是疯狂震荡或增长的函数,引入 e−st=e−σt⋅e−iωt 来过滤和对冲:e−σt 负责压制 f(t) 过快增长,e−iωt 负责逆向对冲本以频率 ω 旋转的 f(t)。当 s 恰好匹配了 f(t) 内部的增长率和频率时,f(t)e−st 在积分内部趋于平稳或变成常数,积分值 F(s) 趋于无穷大,即出现我们要找的极点。
拉普拉斯变换是线性的,我们可以从 f(t)=1 拓展到 f(t)=eat,a∈C 和 f(t)=cos(ωt),ω∈R
L{f(t)=eat}→F(s)L{f(t)=cos(ωt)}→F(s)=∫0∞eat⋅e−stdt=s−a1=∫0∞cos(ωt)⋅e−stdt=∫0∞(21eiωt+21e−iωt)⋅e−stdt=21(s−iω1+s+iω1)=s2+ω2s

拉普拉斯变换的重要性质
拉普拉斯变换可以将时域中的求导转化为 s 域中的乘法:
F(s)=L{f(t)}L{f′(t)}=sF(s)−f(0)
我们可以用分部积分来证明这个变换:
L{f′(t)}=∫0∞f′(t)e−stdtu=e−st,dv=f′(t)dt→v=f(t),du=−se−stdtL{f′(t)}=[f(t)e−st]0∞−∫0∞f(t)(−se−st)dt=sF(s)−f(0)
带阻尼和固定频率外力的弹簧系统
在工程实际中(如桥梁震动、汽车悬挂、交流电路),系统不仅仅是被动衰减,还会受到一个持续的外部驱动力。想象你正在有节奏地推一个正在荡秋千的人,或者一个马达正以固定的角频率 ω 周期性地拉扯弹簧。
假设外力呈现余弦波形式 F(t)=F0cos(ωt),此时牛顿第二定律方程变为非齐次微分方程:
m⋅x′′(t)+k⋅x(t)+μx′(t)=F0cos(ωt)
我们对其两边同时进行拉普拉斯变换。利用导数的性质:
L{L{x′′(t)}}L{x′(t)}L{x(t)}X(s)(ms2+μs+k)=s2X(s)−sx0−v0=sX(s)−x0=X(s)−mv0−(ms+μ)x0=s2+ω2F0s
我们假设系统从静止开始(v0=x0=0),可将代数方程大幅简化并求出 X(s):
L{x(t)}=X(s)=(ms2+μs+k)(s2+ω2)F0ss1,s2=2m−μ±μ2−4mk,s3,s4=±ωi
通过部分分式展开(Partial Fraction Expansion),并利用拉普拉斯变换的线性性,可得 x(t) 的通解形式:
X(s)L−1{X(s)}x(t)=mF0⋅(s−iω)(s+iω)(s−s3)(s−s4)s=s−s1A+s−s2B+s−iωC+s+iωD=L−1{s−s1A}+L−1{s−s2B}+L−1{s−iωC}+L−1{s+iωD}=Aes1t+Bes2t+Ceiωt+De−iωt
从 x(t) 的解析解中可知,(s1,s2) 对应无外力系统的解,(s3,s4) 对应与外力节奏相匹配的余弦波。
- 暂态响应(Transient State):极点 (s1,s2) 是系统自身的固有根。因为存在阻尼(μ>0),这两个根的实部必然为负。随着时间 t→∞,es1t 和 es2t 都会指数级衰减至零。
- 稳态响应(Steady State):极点 (s3,s4)=±iω 是纯虚数根,它们对应于与外力节奏相匹配的、不衰减的余弦震荡。当暂态响应消失后,系统完全被外力“接管”,以频率 ω 进行持续的受迫振动。

如果系统处于几乎无阻尼(μ→0)的理想状态,稳态的解析解可化简为:
x(t)=m(k/m−ω2)F0cos(ωt)
这个公式揭示了一个极其震撼的物理现象:当外力的驱动频率 ω 越来越接近系统的无阻尼固有频率 k/m 时,分母会趋近于 0,稳态振荡的振幅会急剧放大。这就是物理学中著名的 共振(Resonance)。在 s 平面上看,也就是外部极点越来越靠近系统固有极点所在的水平位置,引发了能量的狂飙。
拉普拉斯逆变换和围道积分
🚧待施工
F(s)f(s)=∫0∞f(t)e−stdt=2πi1∫a−i∞a+i∞F(s)estds
优化乘法卷积
互联网上资料很多,本章灵感和表述主要参考自 如何计算百万位级别的大数乘法?-好地方bug
考虑系数未知的 n 次多项式 f(x)=anxn+an−1xn−1+⋯+a0。
如果我们能求出其在 n+1 个位置的点值 (x0,f(x0)),…,(xn,f(xn)),就可以通过差值求出原始系数 ai。
不妨设 n 是 2 的幂次,我们考虑如何快速求出 n 次多项式 f(x) 的 n 个非平凡位置(已有 (0,f(0)))的点值。
- 如果 f(x) 是偶多项式,我们只需对 2n 个不同的正数 x 求点值再利用 f(x)=f(−x)。
- 如果 f(x) 是奇多项式,我们只需对 2n 个不同的正数 x 求点值再利用 f(x)=−f(−x)。
我们利用以上两个 trick 对 f(x) 进行重组,使其只需计算 2n 处点值而可以复用另一侧:
f(x)=(a0+a2x2+a4x4+⋯+anxn)+x(a1+a3x2+a5x4+⋯+an−1xn−2)f(x)=feven(x2)+xfold(x2)f(−x)=feven(x2)−xfold(x2)
变换只需分别对 feven(x) 和 fold(x) 这两个 2n 次多项式求 2n 处点值,再将其扩展到 f(x) 的 n 处点值即可。合并复杂度是 O(n),根据分治主定理可知总复杂度是 O(nlogn)。现在只需解决一个问题:我们分解原问题时,要求子问题里求得的所有点值都满足 x2 这种非负形式,那么子问题里就没法继续用 ±x 这种对称性的 trick 了。
总结我们在上述分治算法里对 {x1,x2,…,xn} 的取值诉求:
- 这 n 组取值一定能拆分成正负成对的两部分,使得我们能应用 ±x 的分治算法。
- 不妨设拆分后其中一半是 {x1,x2,…,xn/2},要求 {x12,x22,…,xn/22} 递归地满足上述性质。
引入复数后,xn=1 的 n 个根正好满足上述诉求:
{x1,x2,…,xn}={w0,w1,w2,…,wn−1}w=en2πi=cos(n2πi)+isin(n2πi)
因为可以拆成 {w0,w1,…,wn/2−1} 和 {wn/2,w1,…,wn−1} 两部分,前者平方后正好是 xn/2=1 的解。