Continuous coupled dynamical systems
Mediated link
#
CausalityTools.Systems.mediated_link
— Method.
mediated_link(;u₀ = rand(9), ωx = 1, ωy = 1.015, ωz = 0.985,
k = 0.15, l = 0.2, m = 10.0,
c = 0.06) -> ContinuousDynamicalSystem
Initialise a three-subsystem dynamical system where X
and Y
are driven by Z
. At the default value of the coupling constant c = 0.06
, the responses X
and Y
are already synchronized to the driver Z
.
Equations of motion
The dynamics is generated by the following vector field
References
- Krakovská, Anna, et al. "Comparison of six methods for the detection of causality in a bivariate time series." Physical Review E 97.4 (2018): 042207
Two bidirectionally coupled 3D Lorenz systems
#
CausalityTools.Systems.lorenz_lorenz_bidir
— Method.
lorenz_lorenz_bidir(; u0 = rand(6),
c_xy = 0.2, c_yx = 0.2,
a₁ = 10, a₂ = 28, a₃ = 8/3,
b₁ = 10, b₂ = 28, b₃ = 9/3) -> ContinuousDynamicalSystem
Initialise a bidirectionally coupled Lorenz-Lorenz system, where each subsystem is a 3D Lorenz system [1]. Default values for the parameters a₁
, a₂
, a₃
, b₁
, b₂
, b₃
are as in [1].
Equations of motion
The dynamics is generated by the following vector field
References
- Amigó, José M., and Yoshito Hirata. "Detecting directional couplings from multivariate flows by the joint distance distribution." Chaos: An Interdisciplinary Journal of Nonlinear Science 28.7 (2018): 075302.
Two bidirectionally coupled 3D Lorenz systems forced by another 3D Lorenz system
#
CausalityTools.Systems.lorenz_lorenz_lorenz_bidir_forced
— Method.
lorenz_lorenz_lorenz_bidir_forced(; u0 = rand(9),
c_xy = 0.1, c_yx = 0.1,
c_zx = 0.05, c_zy = 0.05,
a₁ = 10, a₂ = 28, a₃ = 8/3,
b₁ = 10, b₂ = 28, b₃ = 8/3,
c₁ = 10, c₂ = 28, c₃ = 8/3)
Initialise a system consisting of two bidirectionally coupled 3D Lorenz systems forced by an external 3D Lorenz system, giving a 9D system.
Equations of motion
The dynamics is generated by the following vector field
References
- Amigó, José M., and Yoshito Hirata. "Detecting directional couplings from multivariate flows by the joint distance distribution." Chaos: An Interdisciplinary Journal of Nonlinear Science 28.7 (2018): 075302.
Three transitively connected 3D Lorenz systems
#
CausalityTools.Systems.lorenz_lorenz_lorenz_transitive
— Method.
lorenz_lorenz_lorenz_transitive(;uᵢ=rand(9),
σ₁ = 10.0, σ₂ = 10.0, σ₃ = 10.0,
ρ₁ = 28.0, ρ₂ = 28.0, ρ₃ = 28.0,
β₁ = 8/3, β₂ = 8/3, β₃ = 8.3,
c₁₂ = 1.0, c₂₃ = 1.0) -> ContinuousDynamicalSystem
Initalise a dynamical system consisting of three coupled Lorenz attractors with a transitive causality chain where X₁ → X₂ and X₂ → X₃. In total, the three 3D-subsystems create a 9-dimensional dynamical system.
The strength of the forcing X₁ → X₂ is controlled by the parameter c₁
, and the forcing from X₂ → X₃ by c₂
. The remaining parameters are the usual parameters for the Lorenz system, where the subscript i
refers to the subsystem Xᵢ.
Equations of motion
The dynamics is generated by the following vector field
Usage in literature
This system was studied by Papana et al. (2013) for coupling strengths c_{12} = 0, 1, 3, 5 and c_{23} = 0, 1, 3, 5.
References
- Papana et al., Simulation Study of Direct Causality Measures in Multivariate Time Series. Entropy 2013, 15(7), 2635-2661; doi:10.3390/e15072635
Two bidirectionally coupled 3D Rössler systems
#
CausalityTools.Systems.rossler_rossler_bidir
— Method.
rossler_rossler_bidir(; u0 = rand(6),
ω₁ = 1.015, ω₂ = 0.985,
c_xy = 0.1, c_yx = 0.1,
a₁ = 0.15, a₂ = 0.2, a₃ = 10,
b₁ = 0.15, b₂ = 0.2, b₃ = 10)
Initialise a system of two bidirectionally coupled 3D Rössler systems. This system has been modified from [1] to allow other parameterisations, but default parameters are as in [1].
The X and Y subsystems are mostly synchronized for c_xy > 0.1
or c_yx > 0.1
.
Equations of motion
The dynamics is generated by the following vector field
References
- Amigó, José M., and Yoshito Hirata. "Detecting directional couplings from multivariate flows by the joint distance distribution." Chaos: An Interdisciplinary Journal of Nonlinear Science 28.7 (2018): 075302.
Two bidirectionally coupled 3D Rössler systems forced by another 3D Rössler system
#
CausalityTools.Systems.rossler_rossler_rossler_bidir_forced
— Method.
rossler_rossler_rossler_bidir_forced(; u0 = rand(9),
ω₁ = 1.015, ω₂ = 0.985, ω₃ = 0.95,
c_xy = 0.1, c_yx = 0.1,
c_zx = 0.05, c_zy = 0.05,
a₁ = 0.15, a₂ = 0.2, a₃ = 10,
b₁ = 0.15, b₂ = 0.2, b₃ = 10,
c₁ = 0.15, c₂ = 0.2, c₃ = 10)
Equations of motion for a system consisting of three coupled 3D Rössler systems (X, Y, Z), giving a 9D system [1]. The external system Z influences both X and Y (controlled by c_zx
and c_zy
). Simultaneously, the subsystems X and Y bidirectionally influences each other (controlled by c_xy
and c_yx
).
The X and Y subsystems are mostly synchronized for c_xy > 0.1
or c_yx > 0.1
.
Equations of motion
The dynamics is generated by the following vector field
References
- Amigó, José M., and Yoshito Hirata. "Detecting directional couplings from multivariate flows by the joint distance distribution." Chaos: An Interdisciplinary Journal of Nonlinear Science 28.7 (2018): 075302.
Unidirectonal forcing from a 3D Rössler system to a 3D Lorenz system
#
CausalityTools.Systems.rossler_lorenz
— Method.
rossler_lorenz(;u₀ = rand(6), a₁ = -6, a₂ = 6, a₃ = 2.0,
b₁ = 10, b₂ = 28, b₃ = 8/3, c_xy = 1) -> ContinuousDynamicalSystem
Initialise a Rössler-Lorenz system consisting of two independent 3D subsystems: one Rössler system and one Lorenz system. They are coupled such that the second component (x₂
) of the Rössler system unidirectionally forces the second component (y₂
) of the Lorenz system.
The parameter c_xy
controls the coupling strength. The implementation here also allows for tuning the parameters of each subsystem by introducing the constants a₁
, a₂
, a₃
, b₁
, b₂
, b₃
. Default values for these parameters are as in [1].
Equations of motion
The dynamics is generated by the following vector field
with the coupling constant c_{xy} \geq 0.
References
- Krakovská, Anna, et al. "Comparison of six methods for the detection of causality in a bivariate time series." Physical Review E 97.4 (2018):042207. https://journals.aps.org/pre/abstract/10.1103/PhysRevE.97.042207
N-scroll Chua attractors
#
CausalityTools.Systems.chuacircuit_nscroll_sine
— Method.
chuacircuit_nscroll_sine(;u₀ = [0.0, 0.0, 0.28695],
α = 10.814, β = 14, γ = 0, a = 1.3, b = 0.11, c = 2,
σx = 0.0, σy = 0.0, σz = 0.0)
Initialise an adjusted Chua system giving rise to n-scroll attractors [1].
Equations of motion
The dynamics is generated by the following vector field
where \eta x, \eta z, and \eta z are drawn independently from normal distributions with zero mean and standard deviations σx
, σy
and σz
at each iteration.
fx is given by the following conditions:
n::Int = c + 1
if x >= 2*a*c
fx = (b*pi/2*a)*(x - 2*a*c)
elseif -2*a*c < x < 2*a*c
d = ifelse(isodd(n), pi, 0)
fx = -b*sin((pi*x/2*a) + d)
elseif x <= -2*a*c
fx = (b*pi/2*a)*(x + 2*a*c)
end
References
- Tang, Wallace KS, et al. "Generation of n-scroll attractors via sine function." IEEE Transactions on Circuits and Systems I: Fundamental Theory and Applications 48.11 (2001): 1369-1372.