AUTO の中身

($AUTO)/src/README

README : This file.
autlib1.f : Auto library routines (including main program)
autlib2.f : Auto library routines (bvp linear equation routines)
autlib3.f : Auto library routines (interface routines)
autlib4.f : Auto library routines (Floquet routines)
autlib5.f : Auto library routines (HomPack)
stdat.f : A subroutine for starting orbits from numerical data
eispack.f : contains EISPACK routines needed by AUTO
autlab.f : A utility program for rewriting AUTO data files
86to97.f : A utility program to convert AUTO86 Data-files
94to97.f : A utility program to convert older AUTO94 Data-files
double.f : A utility program for ``doubling'' solutions in q.xxx
Makefile : To compile the source files


($AUTO)/src/autlib4.c

#include "auto_f2c.h"
#include "auto_c.h"

/* ----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- */
/* Floquet Multiplier Computation (Tom Fairgrieve, U. of Toronto) */
/* ----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- */
/* References: */
/* T. F. Fairgrieve, PhD Thesis, University of Toronto, 1994. */
/* T. F. Fairgrieve, A. D. Jepson, O.K. Floquet multipliers, */
/* SIAM J. Numer. Anal. 28. No. 5, 1991, 1446-1462. */

/* Please inform Tom Fairgrieve (tff@na.utoronto.ca) of any */
/* modifications to or errors in these routines. */
/* Mailing Address: T.F. Fairgrieve, Department of Computer Science, */
/* University of Toronto, Toronto, Ontario, CANADA M5S 1A4C */
/* ----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- */
/* Routines included in this file: */

/* subroutine flowkm : new routine to compute floquet multipliers */
/* subroutine dhhpr : compute a Householder matrix */
/* subroutine dhhap : appy a Householder matrix */
/* ----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- */
/* Required library routines (included in the file eispack.f) : */

/* subroutine qzhes : QZ reduction to Hessenberg form (EISPACK)*/
/* subroutine qzit : QZ reduction to quasi-upper triangular form (EISPACK)*/
/* subroutine qzval : QZ calculation of eigenvalues (EISPACK)*/
/* function epslon : machine constant routine (EISPACK)*/
/* ----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- */
/* function dnrm2 : compute l2-norm of a vector (BLAS-1)*/
/* function ddot : dot product of two vectors (BLAS-1)*/
/* subroutine dscal : scale a vector by a constant (BLAS-1)*/
/* function idamax : find index of element with max abs value (BLAS-1)*/
/* subroutine daxpy : constant times a vector plus a vector (BLAS-1)*/
/* subroutine drot : apply a plane rotation (BLAS-1)*/
/* subroutine dswap : swap two vectors (BLAS-1)*/
/* ----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- */
/* subroutine dgemc : matrix-matrix copy */
/* subroutine xerbla : BLAS error handling routine (BLAS-2)*/
/* function lsame : compare character strings (BLAS-2)*/
/* ----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- */
/* subroutine dgemm : matrix-matrix multiply (BLAS-3)*/
/* ----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- */
/* subroutines ezsvd, ndrotg, ndsvd, prse, sig22, sigmin, sndrtg : */
/* Demmel-Kahan svd routines */
/* ----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- */


($AUTO)/include/auto_c.h
ほどんどの関数の定義.

...
doublereal dnrm2(integer n, doublereal *dx, integer *incx);
doublereal ddot(integer n, doublereal *dx, integer *incx, doublereal *dy, integer *incy);
...

($AUTO)/src/eispack.c
auto_c.h で定義された関数の一部の実装.

/* eispack.f -- translated by f2c (version 19970805).
You must link the resulting object file with the libraries:
-lf2c -lm (in that order)