-
Notifications
You must be signed in to change notification settings - Fork 60
Description
Hi,
I was trying to apply this method to a different system od ODEs, namely the 2D Hopf normal form defined by:
function Hopf2D(du, u, p, t)
μ, ω, A1, A2 = p
du[1] = μ*u[1] - ω*u[2] + A1*u[1]*(u[1]^(2) + u[2]^(2))
du[2] = μ*u[2] + ω*u[1] + A2*u[2]*(u[1]^(2) + u[2]^(2))
end
where I approximate the third term of the right-hand side of the equations with a UA L(u, p).
Even though it seems that I get good convergence (at least visually) between the (unavailable) ideal data L̄ and L̂ = L(Xₙ, res2.minimizer), the SiNDy algorithm does not output the correct linear combination of u_1 and u_2 (namely A1u_1*(u_1^(2) + u_2^(2) and A2u_2*(u_1^(2) + u_2^(2)).
I was wondering whether the part of the code
opt = SR3()
λ = exp10.(-7:0.1:3)
g(x) = x[1] < 1 ? Inf : norm(x, 2)
is in some way "specific" for the Lotka-Volterra problem.
Or are there any other parts of the code that cannot be applied to some similar systems of ODEs? Am I missing something?
Here's the trainined UA L̂, together with the correct L̄:

The output of the SiNDy is:
2 dimensional basis in ["u₁", "u₂"]
du₁ = u₁ ^ 3 * p₁
du₂ = p₂ * u₂