Currently, I do use assimulos solver suite to solve an implicit differential equation of the form 0 = F(t, y(t), y'(t)). I would like to use a solver which comes with a native scipy installation and had a look at the documentation for scipy.integrate.solve_ivp. The documentation says that the solver solves a a system of the form:
Solve an initial value problem for a system of ODEs. This function numerically integrates a system of ordinary differential equations given an initial value
dy / dt = f(t, y)
y(t0) = y0
I do miss the ability to solve a system of the form dy / dt = f(t, y, y')
. Is this possible with scipy.integrate.solve_ivp
?
Such an equation is called a differential algebraic equation (DAE). As far as I know, SciPy doesn't have a built-in DAE solver.
This answer to this similar question provides an example of using fsolve
to solve the algebraic part of the problem in combination with odeint
. This might be applicable to your problem.
You might also be interested in the ODES package, which provides additional solvers as an extension for SciPy, including a DAE solver.