Poincaré-Birkhoff points


Author: GC

Date: July 3, 2016

Previous Periodic orbit on a torus

Next Geographical data visualization


The following discrete dynamical system was proposed by Hénon: \[ \begin{cases} x_{n+1} = x_n \cos a - (y_n-x_n^2)\sin a \\ y_{n+1} = x_n \sin a + (y_n-x_n^2)\cos a \end{cases}. \] With $a = \frac{2\pi}{5} + 0.07$, the phase portrait presents Poincaré-Birkhoff points.



Poincaré-Birkhoff points




Source code

#!/usr/bin/env python3

"""
Poincaré-Birkhoff points
"""

# scientific libraries
from matplotlib import pyplot as plt
from random import randint, random
import numpy as np

# parameters
a = 2*np.pi/5+0.07

# Poincaré-Birkhoff map

def map(X):
    x, y = X
    xnew = x*np.cos(a) - (y-x*x)*np.sin(a)
    ynew = x*np.sin(a) + (y-x*x)*np.cos(a)
    return [xnew, ynew]

X, Y = [], []

Y0 = np.arange(0.15, 0.69, 0.015)
for y0 in Y0:
    X0 = [y0, y0]
    for i in range(500):
        xnew, ynew = map(X0)
        X, Y = X + [xnew], Y + [ynew]
        X0 = [xnew, ynew]

# Figure
fig, ax = plt.subplots(figsize=(8,8))
ax.set_xlim(-1, 1)
ax.set_ylim(-1, 1)
ax.scatter(X, Y, color='cyan', s=0.05)
plt.show()


Previous Periodic orbit on a torus

Next Geographical data visualization