In applied mathematics 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.
As a precursor to Strang splitting, consider a differential equation of the form
d{y | |
where
L1
L2
L1
L2
y(t)=
(L1+L2)t | |
e |
y0
If
L1
L2
y(t)=
L1t | |
e |
L2t | |
e |
y0
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 second order error:
(L1+L2)t | |
e |
y0=
L1t | |
e |
L2t | |
e |
y0+l{O}(t2)
This gives rise to a numerical scheme where one, instead of solving the original initial problem, solves both subproblems alternating:
\tildey1=
L1\Deltat | |
e |
y0
y1=
L2\Deltat | |
e |
\tildey1
\tildey2=
L1\Deltat | |
e |
y1
y2=
L2\Deltat | |
e |
\tildey2
etc.
In this context,
L1\Deltat | |
e |
d{y | |
to first order. The approach is not restricted to linear problems, that is,
L1
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:
\tildey1=
| ||||||||||
e |
y0
\bary1=
L2\Deltat | |
e |
\tildey1
y1=
| ||||||||||
e |
\bary1
\tildey2=
| ||||||||||
e |
y1
\bary2=
L2\Deltat | |
e |
\tildey2
y2=
| ||||||||||
e |
\bary2
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,
e …