DoublePendulum¶
Systems / ODEs / Physical systems
Two coupled pendula — the iconic mechanically chaotic system, exquisitely sensitive to initial conditions.
Interactive: drag to rotate
Definition¶
\[
\begin{aligned}
\dot{y_{0}} &= \frac{6 \left(2 y_{2} - 3 y_{3} \cos{\left(y_{0} - y_{1} \right)}\right)}{d^{2} m \left(16 - 9 \cos^{2}{\left(y_{0} - y_{1} \right)}\right)} \\
\dot{y_{1}} &= \frac{6 \left(- 3 y_{2} \cos{\left(y_{0} - y_{1} \right)} + 8 y_{3}\right)}{d^{2} m \left(16 - 9 \cos^{2}{\left(y_{0} - y_{1} \right)}\right)} \\
\dot{y_{2}} &= - 0.5 d^{2} m \left(\frac{29.46 \sin{\left(y_{0} \right)}}{d} + \frac{36 \left(2 y_{2} - 3 y_{3} \cos{\left(y_{0} - y_{1} \right)}\right) \left(- 3 y_{2} \cos{\left(y_{0} - y_{1} \right)} + 8 y_{3}\right) \sin{\left(y_{0} - y_{1} \right)}}{d^{4} m^{2} \left(16 - 9 \cos^{2}{\left(y_{0} - y_{1} \right)}\right)^{2}}\right) \\
\dot{y_{3}} &= - 0.5 d^{2} m \left(\frac{29.46 \sin{\left(y_{1} \right)}}{d} - \frac{36 \left(2 y_{2} - 3 y_{3} \cos{\left(y_{0} - y_{1} \right)}\right) \left(- 3 y_{2} \cos{\left(y_{0} - y_{1} \right)} + 8 y_{3}\right) \sin{\left(y_{0} - y_{1} \right)}}{d^{4} m^{2} \left(16 - 9 \cos^{2}{\left(y_{0} - y_{1} \right)}\right)^{2}}\right)
\end{aligned}
\]
Parameters¶
| Symbol | Default | Role |
|---|---|---|
d |
1 |
arm length (sets the gravitational frequency scale) |
m |
1 |
arm mass (both arms equal) |
Properties¶
Lyapunov spectrum
$+0.0113,\; +0.01256,\; -0.01262,\; -0.01124$
computed at build
computed at build
Kaplan–Yorke dimension
$D_{KY} = 4$
Divergence ∇·f
n/a — too large to display — pathological rational divergence
Equilibria
80 equilibria
0 stable · 80 unstable
0 stable · 80 unstable
Define it in TSDynamics¶
import tsdynamics as ts
sys = ts.systems.DoublePendulum()
traj = sys.integrate(final_time=100.0, dt=0.01)
exps = sys.lyapunov_spectrum()
ts.kaplan_yorke_dimension(exps)
Reference¶
Marion (1965), Classical Dynamics of Particles and Systems, Academic Press