微扰法求解非线性谐振子

问题简述

非线性谐振子的方程为:
x¨+ω02x+Ax2+Bx3+⋯=0\ddot{x} +\omega_0^2x + A x^2 + B x^3 +\cdots = 0
我们假设加入非线性项之后,x(t)x(t)依然是一个周期函数,但振动的周期和函数形式不再是简单的简谐振动sin⁡(ω0t),cos⁡(ω0t)\sin(\omega_0t),\cos(\omega_0t)。但由于它还是周期函数(假设这个原频率为ω\omega),我们可以对它进行傅里叶级数展开:

x(t)=∑n=−∞∞fneinωtx(t)=\sum_{n=-\infty}^{\infty} f_n e^{in\omega t}

其中fnf_n是各项的振幅。

xnx^n的计算

我们有了x(t)x(t)的展开式,如何计算各阶非线性项中xn(t)x^n(t)的值?这是计算的核心问题

x(t)=∑n=−∞∞fneinωtx2(t)=∑n=−∞∞∑m−∞∞fnfmei(n+m)ωt=∑u=−∞∞(∑n=−∞∞fnfu−n)eiuωt=∑u=−∞∞gueiuωt\begin{align*} x(t)&=\sum_{n=-\infty}^{\infty} f_n e^{in\omega t}\\ x^2(t)&=\sum_{n=-\infty}^{\infty}\sum_{m-\infty}^{\infty} f_n f_m e^{i(n+m)\omega t}\\ &=\sum_{u=-\infty}^\infty\left(\sum_{n=-\infty}^{\infty} f_n f_{u-n}\right) e^{iu\omega t}\\ &= \sum_{u=-\infty}^\infty g_u e^{iu\omega t} \end{align*}
其中gu=(f∗f)u=∑n=−∞∞fnfu−ng_u = (f*f)_u=\sum_{n=-\infty}^{\infty} f_n f_{u-n}是序列fnf_n和自己的离散卷积
同理,xk(t)x^k(t)的计算就是kk个序列fnf_n作离散卷积,结果与fnf_n一样,也构成一个无穷序列。下面我们展示一个离散卷积的计算示例。

离散卷积

我们将以f(0)f^{(0)}为例,展示卷积的计算过程。f(0)f^{(0)}的表达式为:
f1(0)=af−1(0)=a‾f_1^{(0)} = a\\ f_{-1}^{(0)}=\overline a\\

计算g=f(0)∗f(0)g=f^{(0)}*f^{(0)}:
g0=∑n=−∞∞fn(0)f−n(0)=2aa‾g2=∑n=−∞∞fn(0)f2−n(0)=a2,g−2=a‾2g_0 =\sum_{n=-\infty}^{\infty} f_n^{(0)}f_{-n}^{(0)}= 2a\overline{a}\\ g_2=\sum_{n=-\infty}^{\infty} f_n^{(0)}f_{2-n}^{(0)}=a^2,\\ g_{-2}=\overline{a}^2\\

在此基础上计算h=f(0)∗f(0)∗f(0)=g∗f(0)h=f^{(0)}*f^{(0)} * f^{(0)}=g * f^{(0)}:
h3=∑n=−∞∞gn(0)f3−n(0)=a3,h−3=∑n=−∞∞gn(0)f−3−n(0)=a‾3h±1=3a2a‾,3aa‾2\begin{align*} h_{3}&=\sum_{n=-\infty}^{\infty} g_n^{(0)}f_{3-n}^{(0)} = a^3,\\ h_{-3}&=\sum_{n=-\infty}^{\infty} g_n^{(0)}f_{-3-n}^{(0)} =\overline{a}^3\\ h_{\pm 1}&= 3a^2 \overline{a},3a\overline{a}^2\\ \end{align*}

卷积计算可以不断地进行下去:
......

可以看出,对同一个函数地频谱进行多次卷积,会使得频谱由低频区向两侧的高频区扩展开来。这也是非线性谐振子频谱中高频项的来源。

计算

1.线性情形下的计算

当方程没有非线性项时:
x¨+ω02x=0\ddot{x} +\omega_0^2x=0
它的通解为:
x(t)=asin⁡(ω0t)+bcos⁡(ω0t)x(t)=a\sin(\omega_0 t)+b\cos(\omega_0 t)
或者写成复数形式:
x(t)=f1eiω0t+f−1e−iω0tx(t)=f_{1}e^{i\omega_0 t}+f_{-1} e^{-i\omega_0 t}
由于xx是实数,所以f1=f−1∗f_{1}=f_{-1}^*

2.非线性情形的计算思路

当存在非线性项,且非线性项的能量远小于谐振子项时,我们假设它对fnf_n和ω\omega的影响也是很小的,所以可以写成:

fn=fn(0)+fn(1)+fn(2)+⋯ω=ω0+ω1+ω2+⋯f_n = f_n^{(0)}+f_n^{(1)}+f_n^{(2)}+\cdots\\ \omega = \omega_0 +\omega_1 +\omega_2 +\cdots

把它们和非线性项代入方程:
x¨+ω02x+Ax2+Bx3+⋯=0\ddot{x} +\omega_0^2x + A x^2 + B x^3 +\cdots = 0
0=d2dt2∑n=−∞∞(fn(0)+fn(1)+fn(2)+⋯ )ein(ω0+ω1+ω2+⋯ )t+ω02∑n=−∞∞(fn(0)+fn(1)+fn(2)+⋯ )ein(ω0+ω1+ω2+⋯ )t+A∑n=−∞∞(f(0)+f(1)+f(2)+⋯ )∗(f(0)+f(1)+f(2)+⋯ )nein(ω0+ω1+ω2+⋯ )t+B∑n=−∞∞(f∗f∗f)nein(ω0+ω1+ω2+⋯ )t0=\frac{\mathrm d^2}{dt^2}\sum_{n=-\infty}^{\infty} (f_n^{(0)}+f_n^{(1)}+f_n^{(2)}+\cdots)e^{in(\omega_0 +\omega_1 +\omega_2 +\cdots)t}+\omega_0^2\sum_{n=-\infty}^{\infty} (f_n^{(0)}+f_n^{(1)}+f_n^{(2)}+\cdots)e^{in(\omega_0 +\omega_1 +\omega_2 +\cdots)t}+A\sum_{n=-\infty}^{\infty} (f^{(0)}+f^{(1)}+f^{(2)}+\cdots)*(f^{(0)}+f^{(1)}+f^{(2)}+\cdots)_n e^{in(\omega_0 +\omega_1 +\omega_2 +\cdots)t}+B\sum_{n=-\infty}^{\infty}(f*f*f)_ne^{in(\omega_0 +\omega_1 +\omega_2 +\cdots)t}

以上式子可以简写成:
∑n=−∞∞(−n2ω2fn+ω02fn+A(f∗f)n+B(f∗f∗f)n+⋯ )einωt=0\sum_{n=-\infty}^\infty (-n^2\omega^2 f_n+\omega_0^2f_n +A(f*f)_n+B(f*f*f)_n+\cdots)e^{in\omega t}=0
左侧为傅里叶展开式,右边是零,由einωte^{in\omega t}的完备性知,左侧各项系数为0:
−n2ω2fn+ω02fn+A(f∗f)n+B(f∗f∗f)n+⋯=0∀n-n^2\omega^2 f_n+\omega_0^2f_n +A(f*f)_n+B(f*f*f)_n+\cdots=0\qquad \forall n

−n2(ω0+ω1+ω2+⋯ )2(fn(0)+fn(1)+fn(2)+⋯ )+ω02(fn(0)+fn(1)+fn(2)+⋯ )+A∑n=−∞∞(f(0)+f(1)+f(2)+⋯ )∗(f(0)+f(1)+f(2)+⋯ )n+⋯=0-n^2(\omega_0 +\omega_1 +\omega_2 +\cdots)^2 (f_n^{(0)}+f_n^{(1)}+f_n^{(2)}+\cdots)+\omega_0^2 ( f_n^{(0)}+f_n^{(1)}+f_n^{(2)}+\cdots)+A\sum_{n=-\infty}^{\infty} (f^{(0)}+f^{(1)}+f^{(2)}+\cdots)*(f^{(0)}+f^{(1)}+f^{(2)}+\cdots)_n+\cdots=0
将上式按大小阶数展开,相同阶数和为零,得到方程:
第零阶:(−n2+1)ω02fn(0)=0,∀n\text{第零阶:}\quad(-n^2+1)\omega_0^2 f_n^{(0)}=0,\forall n

第一阶:A(f(0)∗f(0))n+ω02fn(1)−2n2ω0ω1fn(0)−n2ω0fn(1)=0,∀n\text{第一阶:}\quad A(f^{(0)}*f^{(0)})_n +\omega_0^2f_n^{(1)}-2n^2 \omega_0 \omega_1 f_n^{(0)}-n^2 \omega_0 f_n^{(1)}=0,\forall n

第零阶

从第零阶中可以解出
{fn(0)=0,n≠±1fn(0)≠0,n=±1\begin{cases} f_n^{(0)}= 0,n\ne \pm 1\\ f_n^{(0)}\ne 0, n=\pm 1 \end{cases}
由于x(t)x(t)为实数,fn=fn∗f_n=f_n^*,不妨设f1(0)=a,f−1(0)=a‾f_{ 1}^{(0)}=a,f_{ -1}^{(0)}=\overline{a}
这对应线性项:
x(t)=2Re(a)cos⁡ω0t−2Im(a)sin⁡ω0tx(t)=2\mathrm{Re}(a) \cos \omega_0 t-2\mathrm{Im}(a) \sin \omega_0 t

第一阶

A(f(0)∗f(0))n+ω02fn(1)−2n2ω0ω1fn(0)−n2ω0fn(1)=0,∀n\quad A(f^{(0)}*f^{(0)})_n +\omega_0^2f_n^{(1)}-2n^2 \omega_0 \omega_1 f_n^{(0)}-n^2 \omega_0 f_n^{(1)}=0,\forall n

第一阶中含有fn(1),ω1f_n^{(1)},\omega_1两个未知量。
当n±1n\pm 1时,方程中fn(1)f_n^{(1)}前系数为零,方程中只剩下ω1\omega_1,可以解出:
A(f(0)∗f(0))±1−2ω0ω1f±1(0)=0ω1=A(f(0)∗f(0))±12ω0f±10A(f^{(0)}*f^{(0)})_{\pm 1} -2\omega_0 \omega_1 f_{\pm 1}^{(0)}=0\\ \omega_1 = \frac{A(f^{(0)}*f^{(0)})_{\pm 1}}{2\omega_0 f_{\pm 1}^{0}}
经过计算知道ω1=0\omega_1=0
当n≠±1n\ne \pm 1时,代入ω1=0\omega_1=0可以计算各个fn(1)f_n^{(1)}的值:
fn(1)=A(f(0)∗f(0))n(n2−1)ω02(n≠±1)f_n^{(1)}=\frac{A(f^{(0)}*f^{(0)})_n}{(n^2-1)\omega_0^2}\qquad (n\ne \pm 1)
看起来我们无法计算f±1(1)f_{\pm 1}^{(1)}的值,但因为第零阶中的aa是人为规定的,故可以包含高阶下n=±1n=\pm 1的微扰(相当于假设振动基频的振幅就是a,a‾a,\overline{a})
因此我们不妨设f±1(1)=0f_{\pm 1}^{(1)}=0

更高阶的一般性分析

第kk阶的方程可以写作:
(−n2+1)ω02fn(k)−2fn(0)n2ω0ωk+λn(ω02,A1,⋯ ,Ak,ω1,⋯ ,ωk−1,fn(0),fn(1),⋯ ,fn(k−1))=0(-n^2+1)\omega_0^2 f_n^{(k)}-2f_n^{(0)}n^2\omega_0 \omega_k +\lambda_n(\omega_0^2,A_1,\cdots,A_{k},\omega_1,\cdots,\omega_{k-1},f_n^{(0)},f_n^{(1)},\cdots,f_n^{(k-1)})=0
在求第kk阶之前,我们已经求得了ω1,⋯ ,ωk−1,fn(0),⋯ ,fn(k−1)\omega_1,\cdots,\omega_{k-1},f_n^{(0)},\cdots,f_n^{(k-1)}的值,因此函数λn\lambda_n是已知项

计算自动化

可以看到,更高阶的计算十分繁琐,涉及的计算不仅项数极多,而且计算式中存在对无穷序列的多次离散卷积,很难处理。为了减少计算量,我们转向自动化符号计算工具(sympy),开发了一个计算各阶项参数的程序

一些重要的结果:

(下面设定f1(0)=a,f−1(0)=a‾f_1^{(0)}=a,f_{-1}^{(0)}=\overline{a})

第一阶

ω1=0\omega_1=0
f0(1)=−2A1aa‾ω02f_0^{(1)}=- \frac{2 A_{1} a \overline{a}}{\omega_{0}^{2}}
f2(1)=A1a23ω02,f−2(1)=A1a‾23ω02f_{2}^{(1)}=\frac{A_{1} a^{2}}{3 \omega_{0}^{2}},\qquad f_{-2}^{(1)}=\frac{A_{1} \overline{a}^{2}}{3 \omega_{0}^{2}}

第二阶

ω2=a(−10A12+9A2ω02)a‾6ω03\omega_2=\frac{a \left(- 10 A_{1}^{2} + 9 A_{2} \omega_{0}^{2}\right) \overline{a}}{6 \omega_{0}^{3}}
f3(2)=A12a312ω04+A2a38ω02,f−3(2)=A12a‾312ω04+A2a‾38ω02f_{3}^{(2)}=\frac{A_{1}^{2} a^{3}}{12 \omega_{0}^{4}} + \frac{A_{2} a^{3}}{8 \omega_{0}^{2}},\qquad f_{-3}^{(2)}=\frac{A_{1}^{2} \overline{a}^{3}}{12 \omega_{0}^{4}} + \frac{A_{2} \overline{a}^{3}}{8 \omega_{0}^{2}}

第三阶

ω3=0\omega_3=0
f0(3)=−38A13a2a‾29ω06+10A1A2a2a‾2ω04−6A3a2a‾2ω02f_0^{(3)}=- \frac{38 A_{1}^{3} a^{2} \overline{a}^{2}}{9 \omega_{0}^{6}} + \frac{10 A_{1} A_{2} a^{2} \overline{a}^{2}}{\omega_{0}^{4}} - \frac{6 A_{3} a^{2} \overline{a}^{2}}{\omega_{0}^{2}}
f2(3)=59A13a3a‾54ω06−31A1A2a3a‾12ω04+4A3a3a‾3ω02,f−2(3)=59A13aa‾354ω06−31A1A2aa‾312ω04+4A3aa‾33ω02f_{2}^{(3)}=\frac{59 A_{1}^{3} a^{3} \overline{a}}{54 \omega_{0}^{6}} - \frac{31 A_{1} A_{2} a^{3} \overline{a}}{12 \omega_{0}^{4}} + \frac{4 A_{3} a^{3} \overline{a}}{3 \omega_{0}^{2}},\qquad f_{-2}^{(3)}=\frac{59 A_{1}^{3} a \overline{a}^{3}}{54 \omega_{0}^{6}} - \frac{31 A_{1} A_{2} a \overline{a}^{3}}{12 \omega_{0}^{4}} + \frac{4 A_{3} a \overline{a}^{3}}{3 \omega_{0}^{2}}
f4(3)=A13a454ω06+A1A2a412ω04+A3a415ω02,f−4(3)=A13a‾454ω06+A1A2a‾412ω04+A3a‾415ω02f_{4}^{(3)}=\frac{A_{1}^{3} a^{4}}{54 \omega_{0}^{6}} + \frac{A_{1} A_{2} a^{4}}{12 \omega_{0}^{4}} + \frac{A_{3} a^{4}}{15 \omega_{0}^{2}},\qquad f_{-4}^{(3)}=\frac{A_{1}^{3} \overline{a}^{4}}{54 \omega_{0}^{6}} + \frac{A_{1} A_{2} \overline{a}^{4}}{12 \omega_{0}^{4}} + \frac{A_{3} \overline{a}^{4}}{15 \omega_{0}^{2}}

规律

(查看输出结果)

分别代入各AiA_i的情况

一些性质:

≡