Skip to content

Latest commit

 

History

History
69 lines (43 loc) · 1.69 KB

README.md

File metadata and controls

69 lines (43 loc) · 1.69 KB

Lyapunov Analysis

This library provides a set of calculations for numerically finding Lyapunov exponents and vectors of a given dynamical system.

Outputs

TBC

Maximal Lyapunov Exponent of System

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()

Backwards Lyapunov Vectors and Exponents

Usage/Examples

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:

Lorenz_system

With the following parameters and variables:

Lorenz_parms

License

MIT