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] );