|
|
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.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.