I’ve defined my own subtype of DenseArray
called CartesianState
. The source code is available here. The following functionality works…
state = CartesianState(randn(6))
similar(state)
SymbolicUtils.Code.create_array(::Type{<:CartesianState}, ...)
# others
I’d like to use my custom array as a type for DifferentialEquations
solvers. I can use my new array type to make an ODEProblem
, and solving the problem returns a valid ODESolution
.
The ODESolution
u
field is a Vector
of CartesianState
values – great! But when I interpolate between time steps via (::ODESolution)(t)
, I get a Vector{Float64}
back.
I’ve traced this back to OrdinaryDiffEq.ode_interpolation
, but I can’t figure out where that function’s output type is determined. Does anyone know offhand?