Bouali¶
Systems / ODEs / Coupled systems
The Bouali business-cycle flow (first regime) — a feedback-augmented Van der Pol oscillator tracing a stretched-loop economic 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 |
1 |
oscillator self-excitation |
b |
-0.3 |
z→x feedback gain |
bb |
1 |
x·z cross-feedback |
c |
0.05 |
z linear decay |
g |
1 |
nonlinear damping |
m |
1 |
z-loop drive |
y0 |
4 |
reference level of x |
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
4 equilibria
0 stable · 4 unstable
0 stable · 4 unstable
Use it in TSDynamics¶
import tsdynamics as ts
system = ts.systems.Bouali()
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