Provided by: plotutils_2.6-3ubuntu1_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.