@@ -173,22 +173,19 @@ ode = StructuralIdentifiability.@ODEmodel(
173173 x4' (t) = k41 * x1 (t) - k14 * x4 (t),
174174 y1 (t) = x1 (t)
175175)
176- ident_funcs = [
177- k01 // one (k01),
178- k12 * k13 * k14 // one (k01),
179- k31 * k21 * k41 // one (k01),
180- k12 + k13 + k14 // one (k01),
181- k31 + k21 + k41 // one (k01),
182- k12 * k13 + k12 * k14 + k13 * k14 // one (k01),
183- k31 * k21 + k31 * k41 + k21 * k41 // one (k01),
184- k31 * k12 - 2 * k31 * k13 + k31 * k14 - 2 * k21 * k12 +
185- k21 * k13 +
186- k21 * k14 +
187- k12 * k41 +
188- k13 * k41 - 2 * k14 * k41 // one (k01),
189- ]
176+ ident_funcs =
177+ [
178+ k12 * k13 + k12 * k14 + k13 * k14,
179+ k01,
180+ k21 + k31 + k41,
181+ k12 + k13 + k14,
182+ k21 * k31 * k41,
183+ k12 * k31 + k12 * k41 + k13 * k21 + k13 * k41 + k14 * k21 + k14 * k31,
184+ k21 * k31 + k21 * k41 + k31 * k41,
185+ k12 * k13 * k14,
186+ ] .// one (k01)
190187# Too slow with hybrid strategy :(
191- # push!(test_cases, (ode = ode, ident_funcs = ident_funcs))
188+ push! (test_cases, (ode = ode, ident_funcs = ident_funcs))
192189
193190# Biohydrogenation_io
194191ode = StructuralIdentifiability. @ODEmodel (
@@ -1074,6 +1071,28 @@ ident_funcs_states = [
10741071push! (test_cases, (ode = ode, ident_funcs = ident_funcs, with_states = false ))
10751072push! (test_cases, (ode = ode, ident_funcs = ident_funcs_states, with_states = true ))
10761073
1074+ # EAIHRD model from https://arxiv.org/pdf/2406.17827
1075+ ode = @ODEmodel (
1076+ A' (t) = a * E (t) - r1 * A (t),
1077+ I' (t) = s * E (t) - (h + r2) * I (t),
1078+ H' (t) = h * I (t) - (r3 + d) * H (t),
1079+ R' (t) = r1 * A (t) + r2 * I (t) + r3 * H (t),
1080+ D' (t) = d * H (t),
1081+ E' (t) =
1082+ (N - A (t) - I (t) - H (t) - R (t) - D (t) - E (t)) * (c1 * A (t) + c2 * I (t)) -
1083+ (a + s) * E (t),
1084+ y (t) = D (t)
1085+ )
1086+ ident_funcs = [
1087+ r1,
1088+ d + r3,
1089+ a + h + r2 + s,
1090+ a * h + a * r2 + h * s + r2 * s,
1091+ (d * h * s) // (a * c1 + c2 * s),
1092+ (a * c1 * h + a * c1 * r2 + c2 * r1 * s)// (a * c1 + c2 * s),
1093+ ]
1094+ push! (test_cases, (ode = ode, ident_funcs = ident_funcs, with_states = false ))
1095+
10771096@testset " Identifiable functions of parameters" begin
10781097 p = 0.99
10791098 for case in test_cases
0 commit comments