8585 return SVector {3} (du1, du2, du3)
8686end
8787function chua_jacob (u, p, t)
88- return SMatrix {3,3} (- p[1 ]* (1 + chua_element_derivative (u[1 ], p[3 ], p[4 ])),1.0 ,0.0 ,p[1 ],- 1.0 ,- p[2 ],0.0 ,1.0 ,0.0 )
88+ return SMatrix {3,3} (- p[1 ]* (1 + chua_element_derivative (u[1 ], p[3 ], p[4 ])),1.0 ,0.0 ,p[1 ],- 1.0 ,- p[2 ],0.0 ,1.0 ,0.0 )
8989end
9090# Helper functions for Chua's circuit.
9191function chua_element (x, m0, m1)
130130 return SVector {3} (du1, du2, du3)
131131end
132132function roessler_jacob (u, p, t)
133- return SMatrix {3,3} (0.0 ,1.0 ,u[3 ],- 1.0 ,p[1 ],0.0 ,- 1.0 ,0.0 ,u[1 ]- p[3 ])
133+ return SMatrix {3,3} (0.0 ,1.0 ,u[3 ],- 1.0 ,p[1 ],0.0 ,- 1.0 ,0.0 ,u[1 ]- p[3 ])
134134end
135135
136136"""
170170 sin_ϕ = sin (φ); cos_ϕ = cos (φ)
171171 sin_θ₂ = sin (u[3 ]); sin_θ₁ = sin (u[1 ])
172172 Δ = (p[4 ] + p[5 ]) - p[5 ] * cos_ϕ^ 2
173-
173+
174174 du1 = u[2 ]
175175 du2 = (p[5 ] * (cos_ϕ * (p[2 ] * u[2 ]^ 2 * sin_ϕ + p[1 ] * sin_θ₂) +
176176 p[3 ] * u[4 ]^ 2 * sin_ϕ) -
295295`N` is the chain length, `F` the forcing. Jacobian is created automatically.
296296(parameter container only contains `F`)
297297"""
298- function lorenz96 (N:: Int , u0 = range (0 ; length = N, step = 0.1 ); F= 0.01 )
298+ function lorenz96 (N:: Int = 4 , u0 = range (0 ; length = N, step = 0.1 ); F= 0.01 )
299299 @assert N ≥ 4 " `N` must be at least 4"
300300 lor96 = Lorenz96 {N} () # create struct
301301 return CoupledODEs (lor96, u0, [F])
@@ -398,7 +398,7 @@ function gissinger_rule(u, p, t)
398398 return SVector {3} (du1, du2, du3)
399399end
400400function gissinger_jacob (u, p, t)
401- μ, ν, Γ = p
401+ μ, ν, Γ = p
402402 return SMatrix {3,3} (μ,u[3 ],u[2 ],- u[3 ],- ν,u[1 ],- u[2 ],u[1 ],- 1 )
403403end
404404
@@ -433,7 +433,7 @@ function rikitake_jacob(u, p, t)
433433 μ, α = p
434434 x,y,z = u
435435
436- return SMatrix {3,3} (- μ,z- α,- y,z,- μ,- x,y,x,0 )
436+ return SMatrix {3,3} (- μ,z- α,- y,z,- μ,- x,y,x,0 )
437437end
438438
439439"""
@@ -472,8 +472,8 @@ function nosehoover_rule(u, p, t)
472472end
473473function nosehoover_jacob (u, p, t)
474474 x,y,z = u
475-
476- return SMatrix {3,3} (0 ,- 1 ,0 ,1 ,z,- 2 y,0 ,y,0 )
475+
476+ return SMatrix {3,3} (0 ,- 1 ,0 ,1 ,z,- 2 y,0 ,y,0 )
477477end
478478
479479"""
613613function ueda_jacob (u, p, t)
614614 x,y = u
615615 k, B = p
616- return SMatrix {2,2} (0 ,- 3 * x^ 2 ,1 ,- k)
616+ return SMatrix {2,2} (0 ,- 3 * x^ 2 ,1 ,- k)
617617end
618618
619619
@@ -778,9 +778,9 @@ function stommel_thermohaline_jacob(x, p, t)
778778 η1, η2, η3 = p
779779 q = abs (T- S)
780780 if T ≥ S
781- return SMatrix {2,2} ((- 1 - 2 T + S), - S,T,(- η3 - T + 2 S))
781+ return SMatrix {2,2} ((- 1 - 2 T + S), - S,T,(- η3 - T + 2 S))
782782 else
783- return SMatrix {2,2} ((- 1 + 2 T - S), S,- T,(- η3 + T - 2 S))
783+ return SMatrix {2,2} ((- 1 + 2 T - S), S,- T,(- η3 + T - 2 S))
784784 end
785785end
786786
823823end
824824function lorenz84_rule_jacob (u, p, t)
825825 F, G, a, b = p
826- x, y, z = u
826+ x, y, z = u
827827 return SMatrix {3,3} (- a,y- b* z,b* y+ z,- 2 y,x- 1 ,b* x,- 2 z,- b* x,x- 1 )
828828end
829829
867867 return SVector {3} (dx, dy, dz)
868868end
869869function lorenzdl_rule_jacob (u, p, t)
870- x, y, z = u
870+ x, y, z = u
871871 return SMatrix {3,3} (- 1 ,- z,y,1 ,0 ,x,0 ,- x,0 )
872872end
873873
909909
910910
911911"""
912- kuramoto(D = 20 , u0 = range(0, 2π; length = D);
912+ kuramoto(D = 25 , u0 = range(0, 2π; length = D);
913913 K = 0.3, ω = range(-1, 1; length = D)
914914 )
915915The Kuramoto model[^Kuramoto1975] of `D` coupled oscillators with equation
977977function sprott_dissipative_conservative_jacob (u, p, t)
978978 a, b, c = p
979979 x, y, z = u
980-
980+
981981 return SMatrix {3,3} (a* y + z,- 4 x,c - 2 x,1 + a* x,b* z,- 2 y,x,b* y,0 )
982982end
983983
@@ -1188,15 +1188,15 @@ function hindmarshrose_rule(u, p, t)
11881188end
11891189function hindmarshrose_jacob (u, p, t)
11901190 @inbounds begin
1191- a,b,c,d,r,s, xr, I = p
1191+ a,b,c,d,r,s, xr, I = p
11921192 return SMatrix {3,3} (- 3 * a* u[1 ]^ 2 + 2 * b* u[1 ],- 2 * d* u[1 ],r* s,1 ,- 1 ,0 ,- 1 ,0 ,- r)
11931193 end
11941194end
11951195
11961196"""
11971197```julia
11981198hindmarshrose_two_coupled(u0=[0.1, 0.2, 0.3, 0.4, 0.5, 0.6];
1199- a = 1.0, b = 3.0, d = 5.0, r = 0.001, s = 4.0, xr = -1.6, I = 4.0,
1199+ a = 1.0, b = 3.0, c=1.0, d = 5.0, r = 0.001, s = 4.0, xr = -1.6, I = 4.0,
12001200k1 = -0.17, k2 = -0.17, k_el = 0.0, xv = 2.0)
12011201```
12021202```math
@@ -1214,7 +1214,7 @@ The default parameter values are taken from article "Dragon-king-like extreme ev
12141214coupled bursting neurons", DOI:https://doi.org/10.1103/PhysRevE.97.062311.
12151215"""
12161216function hindmarshrose_two_coupled (u0= [0.1 , 0.2 , 0.3 , 0.4 , 0.5 , 0.6 ];
1217- a = 1.0 , b = 3.0 , d = 5.0 , r = 0.001 , s = 4.0 , xr = - 1.6 , I = 4.0 ,
1217+ a = 1.0 , b = 3.0 , c = 1.0 , d = 5.0 , r = 0.001 , s = 4.0 , xr = - 1.6 , I = 4.0 ,
12181218 k1 = - 0.17 , k2 = - 0.17 , k_el = 0.0 , xv = 2.0 )
12191219 return CoupledODEs (hindmarshrose_coupled_rule, u0, [a, b, c, d, r, s, xr, I, k1, k2, k_el, xv])
12201220end
@@ -1225,11 +1225,11 @@ function hindmarshrose_coupled_rule(u, p, t)
12251225 a, b, c, d, r, s, xr, I, k1, k2, k_el, xv = p
12261226 x1, y1, z1, x2, y2, z2 = u
12271227
1228- du1 = y1 + b * x1 ^ 2 - a * x1 ^ 3 - z1 + I - k1 * ( x1 - vs ) * sigma (x2) + el_link * ( x2 - x1 )
1228+ du1 = y1 + b * x1 ^ 2 - a * x1 ^ 3 - z1 + I - k1 * ( x1 - xv ) * sigma (x2) + k_el * ( x2 - x1 )
12291229 du2 = c - d * x1 ^ 2 - y1
12301230 du3 = r * ( s * ( x1 - xr ) - z1 )
12311231
1232- du4 = y2 + b * x2 ^ 2 - a * x2 ^ 3 - z2 + I - k2 * ( x2 - vs ) * sigma (x1) + el_link * ( x1 - x2 )
1232+ du4 = y2 + b * x2 ^ 2 - a * x2 ^ 3 - z2 + I - k2 * ( x2 - xv ) * sigma (x1) + k_el * ( x1 - x2 )
12331233 du5 = c - d * x2 ^ 2 - y2
12341234 du6 = r * ( s * ( x2 - xr ) - z2 )
12351235 return SVector (du1, du2, du3, du4, du5, du6)
@@ -1288,7 +1288,7 @@ end
12881288function stuartlandau_jacob (u, p, t)
12891289 @inbounds begin
12901290 μ, ω, b = p
1291-
1291+
12921292 return SMatrix {2,2} (μ - 3 * u[1 ]^ 2 - u[2 ]^ 2 - 2 * b* u[1 ]* u[2 ],- 2 * u[1 ]* u[2 ] + ω + b* u[2 ]^ 2 + 3 * b* u[1 ]^ 2 ,
12931293 - 2 * u[1 ]* u[2 ] - ω - b* u[1 ]^ 2 - 3 * b* u[2 ]^ 2 ,μ - u[1 ]^ 2 - 3 * u[2 ]^ 2 + 2 * b* u[1 ]* u[2 ])
12941294 end
0 commit comments