# DifferentialEquations.jl: SecondOrderProblem + SplitODEProblem

**URL:** <https://discourse.julialang.org/t/differentialequations-jl-secondorderproblem-splitodeproblem/122242>\
**Category:** Specific Domains\
**Tags:** question, package\
**Created:** [November 4, 2024, 5:40pm UTC](https://discourse.julialang.org/t/differentialequations-jl-secondorderproblem-splitodeproblem/122242 "2024-11-04T17:40:44Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Domenico\_Lahaye](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/domenico_lahaye/32/203728_2.png) [@Domenico\_Lahaye](https://discourse.julialang.org/u/Domenico_Lahaye)\
**Post date:** [November 4, 2024, 5:40pm UTC](https://discourse.julialang.org/t/differentialequations-jl-secondorderproblem-splitodeproblem/122242/1 "2024-11-04T17:40:44Z")

</div>

Does DifferentialEquations.jl allow to define a split second order problem? Thx!

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [November 5, 2024, 8:47am UTC](https://discourse.julialang.org/t/differentialequations-jl-secondorderproblem-splitodeproblem/122242/2 "2024-11-05T08:47:21Z")

</div>

It does not. You can use SplitODEProblem on second order ODEs that have been lowered to first order form, or you can use SecondOrderODEProblem. In the future this could change, but for now we do not have split solvers that specialize on second order form.

---

<div class="post-metadata">

**Author:** ![Domenico\_Lahaye](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/domenico_lahaye/32/203728_2.png) [@Domenico\_Lahaye](https://discourse.julialang.org/u/Domenico_Lahaye)\
**Post date:** [November 5, 2024, 9:03am UTC](https://discourse.julialang.org/t/differentialequations-jl-secondorderproblem-splitodeproblem/122242/3 "2024-11-05T09:03:48Z")

</div>

I understand.

What is typically lost in lowering second order ODEs to first order form?

Suppose solving a semi-linear first-order problem in split form (i.e. using a variant of IMEX). Suppose furthermore imposing a direct solution method (i.e. a variant of LU factorization) as solver for the linear part. Can the LU factorization be placed prior to the time-stepping loop?

Thx.

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [November 5, 2024, 9:11am UTC](https://discourse.julialang.org/t/differentialequations-jl-secondorderproblem-splitodeproblem/122242/4 "2024-11-05T09:11:12Z")

</div>

> [@Domenico\_Lahaye](#):
>
> What is typically lost in lowering second order ODEs to first order form?

Just some potential performance. Nystrom methods can be a bit more performant.

> [@Domenico\_Lahaye](#):
>
> Suppose furthermore imposing a direct solution method (i.e. a variant of LU factorization) as solver for the linear part. Can the LU factorization be placed prior to the time-stepping loop?

You can inline it into `f`.

---

<div class="post-metadata">

**Author:** ![Domenico\_Lahaye](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/domenico_lahaye/32/203728_2.png) [@Domenico\_Lahaye](https://discourse.julialang.org/u/Domenico_Lahaye)\
**Post date:** [November 5, 2024, 9:17am UTC](https://discourse.julialang.org/t/differentialequations-jl-secondorderproblem-splitodeproblem/122242/5 "2024-11-05T09:17:35Z")

</div>

Right. Thanks again.
