Introduction

Splittings.jl Documentation

Operators splitting package to solve equations of the form

\[ \frac{dU}{dt} = (T+V)U,\]

where T and V are differential operators.

The composition algorithm consists in successive solutions of the split equations

\[\frac{dU}{dt} = T U \]

and

\[\frac{dU}{dt} = V U \]

Alternating the two reduced solution operators $\mathcal{S}_{T}$ and $\mathcal{S}_{V}$ with adequately chosen time increments yields arbitrary order in time for the full solution.

The application of an operator splitting method to a concrete problem is done by using Julia macros:

Splittings.@LieMacro.
@Lie( push_t, push_v )

Apply the first order Lie splitting

push_t and push_v are two function calls with
`dt` as argument.
source
@Strang( push_t, push_v )

Apply the second order Strang splitting

push_t and push_v are two function calls with
`dt` as argument.
source
@TripleJump( push_t, push_v )

Apply the fourth order Triple Jump splitting

push_t and push_v are two function calls with
`dt` as argument.
source
@Order6( push_t, push_v )

Apply the sixth order splitting

push_t and push_v are two function calls with
`dt` as argument.
source

Examples of applications are provided for:

This code is derived from Fortran and Python codes written by: