Bouali2¶
Systems / ODEs / Coupled systems
An extended Van der Pol oscillator with a chaos-inducing feedback loop, proposed by Bouali as an idealised macroeconomic business-cycle model with a stretched-loop strange attractor.
Definition¶
\[
\begin{aligned}
\dot{x} &= - a x y + a x y_{0} - b z \\
\dot{y} &= g x^{2} y - g y \\
\dot{z} &= bb m x z - c z - 1.5 m x
\end{aligned}
\]
Parameters¶
| Symbol | Default | Role |
|---|---|---|
a |
3 |
self-excitation gain of the oscillator core |
b |
2.2 |
feedback gain of the z channel into x |
bb |
0 |
z-loop x*z cross-product gain |
c |
0 |
z-loop linear decay gain |
g |
1 |
nonlinear damping of the y channel |
m |
-0.0026667 |
z-loop drive gain |
y0 |
1 |
reference level of the x channel |
State variables: x, y, z
Properties¶
Lyapunov spectrum
TODO — lyapunov_spectrum failed: AttributeError
Kaplan–Yorke dimension
TODO — requires a numeric Lyapunov spectrum
Divergence ∇·f
$\nabla\!\cdot f = - a y + a y_{0} + bb m x - c + g x^{2} - g$
state-dependent
state-dependent
Equilibria
1 equilibria
0 stable · 1 unstable
0 stable · 1 unstable
Use it in TSDynamics¶
import tsdynamics as ts
system = ts.systems.Bouali2()
traj = system.run(final_time=100.0, dt=0.01)
ts.plot(traj)
spectrum = ts.analysis.lyapunov_spectrum(system)
ts.analysis.kaplan_yorke_dimension(spectrum)
Reference¶
Bouali (1999), Int. J. Bifurcation Chaos 9, 745-756
doi:10.1142/s0218127499000535