# Strang splitting

Strang splitting is a numerical method for solving differential equations that are decomposable into a sum of differential operators. It is named after Gilbert Strang. It is used to speed up calculation for problems involving operators on very different time scales, for example, chemical reactions in fluid dynamics, and to solve multidimensional partial differential equations by reducing them to a sum of one-dimensional problems.

## Fractional step methods

As a precursor to Strang splitting, consider a differential equation of the form

${\displaystyle {\frac {d{y}}{dt}}=L_{1}({y})+L_{2}({y})}$

where ${\displaystyle L_{1}}$, ${\displaystyle L_{2}}$ are differential operators. If ${\displaystyle L_{1}}$ and ${\displaystyle L_{2}}$ were constant coefficient matrices, then the exact solution to the associated initial value problem would be

${\displaystyle y(t)=e^{(L_{1}+L_{2})t}y_{0}}$.

If ${\displaystyle L_{1}}$ and ${\displaystyle L_{2}}$ commute, then by the exponential laws this is equivalent to

${\displaystyle y(t)=e^{L_{1}t}e^{L_{2}t}y_{0}}$.

If they do not, then by the Baker–Campbell–Hausdorff formula it is still possible to replace the exponential of the sum by a product of exponentials at the cost of a first order error:

${\displaystyle e^{(L_{1}+L_{2})t}y_{0}=e^{L_{1}t}e^{L_{2}t}y_{0}+{\mathcal {O}}(t)}$.

This gives rise to a numerical scheme where one, instead of solving the original initial problem, solves both subproblems alternating:

${\displaystyle {\tilde {y}}_{1}=e^{L_{1}\Delta t}y_{0}}$
${\displaystyle y_{1}=e^{L_{2}\Delta t}{\tilde {y}}_{1}}$
${\displaystyle {\tilde {y}}_{2}=e^{L_{1}\Delta t}y_{1}}$
${\displaystyle y_{2}=e^{L_{2}\Delta t}{\tilde {y}}_{2}}$
etc.

In this context, ${\displaystyle e^{L_{1}\Delta t}}$ is a numerical scheme solving the subproblem

${\displaystyle {\frac {d{y}}{dt}}=L_{1}({y})}$

to first order. The approach is not restricted to linear problems, that is, ${\displaystyle L_{1}}$ can be any differential operator.

## Strang splitting

Strang splitting extends this approach to second order by choosing another order of operations. Instead of taking full time steps with each operator, instead, one performs time steps as follows:

${\displaystyle {\tilde {y}}_{1}=e^{L_{1}{\frac {\Delta t}{2}}}y_{0}}$
${\displaystyle {\bar {y}}_{1}=e^{L_{2}\Delta t}{\tilde {y}}_{1}}$
${\displaystyle y_{1}=e^{L_{1}{\frac {\Delta t}{2}}}{\bar {y}}_{1}}$
${\displaystyle {\tilde {y}}_{2}=e^{L_{1}{\frac {\Delta t}{2}}}y_{1}}$
${\displaystyle {\bar {y}}_{2}=e^{L_{2}\Delta t}{\tilde {y}}_{2}}$
${\displaystyle y_{2}=e^{L_{1}{\frac {\Delta t}{2}}}{\bar {y}}_{2}}$
etc.

One can prove that Strang splitting is second order by using either the Baker-Campbell-Hausdorff formula, Rooted tree analysis or a direct comparison of the error terms using Taylor expansion. For the scheme to be second order accurate, ${\displaystyle e^{\cdots }}$ must be a second order approximation to the solution operator as well.