-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Warning when trying to solve nonlinear ODE #181
Comments
The options |
BTW note that the solution structure contains the options that were used, eg. julia> sol = solve(prob, T=1.0, alg=TMJets(max_steps=10_000, abs_tol=1e-10));
julia> sol.alg
TMJets{Float64,ReachabilityAnalysis.ZonotopeEnclosure}
max_steps: Int64 10000
abs_tol: Float64 1.0e-10
orderT: Int64 8
orderQ: Int64 2
disjointness: ReachabilityAnalysis.ZonotopeEnclosure ReachabilityAnalysis.ZonotopeEnclosure()
adaptive: Bool true
min_abs_tol: Float64 1.0e-29 |
This problem turns out to be quite demanding for the solver, as you can see by taking a smaller time span and a smaller set of initial conditions: julia> prob = @ivp(x' = cartpole!(x), dim: 4, x(0) ∈ X₀*0.01); # shrink the initial conditions
julia> @time sol = solve(prob, T=1.0, alg=TMJets(max_steps=10_000, abs_tol=1e-10));
23.713397 seconds (229.12 M allocations: 15.720 GiB, 16.90% gc time)
julia> tspan(sol)
Interval(0.0, 1.0) The full time horizon is met, though the runtime and allocations are quite high. @SebastianGuadalupe can you see how much do we gain by rewriting |
See also this for some tips (and limitations) when using |
With the auxiliary variable @time sol = solve(prob, T=1.0, alg=TMJets(max_steps=10_000, abs_tol=1e-10));
8.590104 seconds (175.30 M allocations: 12.130 GiB, 23.26% gc time) |
PR #214 let's one pass these options from outside the struct |
I tried to solve the warning changing
max_steps
andabs_tol
but it didn't workThe text was updated successfully, but these errors were encountered: