Skip to content

Commit 5902fd5

Browse files
Merge pull request #153 from himoto/test-sde
Add test for SDE problem with `de.jit`
2 parents 40fe330 + 4e0d150 commit 5902fd5

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

diffeqpy/tests/test_sde.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,29 @@ def g(du,u,p,t):
3535
p = [10.0,28.0,2.66]
3636
prob = de.SDEProblem(numba_f, numba_g, u0, tspan, p)
3737
sol = de.solve(prob)
38+
39+
40+
def test_jit():
41+
42+
def f(du, u, p, t):
43+
x, y, z = u
44+
sigma, rho, beta = p
45+
du[0] = sigma * (y - x)
46+
du[1] = x * (rho - z) - y
47+
du[2] = x * y - beta * z
48+
49+
def g(du, u, p, t):
50+
du[0] = 0.03 * u[0]
51+
du[1] = 0.03 * u[1]
52+
du[2] = 0.03 * u[2]
53+
54+
u0 = [1.0, 0.0, 0.0]
55+
tspan = (0.0, 100.0)
56+
p = [10.0, 28.0, 2.66]
57+
prob = de.jit(de.SDEProblem(f, g, u0, tspan, p))
58+
sol = de.solve(prob)
59+
assert sol.t[-1] == tspan[-1], f"Solver did not reach the final time. Last time: {sol.t[-1]}"
60+
assert len(sol.u) > 0, "Solution is empty."
61+
assert all(
62+
abs(sol.u[i][j]) < float("inf") for j in range(len(u0)) for i in range(len(sol.t))
63+
), "Solution contains non-finite values."

0 commit comments

Comments
 (0)