The common form of initial value problem that can be solved using ODE integrator is $$ \mathbf{x'}=\mathbf{g}(\mathbf{x}, t) $$ where $\mathbf{x'}=\partial\mathbf{x}/\partial t$. The initial conditions $\mathbf{x}(t=0)$ are given. There has been a lot of prewritten solver that can be used to solve the equation above (e.g. scipy.integrate.solve_ivp) that typically uses Runge-Kutta algorithms.

However, if I change the form above into a more general one, i.e. $$ \mathbf{f}(\mathbf{x}, \mathbf{x'}, t)=\mathbf{0}, $$ there is no algorithm I can find that can solve it (assuming it contains sufficient information to be solved). Please note that the first form above is just a specific case of the second form, i.e. $$ \mathbf{f}(\mathbf{x}, \mathbf{x'}, t)=\mathbf{x'}-\mathbf{g}(\mathbf{x}, t)=\mathbf{0}. $$

Is there any algorithm available out there that can solve the general form of initial value problem above? Any reference to literatures or codes are appreciated!

  • 8
    $\begingroup$ The general form of the ODE you show is referred to as the implicit form. If you search based on this term, you will find a number of solvers that can handle this form. For example, here is a high-quality solver that accepts implicit form: computing.llnl.gov/projects/sundials/ida $\endgroup$ Nov 12, 2021 at 14:58
  • 7
    $\begingroup$ $f(x,x',t)=0$ can easily also be a DAE system, and what its normal form is depends on the differential index. Some general solvers also cover index 1 and 2 DAE, for higher index one needs to transform the equation system. $\endgroup$ Nov 12, 2021 at 15:42


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.