# Why isn't the Gear predictor-corrector algorithm for integration of the equations of motion symplectic?

Okumura et al., J. Chem. Phys. 2007 states that the Gear predictor-corrector integration scheme, used in particular in some molecular dynamics packages for the dynamics of rigid bodies using quaternions to represent molecular orientations, is not a symplectic scheme. My question is: how can one prove that? Does it follow from the fact that the Gear integrator is not time-reversible (and if so, how can one show that)? If not, how do you prove that an integration scheme is not symplectic?

-

## 1 Answer

Take a look at the notes on lectures 1 and 2 of Geometric Numerical Integration found here. Quoting from Lecture 2

A numerical one-step method $y_{n+1} = \Phi_h(y_n)$ is called symplectic if, when applied to a Hamiltonian system, the discrete flow $y \mapsto \Phi_h(y)$ is a symplectic transformation for all sufficiently small step sizes.

From your link you have $$x(t+h) = x(t) + h \dot{x}(t) + h^2 \left\{\frac{3}{24}f(t+h) +\frac{10}{24}f(t) -\frac{1}{24}f(t-h) \right\}$$ and $$\dot{x}(t+h) = \frac{x(t+h) - x(t)}{h} + h \dot{x}(t) + h \left\{\frac{7}{24}f(t+h) +\frac{6}{24}f(t) -\frac{1}{24}f(t-h) \right\}$$

Now take $\omega(\xi,\eta) = \xi^T J \eta$ where $J = \left(\begin{array}{cc} 0 & \mathbb{I} \\ \mathbb{I} & 0 \end{array}\right)$. Then the integrator is symplectic if and only if $\omega(x(t),\dot{x}(t))=\omega(x(t+h),\dot{x}(t+h))$ for sufficiently small $h$.

All that you need to do is to fill in the values of $x(t+h)$ and $\dot{x}(t+h)$ from the integrator, and show that this condition does not hold.

-

Dear Joe Fitzsimons, you should insert a minus sign into the matrix $J$ representing the symplectic form $\omega$. – Giuseppe Jan 21 '12 at 15:09
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 10, "mathjax_display_tex": 2, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 20, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "github"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.876262366771698, "perplexity_flag": "head"}