Hi,
I want to use the tangent_integrator
function from the ChaosTools
package with solvers for stiff problems:
integ = tangent_integrator(cds, w0; alg=Rodas5(), abstol=1e-9, reltol=1e-9)
step!(integ, 1.0)
but this gives me:
MethodError: no method matching Float64(::ForwardDiff.Dual{ForwardDiff.Tag{DiffEqDiffTools.UJacobianWrapper{ODEFunction{true,getfield(DynamicalSystemsBase, Symbol(“##21#22”)){6,typeof(f),typeof(jac)},LinearAlgebra.UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Float64,Array{Float64,1}},Float64},Float64,11})
Closest candidates are:
Float64(::Real, !Matched::RoundingMode) where T<:AbstractFloat at rounding.jl:194
Float64(::T<:Number) where T<:Number at boot.jl:741
Float64(!Matched::Int8) at float.jl:60
…
I had this problem before when calling radau-fortran solver, see https://discourse.julialang.org/t/lyapunov-exponents-using-chaostools-and-fortran-radau-solver/26007.
I also tried, as suggested in the documentation, to chose a solver by alg_hint
keyword, but I had a look into the implementation of tangent_integrator
and this is not making use of the hint-keyword. How can I use e.g. Rodas5()
with the tangent:integratorfunction
?