Hi,
I’m looking for an ODE solver that can solve DE’s of the form:
dydt = f(t,y)
where the ‘y’ are themselves ApproxFun functions (i.e. Chebychev interpolations of a function.) A very simple example might be the function:
f(t,y) = 0.01;
which would simply say that the all the values of the function ‘y’ should increase at a constant rate of 0.01 each unit of time. Are there any ODE solvers in Julia that can handle such cases?
According to the docs for DifferentialEquations.jl, OrdinaryDiffEq.jl is compatible with ApproxFun types. However, the following code
using DifferentialEquations
using ApproxFun
u0 = Fun(identity, 0…1)
f(t,y) = 0.01
tspan = (0.0,1.0);
prob = ODEProblem(f,u0,tspan)
sol = solve(prob, Vern7()) #Vern7() is in OrdinaryDiffEq.jl, so is compatible with ApproxFun
gives the following error
ERROR: StackOverflowError:
in recursive_one(::ApproxFun.Fun{ApproxFun.Chebyshev{ApproxFun.Segment{Float64}},Float64}) at /Users/me/.julia/v0.5/RecursiveArrayTools/src/RecursiveArrayTools.jl:0
in recursive_one(::ApproxFun.Fun{ApproxFun.Chebyshev{ApproxFun.Segment{Float64}},Float64}) at /Users/me/.julia/v0.5/RecursiveArrayTools/src/RecursiveArrayTools.jl:72 (repeats 79999 times)
Thanks
Tom