duffing_lyap.h

/*------------------------------------------------------------------------------------

ダフィング方程式のリアプノフスペクトラムの計算

calculating the Lyapunov spectrum of the Duffing equations


dx/dt = y

dy/dt = -x^3 - K * y + B * sin(z)

dz/dt = 1.0


duffing_lyap.h

------------------------------------------------------------------------------------*/



#include <stdio.h>

#include <stdlib.h>

#include <math.h>


#define ITERATION 10000000

#define SKIPS 100000

#define DELTA_T 0.001 /* step size of the fourth-order Runge-Kutta method */


// 初期値

// initial values

#define X0 1.0

#define Y0 1.1

#define Z0 1.2


// parameters

#define K 0.05

#define B 7.5


// 変数の数

// number of variables

#define DIM 3

/*------------------------------------------------------------------------*/

extern void solve_duffing_eqs_using_RK4( double v[DIM], double u[DIM][DIM] );

extern void duffing_eqs( double v[DIM], double dfu[DIM][DIM], double dvdt[DIM], double df_k[DIM][DIM] );

extern void gram_schmidt_orth( double u[DIM][DIM], double e[DIM][DIM] );

extern double calc_lyap_dim( double lambda[DIM] );

extern double log2( double x );

extern void quick_sort( int n, double x[DIM] );