Covariant Lyapunov Vectors

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.


In [1]:
%matplotlib inline

In [2]:
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 examples/clv.rs


In [3]:
! cargo run --release --example clv > clv.csv


    Finished release [optimized] target(s) in 0.0 secs
     Running `target/release/examples/clv`
exponents = [0.9056117985793435, -0.0007306233624250147, -14.572558554870295] shape=[3], strides=[1], layout=C | F (0x3)

Tangency of CLVs


In [4]:
df = np.arccos(pd.read_csv("clv.csv"))


/usr/lib/python3.6/site-packages/ipykernel/__main__.py:1: RuntimeWarning: invalid value encountered in arccos
  if __name__ == '__main__':

In [5]:
for col in df.columns:
    plt.figure()
    plt.title(col)
    df[col].hist(bins=100)
    plt.xlim(0, np.pi)
    plt.yscale("log")