Strang splitting

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

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

 \frac{d{y}}{dt} = L_1 ({y}) + L_2 ({y})

where L_1, L_2 are differential operators. If L_1 and L_2 were constant coefficient matrices, then the exact solution to the associated initial value problem would be

 y(t) = e^{(L_1 + L_2) t} y_0.

If L_1 and L_2 commute, then by the exponential laws this is equivalent to

 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:

 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:

 \tilde y_1 = e^{L_1 \Delta t} y_0
 y_1 = e^{L_2 \Delta t} \tilde y_1
 \tilde y_2 = e^{L_1 \Delta t} y_1
 y_2 = e^{L_2 \Delta t} \tilde y_2
etc.

In this context, e^{L_1 \Delta t} is a numerical scheme solving the subproblem

\frac{d{y}}{dt} = L_1 ({y})

to first order. The approach is not restricted to linear problems, that is, L_1 can be any differential operator.

Strang splitting

Strang splitting extends this ansatz 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:

 \tilde y_1 = e^{L_1 0.5 \Delta t} y_0
 \bar y_1 = e^{L_2 \Delta t} \tilde y_1
 y_1 = e^{L_1 0.5 \Delta t} \bar y_1
 \tilde y_2 = e^{L_1 0.5 \Delta t} y_1
 \bar y_2 = e^{L_2 \Delta t} \tilde y_2
 y_2 = e^{L_1 0.5 \Delta t} \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, e^{\cdots} must be a second order approximation to the solution operator as well.

See also

References

  • Strang, Gilbert. On the construction and comparison of difference schemes. SIAM Journal on Numerical Analysis 5.3 (1968): 506-517.
  • McLachlan, Robert I., and G. Reinout W. Quispel. Splitting methods. Acta Numerica 11 (2002): 341-434.
  • LeVeque, Randall J., Finite volume methods for hyperbolic problems. Vol. 31. Cambridge university press, 2002.