Provided by: plotutils_2.6-10build1_amd64 bug

NAME

       ode - numerical solution of ordinary differential equations

SYNOPSIS

       ode [ options ] [ file ]

DESCRIPTION

       ode  is a tool that solves, by numerical integration, the initial value problem for a specified system of
       first-order ordinary differential equations.  Three distinct numerical integration schemes are available:
       Runge-Kutta-Fehlberg  (the default), Adams-Moulton, and Euler.  The Adams-Moulton and Runge-Kutta schemes
       are available with adaptive step size.

       The operation of ode is specified by a program, written in its input language.  The program is  simply  a
       list  of  expressions  for  the derivatives of the variables to be integrated, together with some control
       statements.  Some examples are given in the EXAMPLES section.

       ode reads the program from the specified file, or from standard input if  no  file  name  is  given.   If
       reading  from  standard  input,  ode will stop reading and exit when it sees a single period on a line by
       itself.

       At each time step, the values of variables specified in the program are written to standard output.  So a
       table  of  values  will  be produced, with each column showing the evolution of a variable.  If there are
       only two columns, the output can be piped to graph(1) or a similar plotting program.

OPTIONS

   Input Options
       -f file
       --input-file file
              Read input from file before reading from standard input.  This option makes it  possible  to  work
              interactively, after reading a program fragment that defines the system of differential equations.

   Output Options
       -p prec
       --precision prec
              When  printing  numerical results, use prec significant digits (the default is 6).  If this option
              is given, the print format will be scientific notation.

       -t
       --title
              Print a title line at the head of the output, naming the variables in each column.  If this option
              is given, the print format will be scientific notation.

   Integration Scheme Options
       The  following options specify the numerical integration scheme.  Only one of the three basic options -R,
       -A, -E may be specified.  The default is -R (Runge-Kutta-Fehlberg).

       -R [stepsize]
       --runge-kutta [stepsize]
              Use a fifth-order Runge-Kutta-Fehlberg algorithm, with an  adaptive  stepsize  unless  a  constant
              stepsize  is specified.  When a constant stepsize is specified and no error analysis is requested,
              then a classical fourth-order Runge-Kutta scheme is used.

       -A [stepsize]
       --adams-moulton [stepsize]
              Use a fourth-order Adams-Moulton predictor-corrector scheme, with an adaptive  stepsize  unless  a
              constant stepsize, stepsize, is specified.  The Runge-Kutta-Fehlberg algorithm is used to get past
              `bad' points (if any).

       -E [stepsize]
       --euler [stepsize]
              Use a `quick and dirty' Euler scheme, with a constant stepsize.  The default value of stepsize  is
              0.1.  Not recommended for serious applications.

              The error bound options -r and -e (see below) may not be used if -E is specified.

       -h hmin [hmax]
       --step-size-bound hmin [hmax]
              Use  a  lower bound hmin on the stepsize.  The numerical scheme will not let the stepsize go below
              hmin.  The default is to allow the stepsize to shrink to the  machine  limit,  i.e.,  the  minimum
              nonzero double-precision floating point number.

              The optional argument hmax, if included, specifies a maximum value for the stepsize.  It is useful
              in preventing the numerical routine from skipping quickly over an interesting region.

   Error Bound Options
       -r rmax [rmin]
       --relative-error-bound rmax [rmin]
              The -r option sets an upper bound on the relative single-step error.  If the -r  option  is  used,
              the  relative  single-step error in any dependent variable will never exceed rmax (the default for
              which is 10^-9).  If this should occur, the solution will be abandoned and an error  message  will
              be printed.  If the stepsize is not constant, the stepsize will be decreased `adaptively', so that
              the upper bound on the single-step error is not violated.  Thus, choosing a smaller upper bound on
              the  single-step  error  will  cause  smaller  stepsizes  to  be  chosen.   A lower bound rmin may
              optionally be specified, to suggest when the stepsize should be increased (the default for rmin is
              rmax/1000).

       -e emax [emin]
       --absolute-error-bound emax [emin]
              Similar to -r, but bounds the absolute rather than the relative single-step error.

       -s
       --suppress-error-bound
              Suppress  the  ceiling  on  single-step  error,  allowing  ode to continue even if this ceiling is
              exceeded.  This may result in large numerical errors.

   Informational Options
       --help Print a list of command-line options, and exit.

       --version
              Print the version number of ode and the plotting utilities package, and exit.

DIAGNOSTICS

       Mostly self-explanatory.  The biggest exception is `syntax error', meaning there is a grammatical  error.
       Language error messages are of the form

              ode: nnn: message...

       where  `nnn'  is the number of the input line containing the error.  If the -f option is used, the phrase
       "(file)" follows the `nnn' for errors encountered inside the file.  Subsequently, when ode begins reading
       the standard input, line numbers start over from 1.

       No effort is made to recover successfully from syntactic errors in the input.  However, there is a meager
       effort to resynchronize so more than one error can be found in one scan.

       Run-time errors elicit a message describing the problem, and the solution is abandoned.

EXAMPLES

       The program

              y' = y
              y = 1
              print t, y
              step 0, 1

       solves an initial value problem whose solution is y=e^t.  When ode runs this program, it will  write  two
       columns  of numbers to standard output.  Each line will show the value of the independent variable t, and
       the variable y, as t is stepped from 0 to 1.

       A more sophisticated example would be

              sine' = cosine
              cosine' = -sine
              sine = 0
              cosine = 1
              print t, sine
              step 0, 2*PI

       This program solves an initial value problem for a system of two  differential  equations.   The  initial
       value  problem  turns  out  to define the sine and cosine functions.  The program steps the system over a
       full period.

AUTHORS

       ode was written by Nicholas B. Tufillaro  (nbt@reed.edu),  and  slightly  enhanced  by  Robert  S.  Maier
       (rsm@math.arizona.edu) to merge it into the GNU plotting utilities.

SEE ALSO

       "The GNU Plotting Utilities Manual".

BUGS

       Email bug reports to bug-gnu-utils@gnu.org.