Tableaus
GeometricIntegrators.Tableaus.CoefficientsLobattoIIIA
— FunctionLobatto IIIA coefficients with s stages
GeometricIntegrators.Tableaus.CoefficientsLobattoIIIB
— FunctionLobatto IIIB coefficients with s stages
GeometricIntegrators.Tableaus.CoefficientsLobattoIIIC
— FunctionLobatto IIIC coefficients with s stages
GeometricIntegrators.Tableaus.CoefficientsLobattoIIIC̄
— FunctionLobatto IIIC̄ coefficients with s stages
GeometricIntegrators.Tableaus.CoefficientsLobattoIIID
— FunctionLobatto IIID coefficients with s stages
GeometricIntegrators.Tableaus.CoefficientsLobattoIIIE
— FunctionLobatto IIIE coefficients with s stages
GeometricIntegrators.Tableaus.CoefficientsLobattoIIIF
— FunctionLobatto IIIF coefficients with s stages
GeometricIntegrators.Tableaus.CoefficientsLobattoIIIG
— FunctionLobatto IIIG coefficients with s stages
GeometricIntegrators.Tableaus.CoefficientsRadauIA
— FunctionRadau IA tableau with s stages
GeometricIntegrators.Tableaus.CoefficientsRadauIIA
— FunctionRadau IIA tableau with s stages
GeometricIntegrators.Tableaus.TableauBackwardEuler
— FunctionAlias for TableauImplicitEuler
GeometricIntegrators.Tableaus.TableauBurrageCL
— MethodTableau for the explicit 4-stage CL method due to K. Burrage and P. Burrage Method cited in Eq. (56) in K. Burrage, P. Burrage (1996) "High strong order explicit Runge-Kutta methods for stochastic ordinary differential equations". According to the paper, the method has strong order 1.5 for one-dimensional Brownian motion. Reduces to the classical R-K method of order 4 when noise is zero.
GeometricIntegrators.Tableaus.TableauBurrageE1
— MethodTableau for the explicit 4-stage E1 method due to K. Burrage and P. Burrage Method cited in Eq. (4.2)-(4.3) in K. Burrage, P. Burrage (2000) "Order conditions for stochastic Runge-Kutta methods by B-series". According to the paper, the method has strong order 1.0 for one-dimensional Brownian motion.
GeometricIntegrators.Tableaus.TableauBurrageG5
— MethodTableau for the explicit 5-stage G5 method due to K. Burrage and P. Burrage Method cited in Section 4 of K. Burrage, P. Burrage (2000) "Order conditions for stochastic Runge-Kutta methods by B-series". According to the paper, the method has strong order 1.5 for one-dimensional Brownian motion.
GeometricIntegrators.Tableaus.TableauBurrageR2
— MethodTableau for the explicit 2-stage R2 method due to K. Burrage and P. Burrage Method cited in Eq. (51) in K. Burrage, P. Burrage (1996) "High strong order explicit Runge-Kutta methods for stochastic ordinary differential equations". According to the paper, the method has strong order 1.0 for one-dimensional Brownian motion
GeometricIntegrators.Tableaus.TableauCrankNicolson
— MethodTableau of Crank-Nicolson two-stage, 2nd order method
GeometricIntegrators.Tableaus.TableauCrouzeix
— MethodTableau of Crouzeix's two-stage, 3rd order method
GeometricIntegrators.Tableaus.TableauExplicitEuler
— MethodTableau for explicit Euler method
GeometricIntegrators.Tableaus.TableauExplicitMidpoint
— MethodTableau for explicit midpoint method
GeometricIntegrators.Tableaus.TableauForwardEuler
— FunctionAlias for TableauExplicitEuler
GeometricIntegrators.Tableaus.TableauGLRK
— MethodGauss-Legendre Runge-Kutta
GeometricIntegrators.Tableaus.TableauGLRKpSymplectic
— MethodTableau for Gauss-Legendre method with s stages and symplectic projection.
GeometricIntegrators.Tableaus.TableauHPARKGLRK
— MethodTableau for Gauss-Legendre HPARK method with s stages.
GeometricIntegrators.Tableaus.TableauHPARKLobattoIIIAIIIB
— MethodSPARK tableau for Gauss-Lobatto IIIA-IIIB HPARK method with s stages.
GeometricIntegrators.Tableaus.TableauHPARKLobattoIIIBIIIA
— MethodSPARK tableau for Gauss-Lobatto IIIB-IIIA method with s stages.
GeometricIntegrators.Tableaus.TableauHSPARKGLRKpSymmetric
— MethodTableau for Gauss-Legendre method with s stages and symplectic projection.
GeometricIntegrators.Tableaus.TableauHSPARKLobattoIIIAIIIBpSymmetric
— MethodTableau for Gauss-Lobatto IIIA-IIIB method with s stages and symmetric projection.
GeometricIntegrators.Tableaus.TableauHSPARKLobattoIIIBIIIApSymmetric
— MethodTableau for Gauss-Lobatto IIIB-IIIA method with s stages and symmetric projection.
GeometricIntegrators.Tableaus.TableauHeun2
— FunctionTableau of Heun's two-stage, 2nd order method
GeometricIntegrators.Tableaus.TableauHeun3
— FunctionTableau of Heun's three-stage, 3rd order method
GeometricIntegrators.Tableaus.TableauImplicitEuler
— MethodImplicit Euler
GeometricIntegrators.Tableaus.TableauImplicitMidpoint
— MethodImplicit Midpoint
GeometricIntegrators.Tableaus.TableauKraaijevangerSpijker
— MethodTableau of Kraaijevanger and Spijker's two-stage, 2nd order method
GeometricIntegrators.Tableaus.TableauKutta
— MethodTableau for Kutta's method of order three
GeometricIntegrators.Tableaus.TableauKutta3
— FunctionAlias for TableauKutta
GeometricIntegrators.Tableaus.TableauLobattoIIIA
— MethodGauss-Lobatto-IIIA Runge-Kutta tableau with s stages.
GeometricIntegrators.Tableaus.TableauLobattoIIIAIIIB2
— MethodTableau for Gauss-Lobatto IIIAIIIB method with s=2 stages
GeometricIntegrators.Tableaus.TableauLobattoIIIAIIIBpSymplectic
— MethodTableau for Gauss-Lobatto IIIA-IIIB method with s stages and symplectic projection.
GeometricIntegrators.Tableaus.TableauLobattoIIIB
— MethodGauss-Lobatto-IIIB Runge-Kutta tableau with s stages.
GeometricIntegrators.Tableaus.TableauLobattoIIIBIIIA2
— MethodTableau for Gauss-Lobatto IIIBIIIA method with s=2 stages
GeometricIntegrators.Tableaus.TableauLobattoIIIBIIIApSymplectic
— MethodTableau for Gauss-Lobatto IIIB-IIIA method with s stages and symplectic projection.
GeometricIntegrators.Tableaus.TableauLobattoIIIC
— MethodGauss-Lobatto-IIIC Runge-Kutta tableau with s stages.
GeometricIntegrators.Tableaus.TableauLobattoIIIC̄
— MethodGauss-Lobatto-IIIC̄ Runge-Kutta tableau with s stages.
GeometricIntegrators.Tableaus.TableauLobattoIIID
— MethodGauss-Lobatto-IIID Runge-Kutta tableau with s stages.
GeometricIntegrators.Tableaus.TableauLobattoIIIE
— MethodGauss-Lobatto-IIIE Runge-Kutta tableau with s stages.
GeometricIntegrators.Tableaus.TableauLobattoIIIF
— MethodGauss-Lobatto-IIIF Runge-Kutta tableau with s stages.
GeometricIntegrators.Tableaus.TableauLobattoIIIG
— MethodGauss-Lobatto-IIIG Runge-Kutta tableau with s stages.
GeometricIntegrators.Tableaus.TableauModifiedStochasticStormerVerlet
— FunctionTableau for the 2-stage modified stochastic LobattoIIIA-IIIB method Tableau for the 2-stage modified stochastic LobattoIIIA-IIIB method Satisfies the conditions for Lagrange-d'Alembert integrators and the conditions for convergence of order 1.0 for one Wiener process
GeometricIntegrators.Tableaus.TableauPlaten
— MethodTableau for the explicit Platen method Platen's method cited in Eq. (52) in K. Burrage, P. Burrage (1996) "High strong order explicit Runge-Kutta methods for stochastic ordinary differential equations". According to the paper, the method has strong order 1.0 for one-dimensional Brownian motion. Appears to have a rather poor long-time performance.
GeometricIntegrators.Tableaus.TableauQinZhang
— MethodTableau of Qin and Zhang's symplectic two-stage, 2nd order method
GeometricIntegrators.Tableaus.TableauRK4
— FunctionAlias for TableauRK416
GeometricIntegrators.Tableaus.TableauRK416
— MethodTableau for explicit Runge-Kutta method of order four (1/6 rule)
GeometricIntegrators.Tableaus.TableauRK438
— MethodTableau for explicit Runge-Kutta method of order four (3/8 rule)
GeometricIntegrators.Tableaus.TableauRadauIA
— MethodGauss-Radau-IIA Runge-Kutta tableau with s=2 stages.
GeometricIntegrators.Tableaus.TableauRadauIIA
— MethodGauss-Radau-IIA Runge-Kutta tableau with s=3 stages.
GeometricIntegrators.Tableaus.TableauRalston2
— FunctionTableau of Ralston's two-stage, 2nd order method
GeometricIntegrators.Tableaus.TableauRalston3
— FunctionTableau of Ralston's three-stage, 3rd order method
GeometricIntegrators.Tableaus.TableauRosslerRS1
— MethodTableau for the explicit 4-stage RS1 method due to Andreas Rossler Method cited in Table 5.2 in Andreas Rossler, "Second order Runge-Kutta methods for Stratonovich stochastic differential equations", BIT Numerical Mathematics (2007) 47 According to the paper, the method has weak order 2.0.
GeometricIntegrators.Tableaus.TableauRosslerRS2
— MethodTableau for the explicit 4-stage RS2 method due to Andreas Rossler Method cited in Table 5.3 in Andreas Rossler, "Second order Runge-Kutta methods for Stratonovich stochastic differential equations", BIT Numerical Mathematics (2007) 47 According to the paper, the method has weak order 2.0.
GeometricIntegrators.Tableaus.TableauRunge
— MethodTableau for Runge's method
GeometricIntegrators.Tableaus.TableauRunge2
— FunctionAlias for TableauRunge
GeometricIntegrators.Tableaus.TableauSPARKGLRK
— MethodSPARK tableau for Gauss-Legendre Runge-Kutta method with s stages.
GeometricIntegrators.Tableaus.TableauSPARKGLRKLobattoIIIAIIIB
— FunctionSPARK tableau for Gauss-Legendre/Gauss-Lobatto-IIIA-IIIB methods.
GeometricIntegrators.Tableaus.TableauSPARKGLRKLobattoIIIBIIIA
— FunctionSPARK tableau for Gauss-Legendre/Gauss-Lobatto-IIIB-IIIA methods.
GeometricIntegrators.Tableaus.TableauSPARKGLVPRK
— MethodTableau for Variational Gauss-Legendre method with s stages.
GeometricIntegrators.Tableaus.TableauSPARKLobABC
— MethodTableau for Gauss-Lobatto IIIA-IIIB-IIIC method with s stages.
GeometricIntegrators.Tableaus.TableauSPARKLobABD
— MethodTableau for Gauss-Lobatto IIIA-IIIB-IIID method with s stages.
GeometricIntegrators.Tableaus.TableauSPARKLobatto
— MethodSPARK tableau for Gauss-Lobatto methods.
GeometricIntegrators.Tableaus.TableauSPARKLobattoIIIAIIIB
— MethodSPARK tableau for Gauss-Lobatto IIIA-IIIB method with s stages.
GeometricIntegrators.Tableaus.TableauSPARKLobattoIIIBIIIA
— MethodSPARK tableau for Gauss-Lobatto IIIB-IIIA method with s stages.
GeometricIntegrators.Tableaus.TableauSPARKVPRK
— MethodSPARK Tableau for Variational Partitioned Runge-Kutta Methods.
GeometricIntegrators.Tableaus.TableauSRK3
— MethodSymmetric Runge-Kutta tableau with three stages.
GeometricIntegrators.Tableaus.TableauSRKw1
— FunctionTableau for the 1-stage SRKw1 method due to Wang, Hong & Xu Method cited in Wang, Hong, Xu, "Construction of Symplectic Runge-Kutta Methods for Stochastic Hamiltonian Systems", Commun. Comput. Phys. 21(1), 2017 According to the paper, the method has weak order 1.0.
GeometricIntegrators.Tableaus.TableauSRKw2
— FunctionTableau for the 4-stage SRKw2 method due to Wang, Hong & Xu Method cited in Wang, Hong, Xu, "Construction of Symplectic Runge-Kutta Methods for Stochastic Hamiltonian Systems", Commun. Comput. Phys. 21(1), 2017 According to the paper, the method has weak order 2.0 when applied to systems driven by one-dimensional noise.
GeometricIntegrators.Tableaus.TableauSSPRK3
— FunctionTableau of 3rd order Strong Stability Preserving method with three stages
GeometricIntegrators.Tableaus.TableauStochasticDIRK
— FunctionTableau for the 2-stage stochastic symplectic DIRK method Tableau for the stochastic symplectic DIRK method Satisfies the conditions for Lagrange-d'Alembert integrators. Satisfies the conditions for strong convergence of order 1.0 for one Wiener process
GeometricIntegrators.Tableaus.TableauStochasticEuler
— MethodTableau for the explicit 1-stage stochastic Euler method
GeometricIntegrators.Tableaus.TableauStochasticGLRK
— MethodTableau for the s-stage Gauss-Lobatto SFIRK method
GeometricIntegrators.Tableaus.TableauStochasticHeun
— MethodTableau for the explicit 2-stage stochastic Heun method
GeometricIntegrators.Tableaus.TableauStochasticLobattoIIIABD2
— MethodTableau for the 2-stage stochastic LobattoIIIA-IIIB-IIID method Tableau for the 2-stage stochastic LobattoIIIA-IIIB-IIID method (based on the deterministic LobattoIIIA-IIIB-IIID due to L. Jay) It satisfies the conditions for convergence of order 1.0 for one Wiener process, but it doesn't satisfy the conditions for Lagrange-d'Alembert integrators
GeometricIntegrators.Tableaus.TableauStochasticStormerVerlet
— MethodTableau for the 2-stage stochastic LobattoIIA-IIB method (Stormer-Verlet)
GeometricIntegrators.Tableaus.TableauStochasticSymplecticEuler
— MethodTableau for the stochastic symplectic Euler method Tableau for the stochastic symplectic Euler method Satisfies the conditions for Lagrange-d'Alembert integrators. Satisfies the conditions for strong convergence of order 1.0 for one Wiener process for special choices of the stochastic Hamiltonians and forces, e.g., h=h(q), f=0.
GeometricIntegrators.Tableaus.TableauSymplecticEulerA
— MethodTableau for symplectic Euler-A method
GeometricIntegrators.Tableaus.TableauSymplecticEulerB
— MethodTableau for symplectic Euler-B method
GeometricIntegrators.Tableaus.TableauVPGLRK
— MethodTableau for variational Gauss-Legendre method with s stages
GeometricIntegrators.Tableaus.TableauVPLobattoIIIA
— MethodTableau for variational Gauss-Lobatto IIIA-IIIB method with s stages
GeometricIntegrators.Tableaus.TableauVPLobattoIIIAIIIA
— MethodTableau for Gauss-Lobatto IIIA-IIIA method with s stages
GeometricIntegrators.Tableaus.TableauVPLobattoIIIB
— MethodTableau for variational Gauss-Lobatto IIIA-IIIB method with s stages
GeometricIntegrators.Tableaus.TableauVPLobattoIIIBIIIB
— MethodTableau for Gauss-Lobatto IIIB-IIIB method with s stages
GeometricIntegrators.Tableaus.TableauVPLobattoIIIC
— MethodTableau for variational Gauss-Lobatto IIIC-III method with s stages
GeometricIntegrators.Tableaus.TableauVPLobattoIIID
— MethodTableau for variational Gauss-Lobatto IIID method with s stages
GeometricIntegrators.Tableaus.TableauVPLobattoIIIE
— MethodTableau for variational Gauss-Lobatto IIIE method with s stages
GeometricIntegrators.Tableaus.TableauVPLobattoIIIF
— MethodTableau for variational Gauss-Lobatto IIIF method with s stages
GeometricIntegrators.Tableaus.TableauVPLobattoIIIG
— MethodTableau for variational Gauss-Lobatto IIIG method with s stages
GeometricIntegrators.Tableaus.TableauVPRadauIIAIIA
— MethodTableau for Gauss-Radau IIA-IIA method with two stages
GeometricIntegrators.Tableaus.TableauVPSRK3
— MethodTableau for variational symmetric Runge-Kutta method with 3 stages
GeometricIntegrators.Tableaus.TableauVSPARKGLRKpInternal
— MethodTableau for Gauss-Legendre method with s stages and symplectic projection.
GeometricIntegrators.Tableaus.TableauVSPARKGLRKpLobattoIIIAIIIB
— MethodTableau for Gauss-Legendre method with s stages and Lobatto-IIIA-IIIB projection.
GeometricIntegrators.Tableaus.TableauVSPARKGLRKpLobattoIIIBIIIA
— MethodTableau for Gauss-Legendre method with s stages and Lobatto-IIIB-IIIA projection.
GeometricIntegrators.Tableaus.TableauVSPARKGLRKpMidpoint
— MethodTableau for Gauss-Legendre method with s stages and midpoint projection.
GeometricIntegrators.Tableaus.TableauVSPARKGLRKpModifiedInternal
— MethodTableau for Gauss-Legendre method with s stages and symplectic projection.
GeometricIntegrators.Tableaus.TableauVSPARKGLRKpModifiedLobattoIIIAIIIB
— MethodTableau for Gauss-Legendre method with s stages and symplectic projection.
GeometricIntegrators.Tableaus.TableauVSPARKGLRKpModifiedLobattoIIIBIIIA
— MethodTableau for Gauss-Legendre method with s stages and symplectic projection.
GeometricIntegrators.Tableaus.TableauVSPARKGLRKpModifiedMidpoint
— MethodTableau for Gauss-Legendre method with s stages and midpoint projection.
GeometricIntegrators.Tableaus.TableauVSPARKGLRKpSymmetric
— MethodTableau for Gauss-Legendre method with s stages and symplectic projection.
GeometricIntegrators.Tableaus.TableauVSPARKInternalProjection
— MethodConsider a symplectic pair of tableaus $(a^{1}, b^{1}, c^{1})$ and $(a^{3}, b^{3}, c^{3})$, i.e., satsifying $b^{1}_{i} b^{3}_{j} = b^{1}_{i} a^{3}_{ij} + b^{3}_{j} a^{1}_{ji}$, with an arbitrary number of stages $s$. Use the same tableaus for $\tilde{a}^{1}$ and $\tilde{a}^{3}$, so that $\tilde{s} = s$, as well as
\[\begin{aligned} \begin{array}{c|cc} & \tfrac{1}{2} b^{1} \\ & \vdots \\ & \tfrac{1}{2} b^{1} \\ \hline a^{2} & \\ \end{array} && \begin{array}{c|cc} & \tfrac{1}{2} b^{3} \\ & \vdots \\ & \tfrac{1}{2} b^{3} \\ \hline a^{4} & \\ \end{array} && \begin{array}{c|cc} & \tfrac{1}{2} b^{1} \\ c^{1} & \vdots \\ & \tfrac{1}{2} b^{1} \\ \hline \tilde{a}^{2} & \tfrac{1}{2} (1 + R(\infty)) \, b^{1} \\ \end{array} && \begin{array}{c|cc} & \tfrac{1}{2} b^{3} \\ c^{3} & \vdots \\ & \tfrac{1}{2} b^{3} \\ \hline \tilde{a}^{4} & \tfrac{1}{2} (1 + R(\infty)) \, b^{3} \\ \end{array} \end{aligned}\]
Set $\omega = [0, ..., 0, 1]$ and
\[\delta_{ij} = \begin{cases} +1 & j = i , \\ -1 & j = \tilde{s} , \\ 0 & \text{else} , \end{cases}\]
so that $\Lambda_{1} = \Lambda_{2} = ... = \Lambda_{\tilde{s}}$.
This methods is constructed to satisfy the constraint on the projective stages, $\phi(\tilde{Q}_{n,i}, \tilde{P}_{n,i}) = 0$ for $i = 1, \, ..., \, \tilde{s}$. Note, however, that it violates the symplecticity conditions $b^{1}_{i} b^{4}_{j} = b^{1}_{i} a^{4}_{ij} + b^{4}_{j} \tilde{a}^{1}_{ji}$ and $b^{2}_{i} b^{3}_{j} = b^{2}_{i} \tilde{a}^{3}_{ij} + b^{3}_{j} a^{2}_{ji}$.
GeometricIntegrators.Tableaus.TableauVSPARKLobattoIIIAIIIBProjection
— MethodConsider a symplectic pair of tableaus $(a^{1}, b^{1}, c^{1})$ and $(a^{3}, b^{3}, c^{3})$, i.e., satsifying $b^{1}_{i} b^{3}_{j} = b^{1}_{i} a^{3}_{ij} + b^{3}_{j} a^{1}_{ji}$, with an arbitrary number of stages $s$. For the projection, choose the Lobatto-IIIA and IIIB tableaus with $\tilde{s} = 2$ stages for $(\tilde{a}^{4}, b^{4})$ and $(\tilde{a}^{2}, b^{2})$, respectively, and choose $\tilde{a}^{1}$ and $\tilde{a}^{3}$ such that the projective stages correspond to the initial condition and the solution, i.e.,
\[\begin{aligned} \begin{array}{c|cc} 0 & 0 \\ 1 & b^{1} \\ \hline \tilde{a}^{1} & \\ \end{array} && \begin{array}{c|cc} 0 & \tfrac{1}{2} & 0 \\ 1 & \tfrac{1}{2} & 0 \\ \hline \tilde{a}^{2} & \\ \end{array} && \begin{array}{c|cc} 0 & 0 \\ 1 & b^{3} \\ \hline \tilde{a}^{3} & \\ \end{array} && \begin{array}{c|cc} 0 & 0 & 0 \\ 1 & \tfrac{1}{2} & \tfrac{1}{2} \\ \hline \tilde{a}^{4} & \\ \end{array} \end{aligned}\]
and compute $a^{2}$ and $a^{4}$ by the symplecticity conditions, that is $a^{2}_{ij} = b^{2}_{j} ( b^{3}_{i} - \tilde{a}^{3}_{ji} ) / b^{3}_{i}$ and $a^{4}_{ij} = b^{4}_{j} ( b^{1}_{i} - \tilde{a}^{1}_{ji}) / b^{1}_{i}$. Finally choose $\omega = [0, 0, 1]$ and $\delta = [-1, R_{\infty}]$, implying that $\rho = 1$. By construction, this method satisfies all symplecticity conditions, but the constraint on the projection stages, $\phi(\tilde{Q}_{n,i}, \tilde{P}_{n,i}) = 0$ for $i = 1, \, ..., \, \tilde{s}$, is not satisfied exactly, but only approximately, although with bounded error.
GeometricIntegrators.Tableaus.TableauVSPARKLobattoIIIAIIIBpLobattoIIIAIIIB
— MethodTableau for Gauss-Lobatto IIIA-IIIB method with s stages and Lobatto-IIIA-IIIB projection.
GeometricIntegrators.Tableaus.TableauVSPARKLobattoIIIAIIIBpLobattoIIIBIIIA
— MethodTableau for Gauss-Lobatto IIIA-IIIB method with s stages and Lobatto-IIIB-IIIA projection.
GeometricIntegrators.Tableaus.TableauVSPARKLobattoIIIAIIIBpMidpoint
— MethodTableau for Gauss-Lobatto IIIA-IIIB method with s stages and midpoint projection.
GeometricIntegrators.Tableaus.TableauVSPARKLobattoIIIAIIIBpModifiedLobattoIIIAIIIB
— MethodTableau for Gauss-Lobatto IIIA-IIIB method with s stages and Lobatto-IIIA-IIIB projection.
GeometricIntegrators.Tableaus.TableauVSPARKLobattoIIIAIIIBpModifiedLobattoIIIBIIIA
— MethodTableau for Gauss-Lobatto IIIA-IIIB method with s stages and Lobatto-IIIB-IIIA projection.
GeometricIntegrators.Tableaus.TableauVSPARKLobattoIIIAIIIBpModifiedMidpoint
— MethodTableau for Gauss-Lobatto IIIA-IIIB method with s stages and midpoint projection.
GeometricIntegrators.Tableaus.TableauVSPARKLobattoIIIAIIIBpSymmetric
— MethodTableau for Gauss-Lobatto IIIA-IIIB method with s stages and symmetric projection.
GeometricIntegrators.Tableaus.TableauVSPARKLobattoIIIBIIIAProjection
— MethodThis methods is the same as TableauVSPARKLobattoIIIAIIIBProjection
, except for using Lobatto-IIIA and IIIB tableaus with $\tilde{s} = 2$ stages for $(\tilde{a}^{2}, b^{2})$, and $(\tilde{a}^{4}, b^{4})$ respectively, instead of the other way around.
GeometricIntegrators.Tableaus.TableauVSPARKLobattoIIIBIIIApLobattoIIIAIIIB
— MethodTableau for Gauss-Lobatto IIIB-IIIA method with s stages and Lobatto-IIIA-IIIB projection.
GeometricIntegrators.Tableaus.TableauVSPARKLobattoIIIBIIIApLobattoIIIBIIIA
— MethodTableau for Gauss-Lobatto IIIB-IIIA method with s stages and Lobatto-IIIB-IIIA projection.
GeometricIntegrators.Tableaus.TableauVSPARKLobattoIIIBIIIApMidpoint
— MethodTableau for Gauss-Lobatto IIIB-IIIA method with s stages and midpoint projection.
GeometricIntegrators.Tableaus.TableauVSPARKLobattoIIIBIIIApModifiedLobattoIIIAIIIB
— MethodTableau for Gauss-Lobatto IIIB-IIIA method with s stages and Lobatto-IIIA-IIIB projection.
GeometricIntegrators.Tableaus.TableauVSPARKLobattoIIIBIIIApModifiedLobattoIIIBIIIA
— MethodTableau for Gauss-Lobatto IIIB-IIIA method with s stages and Lobatto-IIIB-IIIA projection.
GeometricIntegrators.Tableaus.TableauVSPARKLobattoIIIBIIIApModifiedMidpoint
— MethodTableau for Gauss-Lobatto IIIB-IIIA method with s stages and midpoint projection.
GeometricIntegrators.Tableaus.TableauVSPARKLobattoIIIBIIIApSymmetric
— MethodTableau for Gauss-Lobatto IIIB-IIIA method with s stages and symmetric projection.
GeometricIntegrators.Tableaus.TableauVSPARKMidpointProjection
— MethodConsider a symplectic pair of tableaus $(a^{1}, b^{1}, c^{1})$ and $(a^{3}, b^{3}, c^{3})$, i.e., satsifying $b^{1}_{i} b^{3}_{j} = b^{1}_{i} a^{3}_{ij} + b^{3}_{j} a^{1}_{ji}$, with an arbitrary number of stages $s$. For the projection, choose the tableau with $\tilde{s} = 1$ and $\rho = 0$, such that $\tilde{Q}_{n,1} = \tfrac{1}{2} ( q_{n} + q_{n+1})$, $\tilde{P}_{n,1} = \tfrac{1}{2} ( p_{n} + p_{n+1})$, i.e.,
\[\begin{aligned} \begin{array}{c|cc} & \tfrac{1}{2} \\ & \vdots \\ & \tfrac{1}{2} \\ \hline a^{2} & \\ \end{array} && \begin{array}{c|cc} & \tfrac{1}{2} \\ & \vdots \\ & \tfrac{1}{2} \\ \hline a^{4} & \\ \end{array} && \begin{array}{c|cc} \tfrac{1}{2} & \tfrac{1}{2} \\ \hline \tilde{a}^{2} & \tfrac{1}{2} (1 + R(\infty))\\ \end{array} && \begin{array}{c|cc} \tfrac{1}{2} & \tfrac{1}{2} \\ \hline \tilde{a}^{4} & \tfrac{1}{2} (1 + R(\infty))\\ \end{array} \end{aligned}\]
The coefficients $\tilde{a}^{1}$ and $\tilde{a}^{3}$ are determined by the symplecticity conditions, specifically $a^{4}_{ij} = b^{4}_{j} ( b^{1}_{i} - \tilde{a}^{1}_{ji}) / b^{1}_{i}$ and $a^{2}_{ij} = b^{2}_{j} ( b^{3}_{i} - \tilde{a}^{3}_{ji} ) / b^{3}_{i}$, and $\omega = [0, 1]$.
GeometricIntegrators.Tableaus.TableauVSPARKModifiedInternalProjection
— FunctionConsider a symplectic pair of tableaus $(a^{1}, b^{1}, c^{1})$ and $(a^{3}, b^{3}, c^{3})$, i.e., satsifying $b^{1}_{i} b^{3}_{j} = b^{1}_{i} a^{3}_{ij} + b^{3}_{j} a^{1}_{ji}$, with an arbitrary number of stages $s$, and set
\[\begin{aligned} \begin{array}{c|cc} & \tfrac{1}{2} b^{1} \\ & \vdots \\ & \tfrac{1}{2} b^{1} \\ \hline a^{2} & \\ \end{array} && \begin{array}{c|cc} & \tfrac{1}{2} b^{4} \\ & \vdots \\ & \tfrac{1}{2} b^{4} \\ \hline a^{4} & \\ \end{array} && \begin{array}{c|cc} & \tfrac{1}{2} b^{1} \\ c^{1} & \vdots \\ & \tfrac{1}{2} b^{1} \\ \hline \tilde{a}^{2} & \tfrac{1}{2} (1 + R(\infty)) \, b^{1} \\ \end{array} && \begin{array}{c|cc} & \tfrac{1}{2} b^{3} \\ c^{3} & \vdots \\ & \tfrac{1}{2} b^{3} \\ \hline \tilde{a}^{4} & \tfrac{1}{2} (1 + R(\infty)) \, b^{3} \\ \end{array} \end{aligned}\]
Note that by this definition $\tilde{s} = s$. The coefficients $\tilde{a}^{1}$ and $\tilde{a}^{3}$ are determined by the (modified) symplecticity conditions, specifically $a^{4}_{ij} = b^{3}_{j} ( b^{1}_{i} - \tilde{a}^{1}_{ji}) / b^{1}_{i}$ and $a^{2}_{ij} = b^{1}_{j} ( b^{3}_{i} - \tilde{a}^{3}_{ji} ) / b^{3}_{i}$, where $b^{2}$ has been replaced with $b^{1}$ and $b^{4}$ with $b^{3}$, respectively. Set $\omega = [0, ..., 0, 1]$ and
\[\delta_{ij} = \begin{cases} +1 & j = i , \\ -1 & j = \tilde{s} , \\ 0 & \text{else} , \end{cases}\]
so that $\Lambda_{1} = \Lambda_{2} = ... = \Lambda_{\tilde{s}}$.
Note that this method satisfies the symplecticity conditions $b^{1}_{i} b^{4}_{j} = b^{1}_{i} a^{4}_{ij} + b^{4}_{j} \tilde{a}^{1}_{ji}$ and $b^{2}_{i} b^{3}_{j} = b^{2}_{i} \tilde{a}^{3}_{ij} + b^{3}_{j} a^{2}_{ji}$ only if $R(\infty) = 1$ due to the definitions of $b^{2}$ and $b^{4}$. Moreover, it does usually not satisfy the constraint on the projective stages, $\phi(\tilde{Q}_{n,i}, \tilde{P}_{n,i}) = 0$ for $i = 1, \, ..., \, \tilde{s}$, exactly, but only approximately with bounded error, thus implying a residual in the symplecticity equation even if $R(\infty) = 1$.
GeometricIntegrators.Tableaus.TableauVSPARKModifiedLobattoIIIAIIIBProjection
— MethodConsider a symplectic pair of tableaus $(a^{1}, b^{1}, c^{1})$ and $(a^{3}, b^{3}, c^{3})$, i.e., satsifying $b^{1}_{i} b^{3}_{j} = b^{1}_{i} a^{3}_{ij} + b^{3}_{j} a^{1}_{ji}$, with an arbitrary number of stages $s$. For the projection, choose the Lobatto-IIIA and IIIB tableaus with $\tilde{s} = 2$ stages for $(\tilde{a}^{4}, b^{4})$ and $(\tilde{a}^{2}, b^{2})$, respectively.
The coefficients $\tilde{a}^{1}$ and $\tilde{a}^{3}$ are determined by the relations
\[\begin{aligned} \sum \limits_{j=1}^{s} \tilde{a}^{1}_{ij} (c_{j}^{1})^{k-1} &= \frac{(c_{i}^{2})^k}{k} , \qquad & \sum \limits_{j=1}^{s} \tilde{a}^{3}_{ij} (c_{j}^{3})^{k-1} &= \frac{(c_{i}^{4})^k}{k} , \qquad & i &= 1 , \, ... , \, \tilde{s} , \qquad & k &= 1 , \, ... , \, s . \end{aligned}\]
The coefficients $a^{2}$ and $a^{4}$ by the symplecticity conditions, that is $a^{2}_{ij} = b^{2}_{j} ( b^{3}_{i} - \tilde{a}^{3}_{ji} ) / b^{3}_{i}$ and $a^{4}_{ij} = b^{4}_{j} ( b^{1}_{i} - \tilde{a}^{1}_{ji}) / b^{1}_{i}$. Finally choose $\omega = [0, 0, 1]$ and $\delta = [-1, R_{\infty}]$, implying that $\rho = 1$. By construction, this method satisfies all symplecticity conditions, but the constraint on the projection stages, $\phi(\tilde{Q}_{n,i}, \tilde{P}_{n,i}) = 0$ for $i = 1, \, ..., \, \tilde{s}$, is not satisfied exactly, but only approximately, although with bounded error.
GeometricIntegrators.Tableaus.TableauVSPARKModifiedLobattoIIIBIIIAProjection
— MethodThis methods is the same as TableauVSPARKModifiedLobattoIIIAIIIBProjection
, except for using Lobatto-IIIA and IIIB tableaus with $\tilde{s} = 2$ stages for $(\tilde{a}^{2}, b^{2})$, and $(\tilde{a}^{4}, b^{4})$ respectively, instead of the other way around.
GeometricIntegrators.Tableaus.TableauVSPARKModifiedMidpointProjection
— MethodConsider a symplectic pair of tableaus $(a^{1}, b^{1}, c^{1})$ and $(a^{3}, b^{3}, c^{3})$, i.e., satsifying $b^{1}_{i} b^{3}_{j} = b^{1}_{i} a^{3}_{ij} + b^{3}_{j} a^{1}_{ji}$, with an arbitrary number of stages $s$. For the projection, choose the tableau with $\tilde{s} = 1$ and $\rho = 0$, such that $\tilde{Q}_{n,1} = \tfrac{1}{2} ( q_{n} + q_{n+1})$, $\tilde{P}_{n,1} = \tfrac{1}{2} ( p_{n} + p_{n+1})$, i.e.,
\[\begin{aligned} \begin{array}{c|cc} \tfrac{1}{2} & \tfrac{1}{2} b^{1} \\ \hline \tilde{a}^{1} & \\ \end{array} && \begin{array}{c|cc} \tfrac{1}{2} & \tfrac{1}{2} \\ \hline \tilde{a}^{2} & \tfrac{1}{2} ( 1 + R (\infty) ) \\ \end{array} && \begin{array}{c|cc} \tfrac{1}{2} & \tfrac{1}{2} b^{3} \\ \hline \tilde{a}^{3} & \\ \end{array} && \begin{array}{c|cc} \tfrac{1}{2} & \tfrac{1}{2} \\ \hline \tilde{a}^{4} & \tfrac{1}{2} ( 1 + R (\infty) ) \\ \end{array} \end{aligned}\]
The coefficients $a^{2}$ and $a^{4}$ are determined by the symplecticity conditions, specifically $a^{4}_{ij} = b^{4}_{j} ( b^{1}_{i} - \tilde{a}^{1}_{ji}) / b^{1}_{i}$ and $a^{2}_{ij} = b^{2}_{j} ( b^{3}_{i} - \tilde{a}^{3}_{ji} ) / b^{3}_{i}$, and $\omega = [0, 1]$.
GeometricIntegrators.Tableaus.TableauVSPARKSymmetricProjection
— MethodConsider a symplectic pair of tableaus $(a^{1}, b^{1}, c^{1})$ and $(a^{3}, b^{3}, c^{3})$, i.e., satsifying $b^{1}_{i} b^{3}_{j} = b^{1}_{i} a^{3}_{ij} + b^{3}_{j} a^{1}_{ji}$, with an arbitrary number of stages $s$. For the projection, choose the tableau with $\tilde{s} = 2$ and $\rho = 1$, such that $\tilde{Q}_{n,1} = q_{n}$, $\tilde{Q}_{n,2} = q_{n+1}$, $\tilde{P}_{n,1} = p_{n}$, $\tilde{P}_{n,2} = p_{n+1}$, i.e.,
\[\begin{aligned} \begin{array}{c|cc} 0 & 0 \\ 1 & b^{1} \\ \hline \tilde{a}^{1} & \\ \end{array} && \begin{array}{c|cc} & 0 & 0 \\ & \tfrac{1}{2} & \tfrac{1}{2} \\ \hline \tilde{a}^{2} & \tfrac{1}{2} & \tfrac{1}{2} \\ \end{array} && \begin{array}{c|cc} 0 & 0 \\ 1 & b^{3} \\ \hline \tilde{a}^{3} & \\ \end{array} && \begin{array}{c|cc} & 0 & 0 \\ & \tfrac{1}{2} & \tfrac{1}{2} \\ \hline \tilde{a}^{4} & \tfrac{1}{2} & \tfrac{1}{2} \\ \end{array} \end{aligned}\]
The coefficients $a^{2}$ and $a^{4}$ are determined by the symplecticity conditions, specifically $a^{4}_{ij} = b^{4}_{j} ( b^{1}_{i} - \tilde{a}^{1}_{ji}) / b^{1}_{i}$ and $a^{2}_{ij} = b^{2}_{j} ( b^{3}_{i} - \tilde{a}^{3}_{ji} ) / b^{3}_{i}$. Further choose $\omega = [1, 1, 0]$ and $\delta = [-1, R_{\infty}]$, so that $\tilde{\Lambda}_{n,1} = R_{\infty} \tilde{\Lambda}_{n,2}$ and
\[\tilde{P}_{n,1} - \vartheta (\tilde{Q}_{n,1}) + R_{\infty} ( \tilde{P}_{n,2} - \vartheta (\tilde{Q}_{n,2}) ) = 0 .\]
Due to the particular choice of projective stages, this is equivalent to
\[p_{n} - \vartheta (q_{n}) + R_{\infty} ( p_{n+1} - \vartheta (q_{n+1}) ) = 0 ,\]
so that the constraint $\phi(q_{n+1}, p_{n+1}) = 0$ is satisfied if $\phi(q_{n}, p_{n}) = 0$. Note that the choice of $\tilde{a}^{2}$ and $\tilde{a}^{4}$ violates the symplecticity condition $b^{2}_{i} b^{4}_{j} = b^{2}_{i} \tilde{a}^{4}_{ij} + b^{4}_{j} \tilde{a}^{2}_{ji}$.
GeometricIntegrators.Tableaus._legendre
— MethodLegendre polynomial P_s(x) of degree s defined on the interval [-1..+1].
GeometricIntegrators.Tableaus._shifted_legendre
— FunctionLegendre polynomial of degree s shifted to the interval [0..1], i.e., P_s(2x-1).
GeometricIntegrators.Tableaus.getTableauIPGLRK
— MethodGauss-Legendre Runge-Kutta
GeometricIntegrators.Tableaus.get_glrk_coefficients
— FunctionThe Gauss coefficients are implicitly given by the so-called simplifying assumption $C(s)$:
\[\sum \limits_{j=1}^{s} a_{ij} c_{j}^{k-1} = \frac{c_i^k}{k} \qquad i = 1 , \, ... , \, s , \; k = 1 , \, ... , \, s .\]
GeometricIntegrators.Tableaus.get_glrk_nodes
— FunctionThe Gauss nodes are given by the roots of the shifted Legendre polynomial $P_s (2x-1)$ with $s$ the number of stages.
GeometricIntegrators.Tableaus.get_glrk_weights
— FunctionThe Gauss weights are given by the following integrals
\[b_i = \bigg( \frac{dP}{dx} (c_i) \bigg)^{-2} \int \limits_0^1 \bigg( \frac{P(x)}{x - c_i} \bigg)^2 dx ,\]
where $P(x)$ denotes the shifted Legendre polynomial $P(x) = P_s (2x-1)$ with $s$ the number of stages.
GeometricIntegrators.Tableaus.get_lobatto_a_coefficients
— FunctionThe Lobatto IIIA coefficients are implicitly given by the so-called simplifying assumption $C(s)$:
\[\sum \limits_{j=1}^{s} a_{ij} c_{j}^{k-1} = \frac{c_i^k}{k} \qquad i = 1 , \, ... , \, s , \; k = 1 , \, ... , \, s .\]
GeometricIntegrators.Tableaus.get_lobatto_b_coefficients
— FunctionThe Lobatto IIIB coefficients are implicitly given by the so-called simplifying assumption $D(s)$:
\[\sum \limits_{i=1}^{s} b_i c_{i}^{k-1} a_{ij} = \frac{b_j}{k} ( 1 - c_j^k) \qquad j = 1 , \, ... , \, s , \; k = 1 , \, ... , \, s .\]
GeometricIntegrators.Tableaus.get_lobatto_c_coefficients
— FunctionThe Lobatto IIIC coefficients are determined by setting $a_{i,1} = b_1$ and solving the so-called simplifying assumption $C(s-1)$, given by
\[\sum \limits_{j=1}^{s} a_{ij} c_{j}^{k-1} = \frac{c_i^k}{k} \qquad i = 1 , \, ... , \, s , \; k = 1 , \, ... , \, s-1 ,\]
for $a_{i,j}$ with $i = 1, ..., s$ and $j = 2, ..., s$.
GeometricIntegrators.Tableaus.get_lobatto_c̄_coefficients
— FunctionThe Lobatto IIIC̄ coefficients are determined by setting $a_{i,s} = 0$ and solving the so-called simplifying assumption $C(s-1)$, given by
\[\sum \limits_{j=1}^{s} a_{ij} c_{j}^{k-1} = \frac{c_i^k}{k} \qquad i = 1 , \, ... , \, s , \; k = 1 , \, ... , \, s-1 ,\]
for $a_{i,j}$ with $i = 1, ..., s$ and $j = 1, ..., s-1$.
GeometricIntegrators.Tableaus.get_lobatto_glrk_coefficients
— FunctionThe projective Lobatto-GLRK coefficients are implicitly given by
\[\sum \limits_{j=1}^{s} a_{ij} c_{j}^{k-1} = \frac{\bar{c}_i^k}{k} \qquad i = 1 , \, ... , \, \sigma , \; k = 1 , \, ... , \, s ,\]
where $c$ are Gauß-Legendre nodes with $s$ stages and $\bar{c}$ are Gauß-Lobatto nodes with $\sigma$ stages.
GeometricIntegrators.Tableaus.get_lobatto_nodes
— FunctionThe s-stage Lobatto nodes are defined as the roots of the following polynomial of degree $s$:
\[\frac{d^{s-2}}{dx^{s-2}} \big( (x - x^2)^{s-1} \big) .\]
GeometricIntegrators.Tableaus.get_lobatto_weights
— FunctionThe Lobatto weights can be explicitly computed by the formula
\[b_j = \frac{1}{s (s-1) P_{s-1}(2 c_j - 1)^2} \qquad j = 1 , \, ... , \, s ,\]
where $P_k$ is the $k$th Legendre polynomial, given by
\[P_k (x) = \frac{1}{k! 2^k} \big( \frac{d^k}{dx^k} (x^2 - 1)^k \big) .\]
GeometricIntegrators.Tableaus.get_radau_1_coefficients
— FunctionThe Radau IA coefficients are implicitly given by the so-called simplifying assumption $D(s)$:
\[\sum \limits_{i=1}^{s} b_i c_{i}^{k-1} a_{ij} = \frac{b_j}{k} ( 1 - c_j^k) \qquad j = 1 , \, ... , \, s , \; k = 1 , \, ... , \, s .\]
GeometricIntegrators.Tableaus.get_radau_1_nodes
— FunctionThe s-stage Radau IA nodes are defined as the roots of the following polynomial of degree $s$:
\[\frac{d^{s-1}}{dx^{s-1}} \big( x^s (x - 1)^{s-1} \big) .\]
GeometricIntegrators.Tableaus.get_radau_1_weights
— FunctionThe Radau IA weights are implicitly given by the so-called simplifying assumption $B(s)$:
\[\sum \limits_{j=1}^{s} b_{j} c_{j}^{k-1} = \frac{1}{k} \qquad k = 1 , \, ... , \, s .\]
GeometricIntegrators.Tableaus.get_radau_2_coefficients
— FunctionThe Radau IIA coefficients are implicitly given by the so-called simplifying assumption $C(s)$:
\[\sum \limits_{j=1}^{s} a_{ij} c_{j}^{k-1} = \frac{c_i^k}{k} \qquad i = 1 , \, ... , \, s , \; k = 1 , \, ... , \, s .\]
GeometricIntegrators.Tableaus.get_radau_2_nodes
— FunctionThe s-stage Radau IIA nodes are defined as the roots of the following polynomial of degree $s$:
\[\frac{d^{s-1}}{dx^{s-1}} \big( x^{s-1} (x - 1)^s \big) .\]
GeometricIntegrators.Tableaus.get_radau_2_weights
— FunctionThe Radau IIA weights are implicitly given by the so-called simplifying assumption $B(s)$:
\[\sum \limits_{j=1}^{s} b_{j} c_{j}^{k-1} = \frac{1}{k} \qquad k = 1 , \, ... , \, s .\]
GeometricIntegrators.Tableaus.solve_simplifying_assumption_b
— MethodCompute the weights by solving the simplifying assumption $B(s)$:
\[\sum \limits_{j=1}^{s} b_{j} c_{j}^{k-1} = \frac{1}{k} \qquad k = 1 , \, ... , \, s .\]
GeometricIntegrators.Tableaus.solve_simplifying_assumption_c
— MethodCompute the coefficients by solving the simplifying assumption $C(s)$:
\[\sum \limits_{j=1}^{s} a_{ij} c_{j}^{k-1} = \frac{c_i^k}{k} \qquad i = 1 , \, ... , \, s , \; k = 1 , \, ... , \, s .\]
GeometricIntegrators.Tableaus.solve_simplifying_assumption_d
— MethodCompute the coefficients by solving the simplifying assumption $D(s)$:
\[\sum \limits_{i=1}^{s} b_i c_{i}^{k-1} a_{ij} = \frac{b_j}{k} ( 1 - c_j^k) \qquad j = 1 , \, ... , \, s , \; k = 1 , \, ... , \, s .\]