Lyapunov Exponents

The Finite Time Lyapunov Spectrum (FTLS) for a 2D billiard system consists of a set of 4 numbers \lambda_i \, , \{ i = 1, ...,4 \} that characterize how fast the separation of initially close initial conditions grows.

It can be shown theoretically that two of these exponents must be zero (\lambda_2 =\lambda_3 = 0) and the other two are paired in such a way that they sum up to zero, i.e. \lambda_1 = -\lambda_4).

The function provided to calculate the FTLS is

# DynamicalBilliards.lyapunovspectrumFunction.

lyapunovspectrum([p::AbstractParticle,] bd::Billiard, t)

Returns the finite time lyapunov exponents (averaged over time t) for a given particle in a billiard table.

Returns zeros for pinned particles.

If a particle is not given, a random one is picked through randominside. See parallelize for a parallelized version.

source

Here its basic use is illustrated

using DynamicalBilliards

radius = 1.0
l = 2.0

bd = Billiard(billiard_polygon(6, l; setting = "periodic")..., Disk([0., 0.], radius))

par = randominside(bd)
t = 1000.0

exps = lyapunovspectrum(par, bd, t)
4-element Array{Float64,1}:
  0.6239620797249252
  0.00010557817132751463
 -0.0008288602693968505
 -0.6232387976268557

In the following example we compute the change of \lambda_1\ versus the distance between the disks in a hexagonal periodic billiard.

using DynamicalBilliards
using PyPlot

t = 5000.0
radius = 1.0

spaces = 2.0:0.1:4.4 #Distances between adjacent disks
lyap_time = zero(spaces) #Array where the exponents will be stored

for (i, space) in enumerate(spaces)
    bd = billiard_polygon(6, space/(sqrt(3)); setting = "periodic")
    disc = Disk([0., 0.], radius)
    billiard = Billiard(bd.obstacles..., disc)
    p = randominside(billiard)
    lyap_time[i] = lyapunovspectrum(p, billiard, t)[1]
end
figure()
plot(spaces, lyap_time, "*-")
xlabel("\$w\$"); ylabel("\$\\lambda_1\$")

The plot of the maximum exponent can be compared with the results reported by Gaspard et. al (see figure 7), showing that using just t = 5000.0 is already enough of a statistical averaging.