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