Annotation of 43BSDTahoe/new/help/src/f77/imsl_lib, revision 1.1.1.1

1.1       root        1: .TI F77/IMSL_LIB "Sep. 4, 1985"
                      2: IMSL Library of Mathematical and Statistical Procedures
                      3: 
                      4: The IMSL library, which includes over 500 Fortran callable subroutines,
                      5: is available for VAX UNIX.  There are both single and double precision
                      6: versions; check with your system administrator to see if your system
                      7: has the IMSL library and how to access it.  The rest of this write-up
                      8: assumes you have the double precision version, and it is
                      9: accessed as '-limsld'.
                     10: 
                     11: While IMSL includes mainly mathematical and statistical routines,
                     12: chapter U of the library includes utility routines for printing histograms,
                     13: for plotting functions, and for printing arrays.  To use the double
                     14: precision version, specify '-limsld' to f77:
                     15: 
                     16:        f77 prog.f -limsld
                     17: 
                     18: The IMSL manual includes an introduction, table of contents and
                     19: permuted index at the beginning of volume 1.  New users of IMSL should
                     20: read sections 5.2 through 5.6.1 (about 5 pages) of the introduction
                     21: before using the library.  If IMSL does not contain an appropriate
                     22: subroutine for what you are doing, see "help f77 libraries" for information
                     23: on other libraries.
                     24: 
                     25: Most of the library is written using double precision variables.  To
                     26: see if a specific routine expects single or double precision arguments,
                     27: look in the manual for the 'PRECISION/HARDWARE' information.  If it
                     28: specifies 'DOUBLE/H32' or 'SINGLE AND DOUBLE/H32' then floating point
                     29: arguments must be double precision, if it specifies 'SINGLE/H32' or
                     30: \&'SINGLE/ALL' then floating point arguments must be single precision.
                     31: 
                     32: The manual is written as if all the subroutines expect single precision
                     33: arguments.  Generally, for the double precision version of the library,
                     34: you will have to supply double precision arguments.  If you have
                     35: written your program in single precision, see "help f77 to_double" to
                     36: see what changes are needed to use double precision.
                     37: 
                     38: There are five common errors in using IMSL routines:
                     39: .IP "1."
                     40: Using single precision when double precision is required.
                     41: .IP "2."
                     42: Not checking the error flag.
                     43: Most routines have an error flag that
                     44: IMSL sets to an error value when something goes wrong; it is your
                     45: responsibility to check it.
                     46: .IP "3."
                     47: Omitting arguments.  IMSL routines often have many
                     48: arguments that are required even if you don't use the result.
                     49: .IP "4."
                     50: Not dimensioning arguments.  Especially make sure work areas are
                     51: appropriately dimensioned.
                     52: .IP "5."
                     53: Supplying incorrect 'row dimension' of matrices.  Many IMSL routines
                     54: have a calling sequence of the form:
                     55: 
                     56:        call sub( a, nr, nc, ia, ... )
                     57: 
                     58: where 'a' is a matrix, 'nr' is it's row order, 'nc' is it's column order,
                     59: and 'ia' is it's row dimension.  The orders 'nr' and 'nc' are the number
                     60: of rows and columns being used, while 'ia' is the row dimension of the
                     61: matrix exactly as specified in the dimension statement in the calling
                     62: program.  The row order and row dimension are often different and must
                     63: be specified correctly.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.