SciML / OrdinaryDiffEq.jl

High performance ordinary differential equation (ODE) and differential-algebraic equation (DAE) solvers, including neural ordinary differential equations (neural ODEs) and scientific machine learning (SciML)
https://diffeq.sciml.ai/latest/
Other
536 stars 205 forks source link

SplitODEProblem with (sparse) matrices #2149

Open ChrisRackauckas opened 7 months ago

ChrisRackauckas commented 7 months ago
using DifferentialEquations,Symbolics

function ode_imp(du,u,p,t)
    du[1] = u[1]
end
function ode_exp(du,u,p,t)
    du[1] = u[1]
end

u0 = [1.0]
du = similar(u0)
p = ()
jac_imp = Symbolics.jacobian_sparsity(ode_imp,du,u0,p,0.0)
jac_exp = Symbolics.jacobian_sparsity(ode_exp,du,u0,p,0.0)
f1 = ODEFunction(ode_imp,jac_prototype = jac_imp)
f2 = ODEFunction(ode_exp,jac_prototype = jac_exp)
prob = SplitODEProblem(f1,f2,u0,(0.0,1.0),p)
sol = solve(prob)