Skip to content

Commit 9a53121

Browse files
author
fchen121
committed
Improve change of variables test
1 parent 192872c commit 9a53121

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

test/changeofvariables.jl

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,9 @@ using Test, LinearAlgebra
101101
# @test isapprox( new_sol[x[1],end], sol[x[1],end], rtol=1e-4)
102102

103103
# Change of variables for sde
104+
noise_eqs = ModelingToolkit.get_noise_eqs
105+
value = ModelingToolkit.value
106+
104107
@independent_variables t
105108
@brownian B
106109
@parameters μ σ
@@ -114,7 +117,7 @@ forward_subs = [log(x) => y]
114117
backward_subs = [x => exp(y)]
115118
new_sys = change_of_variable_SDE(sys, t, forward_subs, backward_subs)
116119
@test equations(new_sys)[1] == (D(y) ~ μ - 1/2*σ^2)
117-
@test ModelingToolkit.get_noise_eqs(new_sys)[1] === ModelingToolkit.value(σ)
120+
@test noise_eqs(new_sys)[1] === value(σ)
118121

119122
#Multiple Brownian and equations
120123
@independent_variables t
@@ -127,4 +130,13 @@ def = [x=>0., y=> 0., u=>0., μ => 2., σ=>1., α=>3.]
127130
@mtkcompile sys = System(eqs, t; defaults=def)
128131
forward_subs = [log(x) => z, y^2 => w, log(u) => v]
129132
backward_subs = [x => exp(z), y => w^.5, u => exp(v)]
130-
new_sys = change_of_variable_SDE(sys, t, forward_subs, backward_subs)
133+
new_sys = change_of_variable_SDE(sys, t, forward_subs, backward_subs)
134+
@test equations(new_sys)[1] == (D(z) ~ μ - 1/2*σ^2)
135+
@test equations(new_sys)[2] == (D(w) ~ α^2)
136+
@test equations(new_sys)[3] == (D(v) ~ μ - 1/2*^2 + σ^2))
137+
@test noise_eqs(new_sys)[1,1] === value(σ)
138+
@test noise_eqs(new_sys)[1,2] === value(0)
139+
@test noise_eqs(new_sys)[2,1] === value(0)
140+
@test noise_eqs(new_sys)[2,2] === value(substitute(2*α*y, backward_subs[2]))
141+
@test noise_eqs(new_sys)[3,1] === value(σ)
142+
@test noise_eqs(new_sys)[3,2] === value(α)

0 commit comments

Comments
 (0)