Stability of cycles¶
Given the generic system of ordinary differential equations of the form:
we want to find a particular solution such that:
where \(T > 0\) is the period of the cycle.
Depending on their asymptotic behavior limit cycles can be either stable or unstable. In the first scenario they behave as attractors, while in the second one they behave as repellers.
Let \(\textbf{x}^*(t) + \delta\textbf{x}(t)\) be the neighbor of a limit cycle state at time \(t\), where \(\delta\textbf{x}(t)\) thus captures the initial perturbation with respect to the limit cycle. After a time equal to the period \(T\), this point of the state space is transported by the flow as following:
By expanding the right hand side of Equation (2) to the first order, and considering that \(x_{i}^{*}(t) = f_{i}\big(\textbf{x}^*(t)\big) \big \rvert_{t}^{t+T}\) (limit cycle condition), we obtain:
Equation (3) describes the dynamic of the perturbed neighboring state.
Note
The quantity
is called the Jacobian Matrix or Floquet Matrix, and describes how the neighbor is deformed by the flow, after a period \(T\).
The stability of a periodic orbit is governed by the eigenvalues of the Jacobian matrix (Floquet multipliers). For an orbit to be stable, all the eigenvalues (except the trivial one) must be less the one in absolute value.
The Jacobian (or Monodromy) matrix, is the solution of the differential equation:
Note
We define stability matrix the quantity
where \(v\) is the right-hand-side of Equation (1)
Two methods have been implemented in the code to calculate the Jacobian matrix:
Analytical, solving Equation (4);
Numerical, by finite differentiation.
A multiple-shooting algorithm has been implemented in order to detect limit cycles and assess their stability.