using DifferentialEquations
using TaylorIntegration
@taylorize function benchmark7!(du, u, p, t)
du[1] = u[3]^3 - u[2] + u[4]
du[2] = u[3]
du[3] = 2
du[4] = u[4]
return nothing
end
tspan = (0.0, 10.0)
q0 = [0.4, 0.5, 0.3, 0]
prob = ODEProblem(benchmark7!, q0, tspan)
sol = solve(prob, TaylorMethod(10), abstol=1e-20);
UndefVarError: false not defined
Stacktrace:
[1] macro expansion at ./logging.jl:322 [inlined]
[2] _determine_parsing!(::Bool, ::Function, ::Taylor1{Float64}, ::Array{Taylor1{Float64},1}, ::Array{Taylor1{Float64},1}, ::DiffEqBase.NullParameters) at /home/sguadalupe/.julia/packages/TaylorIntegration/KHxcX/src/explicitode.jl:276
[3] taylorinteg(::Function, ::Array{Float64,1}, ::Float64, ::Float64, ::Int64, ::Float64, ::DiffEqBase.NullParameters; maxsteps::Int64, parse_eqs::Bool) at /home/sguadalupe/.julia/packages/TaylorIntegration/KHxcX/src/explicitode.jl:421
[4] solve(::ODEProblem{Array{Float64,1},Tuple{Float64,Float64},true,DiffEqBase.NullParameters,ODEFunction{true,typeof(benchmark7!),LinearAlgebra.UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}},DiffEqBase.StandardODEProblem}, ::TaylorMethod, ::Array{Any,1}, ::Array{Any,1}, ::Array{Any,1}; verbose::Bool, saveat::Array{Float64,1}, abstol::Float64, save_start::Bool, save_end::Bool, timeseries_errors::Bool, maxiters::Int64, callback::Nothing, kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /home/sguadalupe/.julia/packages/TaylorIntegration/KHxcX/src/common.jl:107
[5] top-level scope at In[15]:1
There is a workaround using
2.0+zero(u[1])instead of only2fordu[3]