Hello,

I’m trying to solve a largeish number of largeish systems of linear differential equations. I ultimately only care about one component from each equation, so `save_idxs`

in principle should be exactly what I want: I get all the goodies of a solution object (e.g. interpolation), without having to save all the data.

Problem is, interpolation isn’t working! The following code snippet illustrates the problem I’m trying to solve, and the error I’m getting. The analogue without `save_idxs`

works fine. I’m on Julia 1.4.2 and DifferentialEquations.jl 6.15.

Code

```
using DifferentialEquations
N = 10
H = randn(N,N)
H -= H'
ψ0 = zeros(N); ψ0[1] = 1
f(ψ :: Array{Float64,1},p,t) = H*ψ
prob = ODEProblem(f, ψ0, (0.0,1.0), save_idxs=[1])
sol = solve(prob, reltol=1e-8, abstol=1e-8)
sol(0.5)
```

Error:

```
DimensionMismatch("second dimension of A, 10, does not match length of x, 1")
Stacktrace:
[1] gemv!(::Array{Float64,1}, ::Char, ::Array{Float64,2}, ::Array{Float64,1}, ::Bool, ::Bool) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/LinearAlgebra/src/matmul.jl:456
[2] mul! at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/LinearAlgebra/src/matmul.jl:66 [inlined]
[3] mul! at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/LinearAlgebra/src/matmul.jl:208 [inlined]
[4] *(::Array{Float64,2}, ::Array{Float64,1}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/LinearAlgebra/src/matmul.jl:47
[5] f(::Array{Float64,1}, ::DiffEqBase.NullParameters, ::Float64) at ./In[14]:9
[6] ODEFunction at /home/christopher/.julia/packages/DiffEqBase/V7P18/src/diffeqfunction.jl:248 [inlined]
[7] addsteps!(::Array{Array{Float64,1},1}, ::Float64, ::Array{Float64,1}, ::Array{Float64,1}, ::Float64, ::ODEFunction{false,typeof(f),LinearAlgebra.UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing}, ::DiffEqBase.NullParameters, ::OrdinaryDiffEq.Vern7ConstantCache{OrdinaryDiffEq.Vern7Tableau{Float64,Float64}}, ::Bool, ::Bool, ::Bool) at /home/christopher/.julia/packages/OrdinaryDiffEq/VPJBD/src/dense/verner_addsteps.jl:281
[8] addsteps!(::Array{Array{Float64,1},1}, ::Float64, ::Array{Float64,1}, ::Array{Float64,1}, ::Float64, ::Function, ::DiffEqBase.NullParameters, ::OrdinaryDiffEq.Vern7ConstantCache{OrdinaryDiffEq.Vern7Tableau{Float64,Float64}}) at /home/christopher/.julia/packages/OrdinaryDiffEq/VPJBD/src/dense/verner_addsteps.jl:266
[9] ode_interpolation(::Float64, ::Function, ::Nothing, ::Type{T} where T, ::DiffEqBase.NullParameters, ::Symbol) at /home/christopher/.julia/packages/OrdinaryDiffEq/VPJBD/src/dense/generic_dense.jl:281
[10] CompositeInterpolationData at /home/christopher/.julia/packages/OrdinaryDiffEq/VPJBD/src/interp_func.jl:77 [inlined]
[11] #_#388 at /home/christopher/.julia/packages/OrdinaryDiffEq/VPJBD/src/composite_solution.jl:16 [inlined]
[12] ODECompositeSolution at /home/christopher/.julia/packages/OrdinaryDiffEq/VPJBD/src/composite_solution.jl:16 [inlined] (repeats 2 times)
[13] top-level scope at In[14]:13
```