@@ -460,7 +460,7 @@ fdif!(du, u0, p, t)
460
460
]
461
461
sys1 = SDESystem (eqs_short, noiseeqs, t, [x, y, z], [σ, ρ, β], name = :sys1 )
462
462
sys2 = SDESystem (eqs_short, noiseeqs, t, [x, y, z], [σ, ρ, β], name = :sys1 )
463
- @test_throws ArgumentError SDESystem ([sys2. y ~ sys1. z], t, [] , [], [],
463
+ @test_throws ArgumentError SDESystem ([sys2. y ~ sys1. z], [], t , [], [],
464
464
systems = [sys1, sys2], name = :foo )
465
465
end
466
466
584
584
@test μ≈ μmod atol= 2 σ
585
585
@test σ > σmod
586
586
end
587
-
588
- @variables t
589
- D = Differential (t)
590
- sts = @variables x (t) y (t) z (t)
591
- ps = @parameters σ ρ
592
- @brownian β η
593
- s = 0.001
594
- β *= s
595
- η *= s
596
-
597
- eqs = [D (x) ~ σ * (y - x) + x * β,
598
- D (y) ~ x * (ρ - z) - y + y * β + x * η,
599
- D (z) ~ x * y - β * z + (x * z) * β]
600
- @named sys1 = System (eqs, t)
601
- sys1 = structural_simplify (sys1)
602
-
603
- drift_eqs = [D (x) ~ σ * (y - x),
604
- D (y) ~ x * (ρ - z) - y,
605
- D (z) ~ x * y]
606
-
607
- diffusion_eqs = s * [x 0
608
- y x
609
- (x * z)- z 0 ]
610
-
611
- sys2 = SDESystem (drift_eqs, diffusion_eqs, t, sts, ps, name = :sys1 )
612
- @test sys1 == sys2
613
-
614
- prob = SDEProblem (sys1, sts .=> [1.0 , 0.0 , 0.0 ],
615
- (0.0 , 100.0 ), ps .=> (10.0 , 26.0 ))
616
- @test_nowarn solve (prob, LambaEulerHeun (), seed = 1 )
617
-
618
- @variables t
619
- D = Differential (t)
620
- sts = @variables S (t) E (t) I (t) R (t) D1 (t) D2 (t) β (t) logβ (t)
621
- ps = @parameters σ ρ γ λ N
622
- @brownian α
623
- eqs = Equation[
624
- β ~ logβ # exp(logβ)
625
- D (logβ) ~ sqrt (0.2 ) * α
626
- D (S) ~ - β * S * I / N
627
- E ~ N - (S + I + R + D1 + D2)
628
- D (I) ~ σ * E - γ * I
629
- D (R) ~ (1 - ρ) * γ * I
630
- D (D1) ~ ρ * γ * I - λ * D1
631
- D (D2) ~ λ * D1]
632
- @named mecha_bayes = System (eqs, t)
633
- mecha_bayes = structural_simplify (mecha_bayes)
634
- dE = 0.4
635
- dI = 2.0
636
- Rh = 3.0
637
- NN = 1
638
- using Random
639
- Random. seed! (1 )
640
-
641
- E0 = rand (Uniform (0 , 0.02 NN))
642
- I0 = rand (Uniform (0 , 0.02 NN))
643
- R0 = rand (Uniform (0 , 0.02 NN))
644
- D10 = rand (Uniform (0 , 0.02 NN))
645
- D20 = rand (Uniform (0 , 0.02 NN))
646
- S0 = 1 - (E0 + I0 + R0 + D10 + D20)
647
- u0 = [
648
- S => S0
649
- E => E0
650
- I => I0
651
- R => R0
652
- D1 => D10
653
- D2 => D20
654
- β => 0.0
655
- logβ => log (rand (Gamma (1 , dI / Rh)))
656
- ]
657
-
658
- p = [N => NN,
659
- σ => rand (Gamma (100 , 100 dE)),
660
- ρ => rand (Beta (1 , 99 )),
661
- γ => rand (Gamma (100 , 100 dI)),
662
- λ => rand (Gamma (10 , 10 * 25 ))]
663
- prob = SDEProblem (mecha_bayes, u0,
664
- (0.0 , 10.0 ), p)
665
- @test_nowarn sol = solve (prob, SRIW1 (), reltol= 1e-3 , abstol= 1e-3 , seed = 1 );
0 commit comments