<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>COMBINED EXPLICIT-IMPLICIT TAYLOR SERIES METHODS</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>S.N. Dimova</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>I.G. Hristov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>R.D. Hristova</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>I V. Puzynin</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>T.P. Puzynina</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Z.A. Sharipov</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>N.G. Shegunov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Z.K. Tukhliev</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dubna</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Russia</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Sofia University</institution>
          ,
          <country country="BG">Bulgaria</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>2018 Stefka Nikolaeva Dimova, Ivan Georgiev Hristov, Radoslava Danailova Hristova, Igor Viktorovich Puzynin, Taisia Petrovna Puzynina, Zarif Alimjonovich Sharipov, Nikolai Georgiev Shegunov</institution>
          ,
          <addr-line>Zafar Kamaridinovich Tukhliev</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2018</year>
      </pub-date>
      <fpage>544</fpage>
      <lpage>548</lpage>
      <abstract>
        <p>We investigate numerically a class of combined Explicit-Implicit Taylor series methods of various order of accuracy for solving Hamiltonian systems. The purpose of the investigation is to confirm our expectations that these methods behave as symplectic ones in terms of energy conservation, and that in some cases they may overmatch the standard second order Verlet method. Indeed, the numerical results show that our methods conserve the energy for long-time integration. This indicates that we have a tool to construct easily energy conservation methods of any order of accuracy. Also, when a very high accuracy is needed, they show substantially better performance than the Verlet method. The comparison between our methods and the Verlet method is done in terms of a standard "CPU-time - Error" diagram on a classical Hamiltonian system, namely the Henon-Heiles problem. In addition we test an OpenMP approach for computing multiple independent trajectories using our methods. The results are very promising. We achieve a significant speedup up to ∼ 37, when we use the whole resource of one computational CPU node in the HybriLIT education and testing polygon.</p>
      </abstract>
      <kwd-group>
        <kwd>Hamiltonian systems</kwd>
        <kwd>Taylor Series OpenMP parallel technology</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>We solve numerically the initial value problem</p>
      <p>̇ ( ) =  ( ),  ( ) =  
with  ,  0 ∈ ℝ by using a class of combined Explicit-Implicit methods proposed in [1]. This class is
based on Taylor series expansion and consists of methods of various orders of accuracy. The idea is to
combine Taylor expansions about the forward and current time levels. Let  be the approximate
solution, then for given N = 1,2,3, … we have the method:


 ( +</p>
      <p>) = ∑ =
 ( +  ) =  ( +


 ( )( )  
 !
(

)
) − ∑ =
(
 !
 ( )( + ) (−</p>
      <p>)
(
)

)

</p>
      <p>Our first goal is to compare the standard Verlet method with the combined Explicit-Implicit
methods of 4-th (N = 3), 6-th (N = 5), 8-th (N = 7) orders in terms of a "CPU-time – Error"
diagram on a test Hamiltonian problem.</p>
      <p>Our second goal is to test the computer performance scalability inside one CPU-node of the
HybriLIT education and testing polygon, when scheduling onto OpenMP threads multiple
independent trajectories.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Properties and realization details of the numerical methods</title>
      <sec id="sec-2-1">
        <title>2.1. Symmetry and Energy conservation properties of the methods</title>
        <p>
          The explicit and implicit Taylor methods are adjoint to each other [2], consequently methods
(
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) are symmetric and hence of an even order. For efficiency we consider methods for odd  . For

= 1 we obtain a 2-nd order method, which is the well known trapezoidal method. For 
= 3,5,7 we
obtain respectively 4-th, 6-th, 8-th order methods. Because we restrict ourselves to double precision
arithmetic, it is not reasonable to consider methods above 8-th order.
        </p>
        <p>
          Usually an important property of a numerical method designed for Hamiltonian systems is its
energy conservation. Although the trapezoidal method is not strictly symplectic, it has the property of
energy conservation [2]. The methods (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) can be seen as a generalization of the trapezoidal method, so
one could think of them as "high order trapezoidal methods". Intuitively, these high order methods
should have the energy conservation property. We will not give here a strict proof of this property, but
all numerical tests confirm this. The numerical tests show excellent long-time behavior of the total
energy (the Hamiltonian) for all our methods, i.e. with respect to energy conservation our methods
behave as symplectic ones.
        </p>
        <p>
          The strength of methods (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) is the possibility to construct easily (at least theoretically) energy
conservation methods of any order. Such methods can be useful for problems where very high
accuracy is needed, of course by using extended precision - quadruple or higher.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Calculation of the derivatives - automatic differentiation</title>
        <p>
          To use formulas (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) we have first to compute the coefficients of the Taylor polynomial (the
normalized derivatives) and then for a given step  to use the Horner evaluation of the Taylor
polynomial. The evaluation of the derivatives is done by the classical automatic differentiation,
avoiding symbolic derivation or numerical approximation of derivatives [4].
(
          <xref ref-type="bibr" rid="ref1">1</xref>
          )
(2a)
(2b)
) − ∑ =
 ( )[ − ]
 !
( + ) (−  )
        </p>
        <p>[ ] =</p>
        <p>[ ] ≥  [ − ],
 [ ] =∥  [ ] −  [ −1] ∥∞.


The inequality above indicates that the iteration increments begin to oscillate due to round -off errors.
This criterion has the advantage that it does not require a problem or method dependent tolerance. The
average number of iterations for a given method depends on the step size  and converges to 1 as 
tends to 0. That means that for sufficiently small step size  , the work for one step is fixed and small,
like that in an explicit method.</p>
      </sec>
      <sec id="sec-2-3">
        <title>2.4. Test setup: the Henon-Heiles problem</title>
        <p>
          The Henon-Heiles problem, a classical Hamiltonian system, is considered as a test problem.
The Hamiltonian is:
(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ):
 ( ,  ) =
 (   +    ) +


(   +    ) +   
  −
        </p>
        <p>.


The Hamiltonian equations  ̇ = −   ( ,  ),  ̇ =    ( ,  ) give the following equations of the form</p>
      </sec>
      <sec id="sec-2-4">
        <title>2.3. Solving the implicit step</title>
        <p>The 
−</p>
        <p>iteration is given by:</p>
        <p>
          To solve the implicit step of (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ), a fixed-point iteration is applied.
        </p>
        <p>The initial approximation  [0]( +  ) is calculated by an explicit step. To obtain a stopping criterion,
we follow "Iteration until convergence" recommendations from [3]. Namely, we iterate until:
 ̇ =   ,  ̇ =   ,  ̇  = −  −      ,  ̇  = −  −    +    .</p>
        <p>The initial conditions are taken from [2].</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Numerical results</title>
      <sec id="sec-3-1">
        <title>3.1. The HybriLIT education and testing polygon</title>
        <p>All of the numerical tests are performed on the HybriLIT education and testing polygon, a part
of the HybriLIT Heterogeneous Platform, which itself is a part of the Multipurpose information and
computing complex (MICC) of the Laboratory of Information Technologies of JINR [5]. The OS
Scientific Linux 7.4 is installed in the HybriLIT platform. Our computations are performed on one
computational CPU-node consisting of 2 x Intel(R) Xeon(R) Processor E5-2695v3 (28 cores, 56
hardware threads). For compilations the Intel (R) Fortran Compiler 18.0 is used. The best performance
for all of the methods was obtained when we have used optimization options -O3 -xhost.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. CPU-time - Error diagram</title>
        <p>
          The larger memory demand of methods (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) in comparison to the Verlet method is
compensated by their higher convergence order. As expected, a higher order method performs better,
when the accuracy requirements become sufficiently high. As it is seen from
"intersection points" for our test problem are between 10−7 and 10−4. For accuracy 10−10 for
example our methods behaves substantially better then the Verlet method. Our conclusion is that, in
general, the methods (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) should show better behavior than the Verlet method for problems requiring
high accuracy.
(
          <xref ref-type="bibr" rid="ref3">3</xref>
          )
(
          <xref ref-type="bibr" rid="ref4">4</xref>
          )
(
          <xref ref-type="bibr" rid="ref5">5</xref>
          )
(
          <xref ref-type="bibr" rid="ref6">6</xref>
          )
        </p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3 Computing multiple independent trajectories with OpenMP</title>
        <p>There are two main sources of large scale problems when solving systems of ODEs and thus,
requiring parallel computing. The first source are systems of very large number of equations, for
example, coming from the molecular dynamics. The second source are small systems that need to be
solved for a large number of independent sets of initial conditions or for many sets of parameters. This
is the case when we calculate different indicators for a given dynamical system, for example the Fast
Lyapunov Indicator [6]. Similar is the situation when we solve system of ODEs in Monte Carlo
framework.</p>
        <p>Since in this work we are focused only on solving small systems with high accuracy, we
propose an approach of parallelization with OpenMP [7] of the second type of problems, i.e. when we
simulate multiple independent trajectories. We schedule the independent trajectories onto OpenMP
threads by a simple OpenMP "DO loop" with the "schedule" clause with parameter "guided". The
results are very promising. A strong scalability result is shown in Figure 2. The simulation of 1000
independent trajectories by the 6-th order method shows significant speedup up to ∼ 37, when we use
the whole resource of one computational CPU node.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Conclusions</title>
      <p> The numerical tests show excellent long-time behavior of the total energy for the combined
Explicit-Implicit Taylor series methods. This means that with respect to the energy
conservation our methods behave as symplectic ones.
 The average number of iterations for the implicit step depends on the step size  and
converges to 1 as  tends to 0. For sufficiently small step size the work for one step is fixed
and small and our methods behave as explicit ones.
 For problems, requiring high accuracy, the considered methods show substantially better
performance than the standard second order Verlet method.
 The results for computing multiple independent trajectories with our methods using OpenMP
parallel technology show significant speedup up to ∼ 37, when we use the whole resource of
one computational CPU node in the HybriLIT education and testing polygon.</p>
    </sec>
    <sec id="sec-5">
      <title>Thanks and Acknowledgements</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Akishin</surname>
            ,
            <given-names>P. G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Puzynin</surname>
            ,
            <given-names>I. V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vinitsky</surname>
            ,
            <given-names>S. I.</given-names>
          </string-name>
          (
          <year>1997</year>
          ).
          <article-title>A hybrid numerical method for analysis of dynamics of the classical Hamiltonian systems</article-title>
          .
          <source>Computers and Mathematics with Applications</source>
          ,
          <volume>34</volume>
          (
          <issue>2-4</issue>
          ),
          <fpage>45</fpage>
          -
          <lpage>73</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Hairer</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lubich</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wanner</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          (
          <year>2006</year>
          ).
          <article-title>Geometric numerical integration: structure-preserving algorithms for ordinary differential equations</article-title>
          (Vol.
          <volume>31</volume>
          ). Springer Science and Business Media.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Hairer</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McLachlan</surname>
            ,
            <given-names>R. I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Razakarivony</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          (
          <year>2008</year>
          ).
          <article-title>Achieving Brouwer's law with implicit Runge-Kutta methods</article-title>
          .
          <source>BIT Numerical Mathematics</source>
          ,
          <volume>48</volume>
          (
          <issue>2</issue>
          ),
          <fpage>231</fpage>
          -
          <lpage>243</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Jorba</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zou</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          (
          <year>2005</year>
          ).
          <article-title>A software package for the numerical integration of ODEs by means of high-order Taylor methods Experimental Mathematics</article-title>
          ,
          <volume>14</volume>
          (
          <issue>1</issue>
          ),
          <fpage>99</fpage>
          -
          <lpage>117</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Multipurpose</given-names>
            <surname>Information</surname>
          </string-name>
          and
          <article-title>Computing Complex of the Laboratory of IT of JINR</article-title>
          . Available at: http://hlit.jinr.
          <source>ru (accessed 10.10</source>
          .
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Rodriguez</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Blesa</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barrio</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          (
          <year>2015</year>
          ).
          <article-title>OpenCL parallel integration of ODEs: Applications in computational dynamics</article-title>
          .
          <source>Computer Physics Communications</source>
          ,
          <volume>192</volume>
          ,
          <fpage>228</fpage>
          -
          <lpage>236</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Chapman</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jost</surname>
          </string-name>
          , G.,
          <string-name>
            <surname>Van Der Pas</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          (
          <year>2008</year>
          ).
          <article-title>Using OpenMP: portable shared memory parallel programming</article-title>
          (Vol.
          <volume>10</volume>
          ). MIT press.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>