This library provides a set of calculations for numerically finding Lyapunov exponents and vectors of a given dynamical system.
TBC
Using the class LyapunovCalculations.
This class takes the DynamicalSystem as an input and produces an array of the maximal Lyapunov exponent over time:
import LyapunovCalculations from lyapunov_calcs
dyn_sys = DynamicalSystem()
maximal_exp_arr = LyapunovCalculation(dyn_sys).max_lyapunov_exp()The class DynamicalSystem is imported from the script system.py. This class takes the arguments variables, parameters, system equations.
For example, if we want to initialise the Lorenz system (this involves using Sympy):
import DynamicalSystem from system
from sympy import symbols
# Definition of symbols used in definiton
time = symbols('t')
x, y, z = symbols('x, y, z')
sigma, rho, beta = symbols('sigma rho beta')
# Collection of system definitions
variables = [x, y, z]
parameters = [sigma, rho, beta]
lorenz_equations = [
sigma * (y - x),
x * (rho - z) - y,
x * y - beta * z
]
# Initialise dynamical system
lorenz = DynamicalSystem(time, variables, parameters, lorenz_equations)
# Input user defined values of parameters (optional)
parms=[10., 28., 8/3]
lorenz.base_parameters(parms)Here the system is defined symbolically as:
With the following parameters and variables:

