fh_comm.splitting_method.SplittingMethod

class fh_comm.splitting_method.SplittingMethod(nterms: int, indices, coeffs, order: int)[source]

Bases: object

Splitting method described by the number of (Hamiltonian) terms (typically two, as for even-odd splitting), indices into these terms, and corresponding coefficients (time sub-step coefficients).

Methods

ak_11_4

Symmetric AK 11-4 method by Auzinger et al. of order 4 for three terms.

mclachlan4

RKN method of order 4 by Robert I.

suzuki

Construct the Suzuki product rule for order 2 k.

trotter

Construct the first-order Lie-Trotter splitting formula.

yoshida4

Symmetric integration method by Yoshida of order 4.

Attributes

num_layers

Number of layers (substeps).

num_terms

Number of (Hamiltonian) terms.

__str__()[source]

String representation of the product rule.

classmethod ak_11_4()[source]

Symmetric AK 11-4 method by Auzinger et al. of order 4 for three terms.

Reference:

Winfried Auzinger, Harald Hofstätter, David Ketcheson, Othmar Koch Practical splitting methods for the adaptive integration of nonlinear evolution equations. Part I: Construction of optimized schemes and pairs of schemes BIT Numer. Math. 57, 55-74 (2017)

classmethod mclachlan4(m: int)[source]

RKN method of order 4 by Robert I. McLachlan.

Reference:

Robert I. McLachlan On the numerical integration of ordinary differential equations by symmetric composition methods SIAM J. Sci. Comput. 16, 151-168 (1995)

property num_layers

Number of layers (substeps).

property num_terms

Number of (Hamiltonian) terms.

classmethod suzuki(nterms: int, k: int)[source]

Construct the Suzuki product rule for order 2 k.

classmethod trotter(nterms: int)[source]

Construct the first-order Lie-Trotter splitting formula.

classmethod yoshida4(nterms: int = 2)[source]

Symmetric integration method by Yoshida of order 4.

Reference:

Haruo Yoshida Construction of higher order symplectic integrators Phys. Lett. A 150, 262-268 (1990)