
Calling Sequence


poincare(H, t=a..b, ics)
poincare(H, t=a..b, ics, options, 3)


Parameters


H



any algebraic expression representing the Hamiltonian

t=a..b



t represents the time and a..b is a numerical range

ics



set of initial conditions for the p's and q's

options



(optional) equations of the form keyword=value

3



(optional) obtain a 3D plot (3PS)





Description


•

The poincare command builds either fast but not so accurate, or slower, as accurate as desired, 2D or 3D projection plots of Poincare sections (see optional arguments below). Instead of analytically enforcing the Hamiltonian constraint, the value of the energy of each plotted point is checked against the corresponding H[0]. As a complement, another routine, DEtools,generate_ic, was programmed in order to speed up the preparation of initial conditions for the numerical experiments.

•

The returned plots can be manipulated using standard Maple facilities available on the icon tool bar, and using the DEtools,zoom command, also part of this package. These facilities usually permit a detailed visual distinction between the KAM surfaces and the layers of stochasticity for, say, typical weakly perturbed systems.

•

In addition to the returned plot, the following relevant information related to each solution curve is displayed on the screen during the calculation:


 the initial value of the Hamiltonian, p's, and q's for the curve


 the number of intersection points found in the given time interval (for 2D plots)


 the maximum percentile "energy deviation" of the intersection points

•

It is useful to know the number of intersection points, since this can indicate the appropriateness of the indicated time interval. Concerning the percentile energy deviation, it is calculated as follows:

$\frac{100\left({H}_{0}H\left(\mathrm{point}\right)\right)}{{H}_{0}}$

When ${H}_{0}=0$, only the maximum absolute deviation is displayed. Note that all numerical algorithms lead to values of H different from the initial ${H}_{0}$, especially in the case of optional fast plottings. Percentile deviations below 10^(8) are displayed as 0. Also, the deviation is calculated for each intersection point, but only the greatest value is displayed. This information gives an idea of the accuracy of the plot, and you can either reenter the instruction looking for a more accurate but slower plot, or use your own numerical integration algorithm (see below). In typical situations, the smooth curves can be recognized even with energy deviations of the order of $\frac{{H}_{0}}{10}$.

•

The first argument of poincare is the Hamiltonian. Some useful conventions were adopted to represent the p's and q's. All p's and q's must appear as pn or qn where n is a positive integer, as in p1, p2, and the time dependence need not be explicit, as in pn or qn instead of pn(t) or qn(t). The Hamiltonian is assumed to be time independent and the number of degrees of freedom is expected to be less than 10 (20dimensional phase space), but this restriction can easily be removed.

•

The solution curves are calculated within a given time interval specified in the second argument as $t=a..b$. When this time range leads to no intersection points, you can use the 3 option to see how far the intersection plane is from the trajectories, and reenter the instruction shifting the intersection plane using the shift option (see below).

•

The third argument, a set, may have any number of lists of initial conditions for the time, p's, and q's, corresponding or not to the same initial value of H; they can be generated by the user or by the generate_ic command. The initial conditions must be inside a set structure as in {[n1,n2,n3,...], [...],...}, where [n1,n2,n3,...] is a list of numbers representing the initial values for [t, p1,...pk, q1,...qk].

•

This function is part of the DEtools package, and so it can be used in the form poincare(..) only after executing the command with(DEtools). However, it can always be accessed through the long form of the command by using DEtools[poincare](..).

•

The optional equations, options, consist of the following.

'iterations'

'method'

'scene'

'shift'

'stepsize'



•

The optional arguments can be given alone or in conjunction and in any order.

•

iterations=positive integer


iterations is the number of iterations used in the integration scheme.


When requesting a plot, the numerical algorithm can be iterated as many times as desired by giving the extra argument, iterations = N. By default, iterations = 1.


method is a user procedure to be used as the integration method.


The default numerical algorithm used in the integration scheme is basically the fourth order RungeKutta of the DEtools package, but this can be changed by using the $\mathrm{method}=\mathrm{proc}$ option. Here, proc should be a numerical integration algorithm (see DEtools).


There are four options for scene:

scene=[xi,xj]

variables constituting the 2D plane of


the phase space where the 2PS is plotted

scene=[xi=a..b,xj=c..d]

variables constituting the 2D plane and


related ranges for the 2PS plot

scene=[xi,xj,xk]

2D plane for plotting the 2PS and a third


variable, xk, the crossvariable or the


third axis in 3PS

scene=[xi=a..b,xj=c..d,xk=e..f]

same as above but including ranges for


the 2PS/3PS plot




The default scene for the plots is the (p1,q1) plane, at q2=0 for the 2PS, or the (p1,q1,q2) 3D submanifold, for the plot of a 2PS embedded in a 3PS, when the 3 option is indicated. The intersection points constituting the 2PS are obtained by looking for the sign change of a third coordinate, denoted here by the cross variable, by default $\mathrm{q2}$. The default ranges for the display of a plot will include all the calculated intersection points in the case of 2D plots; or all calculated pieces of projections of solution curves plus the intersection 2D plane, in the case of 3D plots.


The 2D or 3D submanifolds or the cross variable can be changed by giving the extra argument $\mathrm{scene}=\left[\mathrm{x1}\,\mathrm{x2}\right]$ or $\mathrm{scene}=\left[\mathrm{x1}\,\mathrm{x2}\,\mathrm{x3}\right]$, with or without extra ranges (for displaying a plot of a particular region), as in scene=[x1=a..b,...]. The 2PS is then plotted over the plane formed by the first two variables appearing in the right hand side; and x3, when given, will be the cross variable, or the third axis when the 3 option is also given as an argument.


It is possible to indicate the time, t, as the third variable, in which case a convenient mouse manipulation of the 3D plot can display the projection of the curves over each (qi,qj) plane. This may be useful in studying the bounded/unbounded properties of a given potential. Furthermore, in the case of a system with three degrees of freedom, the use of the 3 option with $\mathrm{scene}=\left[\mathrm{q1}\,\mathrm{q2}\,\mathrm{q3}\right]$ will render the 3D plot of the physical trajectory. When ranges are indicated, it is still possible to zoom in or out the resulting plot, up to the default ranges mentioned above, by using the DEtools,zoom command.


shift is a positive/negative shift for the intersection plane in the plots of 2PS/3PS.


The intersection plane over which the 2PS is plotted can be shifted in a positive or negative direction, by indicating $\mathrm{shift}=s$ as an additional argument.

•

stepsize=positive number


stepsize is the size of the step used in the integration scheme.


By default, the step interval is (ba)/20, where a..b is the range for t. As the stepsize is decreased, the accuracy and the smoothness of the integral curves (as well as the time consumed in the calculations) will increase.



Examples


1. The Toda lattice
>

$\mathrm{with}\left(\mathrm{DEtools}\right)\:$

>

$H\u2254\frac{1\left({\mathrm{p1}}^{2}\+{\mathrm{p2}}^{2}\right)}{2}\+\frac{1\left({\ⅇ}^{2\mathrm{q2}\+2\sqrt{3}\mathrm{q1}}\+{\ⅇ}^{2\mathrm{q2}2\sqrt{3}\mathrm{q1}}\+{\ⅇ}^{4\mathrm{q2}}\right)}{24}\frac{1}{8}$

${H}{\u2254}\frac{{{\mathrm{p1}}}^{{2}}}{{2}}{+}\frac{{{\mathrm{p2}}}^{{2}}}{{2}}{+}\frac{{{\ⅇ}}^{{2}{}{\mathrm{q2}}{+}{2}{}\sqrt{{3}}{}{\mathrm{q1}}}}{{24}}{+}\frac{{{\ⅇ}}^{{2}{}{\mathrm{q2}}{}{2}{}\sqrt{{3}}{}{\mathrm{q1}}}}{{24}}{+}\frac{{{\ⅇ}}^{{}{4}{}{\mathrm{q2}}}}{{24}}{}\frac{{1}}{{8}}$
 (1) 
The commands to create the plots from the Plotting Guide using the above expression are:
Create a 2PS over the q2=0 plane with 86 intersection points lying on smooth curves.
>

$\mathrm{poincare}\left(H\,t\=150..150\,\left\{\left[0\,0.1\,1.4\,0.1\,0\right]\right\}\,\mathrm{stepsize}\=0.05\,\mathrm{iterations}\=5\right)$

Show the KAM surfaces of solution curves of regular motion. Interesting angles: theta=70, phi=130; Theta=90, Phi=180; and Theta=20, Phi=75.
>

$\mathrm{poincare}\left(H\,t\=100..100\,\left\{\left[0\,0.1\,1.4\,0.1\,0\right]\right\}\,\mathrm{stepsize}\=0.1\,\mathrm{iterations}\=4\,3\right)$

Other examples:
Create a 2PS over the q1=0 plane with 98 intersection points. The smoothness of the curves in both (p,q) planes is related to the integrability of the system.
>

$\mathrm{poincare}\left(H\,t\=100..100\,\left\{\left[0\,0.1\,1.4\,0.1\,0\right]\right\}\,\mathrm{stepsize}\=0.1\,\mathrm{iterations}\=3\,\mathrm{scene}\=\left[\mathrm{p2}\,\mathrm{q2}\right]\right)$

2. The HenonHeiles Hamiltonian
>

$H\u2254\frac{1\left({\mathrm{p1}}^{2}\+{\mathrm{p2}}^{2}\+{\mathrm{q1}}^{2}\+{\mathrm{q2}}^{2}\right)}{2}\+{\mathrm{q1}}^{2}\mathrm{q2}\frac{{\mathrm{q2}}^{3}}{3}$

${H}{\u2254}\frac{{1}}{{2}}{}{{\mathrm{p1}}}^{{2}}{+}\frac{{1}}{{2}}{}{{\mathrm{p2}}}^{{2}}{+}\frac{{1}}{{2}}{}{{\mathrm{q1}}}^{{2}}{+}\frac{{1}}{{2}}{}{{\mathrm{q2}}}^{{2}}{+}{{\mathrm{q1}}}^{{2}}{}{\mathrm{q2}}{}\frac{{1}}{{3}}{}{{\mathrm{q2}}}^{{3}}$
 (2) 
Generate the initial conditions for the numerical experiments by using generate_ic. (Here, we obtain six sets, related to each value of H_0 respectively, with three different initial conditions each.)
>

$\mathbf{for}\phantom{\rule[0.0ex]{0.5em}{0.0ex}}h\phantom{\rule[0.0ex]{0.5em}{0.0ex}}\mathbf{in}\phantom{\rule[0.0ex]{0.5em}{0.0ex}}\left[\frac{1}{24}\,\frac{1}{18}\,\frac{1}{12}\,\frac{1}{8}\,\frac{1}{7}\,\frac{1}{6}\right]\phantom{\rule[0.0ex]{0.5em}{0.0ex}}\mathbf{do}\phantom{\rule[0.0ex]{0.5em}{0.0ex}}{\mathrm{ics}}_{h}\u2254\mathrm{generate\_ic}\left(H\,\left\{t\=0\,\mathrm{p2}\=0.1\,\mathrm{q2}\=0.2..0.2\,\mathrm{q1}\=0.2..0.1\,\mathrm{energy}\=h\right\}\,3\right)\phantom{\rule[0.0ex]{0.5em}{0.0ex}}\mathbf{end\; do}\:$

Create the surfacesofsection with around 300 points, and with percentile Hdeviations around 10^(4). This displays the progressive disintegration of KAM surfaces.
>

$\mathbf{for}\phantom{\rule[0.0ex]{0.5em}{0.0ex}}h\phantom{\rule[0.0ex]{0.5em}{0.0ex}}\mathbf{in}\phantom{\rule[0.0ex]{0.5em}{0.0ex}}\left[\frac{1}{24}\,\frac{1}{18}\,\frac{1}{12}\,\frac{1}{8}\,\frac{1}{7}\,\frac{1}{6}\right]\phantom{\rule[0.0ex]{0.5em}{0.0ex}}\mathbf{do}\phantom{\rule[0.0ex]{0.5em}{0.0ex}}{\mathrm{F4}}_{h}\u2254\mathrm{poincare}\left(H\,t\=150..150\,{\mathrm{ics}}_{h}\,\mathrm{stepsize}\=0.1\,\mathrm{iterations}\=2\,\mathrm{scene}\=\left[\mathrm{p2}\=0.5..0.5\,\mathrm{q2}\=0.5..0.5\right]\right)\phantom{\rule[0.0ex]{0.5em}{0.0ex}}\mathbf{end\; do}\:$

>

$\mathrm{FF4}\u2254\mathrm{Array}\left(\left[\left[{\mathrm{F4}}_{\frac{1}{24}}\,{\mathrm{F4}}_{\frac{1}{18}}\,{\mathrm{F4}}_{\frac{1}{12}}\right]\,\left[{\mathrm{F4}}_{\frac{1}{8}}\,{\mathrm{F4}}_{\frac{1}{7}}\,{\mathrm{F4}}_{\frac{1}{6}}\right]\right]\right)\:$

>

${\mathrm{plots}}_{\mathrm{display}}\left(\mathrm{FF4}\right)$



