I am learning about perturbation theory in ODE. I have the ODE $$\ddot{y}(t) + \alpha \epsilon \dot{y}(t) + y(t) = 0,\\y(0) = y_0\neq 0\\ \dot{y}(0) = 0,$$

where $\epsilon>0$ is small. (This admits an exact solution, i.e. $$y(t,\epsilon) = y_0e^{-\alpha\epsilon/2}\left(\cos\left(\sqrt{1-\frac{\alpha^2\epsilon^2}{4}}t\right) + \frac{\alpha \epsilon}{2\sqrt{1-\frac{\alpha^2\epsilon^2}{4}}}\sin\left(\sqrt{1-\frac{\alpha^2\epsilon^2}{4}}t \right) \right)$$ but the idea is to practice the perturbation method.)

I convert the system into a first-order vector ODE: $$\frac{\partial}{\partial t}\eta(t,\epsilon)= \left[ \begin{matrix} 0&-1\\ 1 & -\alpha \epsilon \end{matrix} \right] \eta(t,\epsilon)=A(\epsilon)\eta(t,\epsilon) $$ To determine that approximation up to first order, I claim that the first term is $y_0\cos(t)$. To determine the coefficient $\phi_1(t)$ on $\epsilon$, I note that $\phi_1(t)$ must solve $$ \dot{\phi}_1(t) = \left. \frac{\partial}{\partial \epsilon}A(\epsilon)\eta(t,\epsilon)\right|_{\epsilon = 0}\\ =A(0)\dot{\phi}_1(t) + A'(0) \left( y_0 \left[ \begin{matrix} \cos(t)\\\sin(t) \end{matrix} \right] \right). $$ If I solve this, I get $$ \phi_1(t) = \frac{y_0}{2} \left[ \begin{matrix} \alpha t \cos(t) - (a+2t)\sin(t)\\ 2t\cos(t) -\alpha t \sin(t) \end{matrix} \right] $$ giving an approximation $$\eta(t,\epsilon)=y_0\cos(t) + \frac{y_0}{2}\left( \alpha t \cos(t) - (\alpha + 2t) \sin(t)\right)\epsilon + o(\epsilon).$$

However, Wolfram keeps telling me that $$\left. \frac{\partial y(t,\epsilon)}{\partial \epsilon}\right|_{\epsilon = 0} = \frac{\alpha y_0}{2}(\sin(t) - \cos(t)),$$ where $y(t,\epsilon)$ is the exact solution. So I am now wondering if I am making a concepual error, or a computational error (I've checked my computation a few times, but of course there could still be an error


2 Answers 2


Rather than convert to a first order system, you may plug a Taylor approximation in the nonlinear system and group terms by powers of $\epsilon$. For the DE here, assume a solution of the form: \begin{equation*} \phi(t) = \phi_{0}(t) + \phi_{1}(t)\epsilon + O(\epsilon^{2}) \end{equation*} then \begin{alignat*}{2} y^{\prime\prime}+\alpha\epsilon+y &= 0 &&\Rightarrow \\ \phi_{0}^{\prime\prime}(t) + \phi_{1}^{\prime\prime}(t)\epsilon +\alpha\epsilon(\phi_{0}^{\prime}(t) + \phi_{1}^{\prime}(t)\epsilon) +\phi_{0}(t) + \phi_{1}(t)\epsilon &= 0 &&\Rightarrow \end{alignat*} \begin{equation*} \begin{cases} \phi_{0}^{\prime\prime}(t) + \phi_{0}(t) &= 0\\ \phi_{1}^{\prime\prime}(t)+\alpha\phi_{0}^{\prime}(t)+\phi_{1}(t) &= 0 \end{cases} \end{equation*} Solving the first equation and then applying the initial condition gives: \begin{equation*} \phi_{0}(t) = y_{0}\cos(t) \end{equation*} This compares to your exact equation when $\epsilon = 0$. For the second equation, we now have \begin{equation*} \phi_{1}^{\prime\prime}(t)+\phi_{1}(t) = \alpha y_{0}\sin(t) \end{equation*} This can be solved by the method of coefficients (which Wolfram is very helpful with). Doing it by hand, I get \begin{equation*} \phi_{1}(t) = y_{0}\left(\sin(t)-t\alpha\cos(t)\right) \end{equation*} Conceptually, the important part is that this function is linear in $t$.
Thus, the approximation will deviate over time which is why it is only accurate in a local neighborhood.
The final perturbed approximation is now \begin{equation*} \phi(t) = y_{0}\cos(t) + y_{0}\left(\sin(t)-t\alpha\cos(t)\right)\epsilon + O(\epsilon^{2}). \end{equation*}

  • $\begingroup$ Isn't the second equation $\phi_1''(t)+\phi_1(t)=\alpha y_0\sin(t)$ though? Otherwise where is the $y(t)$ term from the original equation? $\endgroup$
    – David
    May 15, 2014 at 12:17
  • $\begingroup$ Yes. It was a typo, and I corrected it. Sorry, about that. $\endgroup$
    – jpb
    May 15, 2014 at 12:33

Let $w=\frac{\partial y}{\partial\epsilon}$. The original equation, when differentiated with respect to $\epsilon$, becomes $$ w''+\alpha \epsilon w'+w=-\alpha y',\\ w(0)=w'(0)=0. $$ You know that $y|_{\epsilon=0}=y_{0}\cos t$. So $w|_{\epsilon=0}$ solves $$ z''+z=\alpha y_{0}\sin t,\\ z(0)=z'(0)=0, $$ which has solution $$ z(t)= -\frac{1}{2}\alpha y_{0}t\cos t+\frac{1}{2}\alpha y_{0}\sin t=\frac{1}{2}\alpha y_{0}(\sin t-t\cos t). $$ Did you drop a $t$ when you transcribed from Wolfram?

  • $\begingroup$ I did drop a $t$! Unfortunately, it won't compute when I include the $t$. I agree with your answer, though. Thank you! $\endgroup$
    – Eric Auld
    May 17, 2014 at 17:16

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .