Do not sort exponents, and fix norm of flow
This commit is contained in:
parent
21e8dcdb8a
commit
50c09cf164
@ -125,12 +125,12 @@ int lyapunov(
|
||||
// size of flow (for reset)
|
||||
for(i=0;i<MATSIZE;i++){
|
||||
for(j=0;j<MATSIZE;j++){
|
||||
norm+=fabs(flow[i*MATSIZE+j]);
|
||||
if(norm>lyapunov_reset){
|
||||
norm+=flow[i*MATSIZE+j]*flow[i*MATSIZE+j]/MATSIZE;
|
||||
if(sqrt(norm)>lyapunov_reset){
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(norm>lyapunov_reset){
|
||||
if(sqrt(norm)>lyapunov_reset){
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -148,8 +148,8 @@ int lyapunov(
|
||||
lyapunov[i]=log(fabs(flow[i*MATSIZE+i]))/(time-prevtime);
|
||||
}
|
||||
|
||||
// sort lyapunov exponents
|
||||
qsort(lyapunov, MATSIZE, sizeof(double), compare_double);
|
||||
//// sort lyapunov exponents
|
||||
//qsort(lyapunov, MATSIZE, sizeof(double), compare_double);
|
||||
|
||||
// average lyapunov
|
||||
for(i=0; i<MATSIZE; i++){
|
||||
@ -164,11 +164,11 @@ int lyapunov(
|
||||
printf("% .15e % .15e % .15e\n",time, lyapunov[i], lyapunov_avg[i]);
|
||||
}
|
||||
printf("\n");
|
||||
fprintf(stderr,"% .15e",time);
|
||||
// print largest and smallest lyapunov exponent to stderr
|
||||
if(MATSIZE>0){
|
||||
fprintf(stderr," % .15e % .15e\n", lyapunov[0], lyapunov[MATSIZE-1]);
|
||||
}
|
||||
fprintf(stderr,"% .15e\n",time);
|
||||
//// print largest and smallest lyapunov exponent to stderr
|
||||
//if(MATSIZE>0){
|
||||
// fprintf(stderr," % .15e % .15e\n", lyapunov[0], lyapunov[MATSIZE-1]);
|
||||
//}
|
||||
|
||||
// set flow to Q:
|
||||
LAPACKE_dorgqr(LAPACK_COL_MAJOR, MATSIZE, MATSIZE, MATSIZE, flow, MATSIZE, tmp11);
|
||||
|
Loading…
x
Reference in New Issue
Block a user