AUTO の出力

fort.7 (=> b.hoge) :安定性の交代,分岐点の種類が見易い.
fort.8 (=> s.hoge):軌道の座標.
fort.9 (=> d.hoge):固有値,L2-norm, max(1) max(2), period

autlib1.c の,wrtbv8 内で出力


軌道の空間座標値は,ups[j][k] (0 <= j < ntst),(0 <= k < ncol) 内にある.

fort.8

4 30 4 6 2 1 201 3 412 50 4 50 ← *0
0.0000000000E+00 8.4126672680E-01 5.2580555883E+00 ← *1-A
...
9.9862932262E-01 8.3118721821E-01 5.1313960895E+00
9.9931466131E-01 8.3612426003E-01 5.1933992065E+00 ← *1-B
1.0000000000E+00 8.4126672680E-01 5.2580555883E+00 ← *2
1 10 ← *3
-4.6120475941E-03 1.5955207440E+00 ← *4-A
-1.5890722484E-01 -6.7386091320E-02
-1.5003073620E-01 4.9295602685E-02
-1.4041373599E-01 1.7584396443E-01
-1.3000897365E-01 3.1288396581E-01
-1.1877311309E-01 4.6098383219E-01
...

autlib1.c

wrtbv8(iap_type *iap, rap_type *rap, doublereal *par, integer *icp, doublereal *rldot, integer *ndxloc, doublereal **ups, doublereal **udotps, doublereal *tm, doublereal *dtm)
{
...
  fprintf(fp8,"%5ld",ibr); // *0 
  fprintf(fp8,"%5ld",mtot);
  fprintf(fp8,"%5ld",itp);
  fprintf(fp8,"%5ld",lab);
  fprintf(fp8,"%5ld",nfpr);
  fprintf(fp8,"%5ld",isw);
  fprintf(fp8,"%5ld",ntpl);
  fprintf(fp8,"%5ld",nar);
  fprintf(fp8,"%7ld",nrowpr);
  fprintf(fp8,"%5ld",ntst);
  fprintf(fp8,"%5ld",ncol);
  fprintf(fp8,"%5d\n",NPARX); // *0

for(j = 0; j < ntst; ++j){ //NTST(メッシュ区間数)in c.xxx 
  rn = 1. / ncol;
  for(i = 0; i < ncol; ++i){  //NCOL(区間内点数)in c.xxx
    k1 = i * ndim;
    k2 = (i + 1) * ndim;
    t = tm[j] + i * rn * dtm[j];
    fprintf(fp8,"    %19.10E",t);
    for(k = k1; k < k2; ++k){
      ...
      fprintf(fp8,"%19.10E",ups[j][k]);  // *1 (A-B)
    }
    fprintf(fp8, "\n");
  }
}
fprintf(fp8,"    %19.10E",tm[ntst]);  // *2 の 1つめ
for(i = 0; i < ndim; ++9){
  ...
   fprintf(fp8,"%19.10E",ups[ntst][i]); // *2 の2つめ以降
}
fprintf(fp8,"\n");
/* Write the free parameter indices: */
  for (i = 0; i < nfpr; ++i) {
    fprintf(fp8,"%5ld",icp[i]); // *3 
  }
  fprintf(fp8,"\n");  
    

/* Write the direction of the branch: */
  fprintf(fp8,"    ");
  for (i = 0; i < nfpr; ++i) {
    if((i>0)&&((i)%7==0)){
      fprintf(fp8,"\n    ");
    }
    fprintf(fp8,"%19.10E",rldot[i]);  // *4 A-
  }
  fprintf(fp8,"\n");