# Lyapunov Exponent
Quantifying (strange) attraction and chaos.
The Lyapunov spectrum can be defined for higher dimensional systems, but this page focusses on 2D maps.
# 1 Definitions
As defined in OU MS327:
# 1.1 2D Real Map
\[ x_{n+1} = f(x_n, y_n) ; y_{n+1} = g(x_n, y_n) \]
# 1.2 Jacobian Matrix
\[ J_n = \begin{pmatrix} \frac{\partial f}{\partial x_n} & \frac{\partial f}{\partial y_n} \\ \frac{\partial g}{\partial x_n} & \frac{\partial g}{\partial y_n} \end{pmatrix} \]
\[ J = \prod_1^n J_n \]
# 1.3 First Lyapunov Exponent
\[ h_1 = \lim_{n \to \infty} \frac{1}{n} \log \left| J u \right| \]
# 1.4 Second Lyapunov Exponent
\[ h_1 + h_2 = \lim_{n \to \infty} \frac{1}{n} \log \left| \det J \right | \]
# 2 Properties
Assuming the orbit is bounded and not asymptotically periodic:
- \(h_1 > 0\) means chaotic
- \(h_1 + h_2 < 0\) means attractor
- chaotic and attractor means strange attractor
# 2.1 Lyapunov Dimension
For strange attractors:
\[ \dim_L = 1 + \frac{h_1}{|h_2|} \]
Otherwise if \(h_1 < 0\), then \(\dim_L = 0\), and if \(h_1 + h_2 \ge 0\) then \(\dim_L = 2\).
# 3 Calculation
Using the Burning Ship as an example in the C programming language:
// initial coordinates
double a = ...;
double b = ...;
double x = 0;
double y = 0;
// generic unit vector
double t = 2 * M_PI * rand() / (double) RAND_MAX;
double u = cos(t);
double v = sin(t);
// Lyapunov exponent accumulators
double h1 = 0;
double h1h2 = 0;
int escaped = 0;
for (int n = 1; n < N; ++n)
{
// check orbit remains bounded
double x2 = x * x;
double y2 = y * y;
if (x2 + y2 > 4)
{
escaped = 1;
break;
}
// Burning Ship iteration
double xn = x2 - y2 + a;
double xy = 2 * x * y;
double yn = (xy >= 0 ? xy : -xy) + b;
// Burning Ship Jacobian matrix
double Jxx = 2 * xn;
double Jxy = -2 * yn;
double Jyx = 2 * (xy >= 0 ? yn : -yn);
double Jyy = 2 * (xy >= 0 ? xn : -xn);
// accumulate h1
double un = Jxx * u + Jxy * v;
double vn = Jyx * u + Jyy * v;
double l2 = un * un + vn * vn;
double l = sqrt(l2);
h1 += log(l);
u = un / l;
v = vn / l;
// accumulate h1+h2
double det = Jxx * Jyy - Jxy * Jyx;
h1h2 += log(det >= 0 ? det : -det);
x = xn;
y = yn;
}
// finish
if (escaped == 0)
{
h1 /= N;
h1h2 /= N;
...
}
# 4 No Strange Attractors
# 4.1 The Mandelbrot Set
The Mandelbrot set map is complex \(z \to z^2 + c\):
\[ x_{n+1} = x_n^2 - y_n^2 + a \] \[ y_{n+1} = 2 x_n y_n + b \]
\[ J = \begin{pmatrix} 2x & -2y \\ 2y & 2x \end{pmatrix} \]
\[ J \begin{pmatrix} u \\ v \end{pmatrix} = \begin{pmatrix} 2 x u - 2 y v \\ 2 y u + 2 x v \end{pmatrix} \]
\[\begin{align} |Ju|^2 &= (2 x u - 2 y v)^2 + (2 y u + 2 x v)^2 \\ &= 4x^2 u^2 + 4y^2 v^2 - 8 x y u v + 4 y^2 u^2 + 4 x^2 v^2 + 8 x y u v \\ &= 4 (x^2 + y^2) (u^2 + v^2) \\ &= 4 (x^2 + y^2) \end{align}\]
\[ |\det J| = 4 (x^2 + y^2) \]
\[ h_1 = \lim_{n \to \infty} \frac{1}{n} \frac{1}{2} \log (4 (x^2 + y^2)) \]
\[ h_1 + h_2 = \lim_{n \to \infty} \frac{1}{n} \log (4 (x^2 + y^2)) \]
That is, \( h_1 + h_2 = 2 h_1\), so they have the same sign.
But strange attractors require them to have opposite signs.
Therefore there are no strange attractors in the Mandelbrot set map.
# 4.2 Complex-Analytic
The Cauchy-Riemann equations mean the Jacobian has the form
\[ J = \begin{pmatrix} s & -t \\ t & s \end{pmatrix}\]
So \(|J (u \, v)^T|^2 = s^2 + t^2 = |\det J|\) and the same argument as above applies.
Therefore there are no strange attractors in 1D complex-analytic maps considered as 2D real maps.
# 4.3 The Burning Ship
Case \(xy \ge 0\), as Mandelbrot set:
\( |J u|^2 = 4 (x^2 + y^2)\)
\( \det J = 4 (x^2 + y^2)\)
Case \(xy < 0\):
\[ J = \begin{pmatrix} 2x & -2y \\ -2y & -2x \end{pmatrix} \]
\( |J u|^2 = 4 (x^2 + y^2) \)
\( \det J = -4 (x^2 + y^2) \)
In both cases, \(|J u|^2 = |\det J|\), and the same argument as the Mandelbrot set applies.
Therefore there are no strange attractors in the Burning Ship map, even though it is not complex-analytic.
# 5 References
- Handbook, MS327 Deterministic and Stochastic Dynamics, Third Edition, 2021, The Open University (United Kingdom).