ndarray-odeint has calculator of Covariant Lyapunov Vector (CLV). The algorithm of CLV has introduced in Ginelli et al. PRL(2007) to analyze collective motions.
%matplotlib inline
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
A sample script for calculate CLV of Lorenz 63 model is placed at src/bin/clv.rs
! cargo run --release --bin clv > clv.csv
Finished release [optimized] target(s) in 0.0 secs Running `target/release/clv` exponents = [0.9055708184196481, -0.0007741520360882003, -14.572521136716762] shape=[3], strides=[1]
df = np.arccos(pd.read_csv("clv.csv"))
for col in df.columns:
plt.figure()
plt.title(col)
df[col].hist(bins=100)
plt.xlim(0, np.pi)
plt.yscale("log")