# A non-classical ODE problem

**URL:** <https://discourse.julialang.org/t/a-non-classical-ode-problem/135868>\
**Category:** Numerics\
**Tags:** diffeq, differentialequation\
**Created:** [February 26, 2026, 4:14pm UTC](https://discourse.julialang.org/t/a-non-classical-ode-problem/135868 "2026-02-26T16:14:17Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Veenty](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/veenty/32/50940_2.png) [@Veenty](https://discourse.julialang.org/u/Veenty)\
**Post date:** [February 26, 2026, 4:14pm UTC](https://discourse.julialang.org/t/a-non-classical-ode-problem/135868/1 "2026-02-26T16:14:17Z")

</div>

I have an evolution problem that I cannot cast in a classical form.

\frac{d}{dt} A u = u + F(u,v) \\ G(u) = 0

Where A is a bad matrix to invert, however (A - \Delta t) is ok to invert. When I’m coding this with an implicit scheme, evolving this equation is mostly ok. I would like to put this problem into DifferentialEquations.jl , but its unclear how to do so in this form without inverting A.

---

<div class="post-metadata">

**Author:** ![rveltz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rveltz/32/2707_2.png) [@rveltz](https://discourse.julialang.org/u/rveltz)\
**Post date:** [February 26, 2026, 4:38pm UTC](https://discourse.julialang.org/t/a-non-classical-ode-problem/135868/2 "2026-02-26T16:38:41Z")

</div>

It seems to be a DAE in (u,v) = X. You find

B \frac{dX}{dt} = [u+F(u,v), G(u)]

with B=diag(A,0).

So yes, it is handled by the package you mention.

---

<div class="post-metadata">

**Author:** ![Oscar\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oscar_smith/32/25343_2.png) [@Oscar\_Smith](https://discourse.julialang.org/u/Oscar_Smith)\
**Post date:** [February 26, 2026, 5:03pm UTC](https://discourse.julialang.org/t/a-non-classical-ode-problem/135868/3 "2026-02-26T17:03:03Z")

</div>

DifferentialEquations.jl (more specifically OrdinaryDiffEq.jl) supports Mass matrix DAEs. See [Differential Algebraic Equations · DifferentialEquations.jl](https://docs.sciml.ai/DiffEqDocs/stable/tutorials/dae_example/#Mass-Matrix-Differential-Algebraic-Equations-(DAEs)) for details.
