Name Last modified Size Description

Parent Directory 01-Oct-2003 14:24 - doc/ 28-Jul-2003 05:18 - lib/ 28-Jul-2003 05:18 - test/ 28-Jul-2003 05:18 - utils/ 28-Jul-2003 05:18 -

Instructions for the Installation and Use of EISPACK This note is intended to help a person install and test EISPACK. The instructions are designed for a person whose responsibility is the maintenance of a mathematical software library. We assume the reader has a working knowledge of the computer system and some experience with numerical cal- culations. The installation procedure involves reading a magnetic tape, creating a library from the Fortran source, then running and examining the output of the test programs. Tape Format EISPACK is distributed in the form of a magnetic tape which contains the Fortran source for EISPACK, the testing aids and the initial program comments. The tape contains 55 files. The usual format is 9 track EBCDIC or ASCII, unlabeled, 80 characters per logical record, 40 logical records per block, 1600 bpi. Tape Content There are two versions of each routine in EISPACK: real (single) and double precision. These versions are written in standard ANSI 1966 Fortran IV and are totally machine independent. The installer should not have to change any of the EISPACK programs. If a change is necessary please let us know what was changed. File 1 The information presented here on installing EISPACK File 2 Single Precision EISPACK 75 Subroutines File 3 Double Precision EISPACK 75 Subroutines File 4 A program to extract subroutines from a sequential file There is a collection of testing aids which should help in checking out EISPACK after it has been installed. Test Aids Files 5-18 Single precision testing routines Files 19-32 Double precision testing routines Files 33-52 Input data for the test aids In order to give the user some form of online documen- tation for EISPACK, we have prepared a file which contains initial program comments. These comments describe, in gen- eral terms, what the routines do and the meaning of the cal- ling sequence parameters. This is not intended to be a com- plete discussion of what the routines can do or how to use every facet of them. For this information see [1,2]. File 53 Initial Program Comments for the Single Precision Version File 54 Initial Program Comments for the Double Precision Version The last file on the tape, file 55, contains a Unix script for carrying out the testing on a Unix machine. Creating a Library For the creation of the library, first you must decide which precision version of the package you intend to install at your site. To install the single precision version you will need file 2. To install the double precision version you will need file 3. We suggest you compile and create a load module library from the appropriate file. To help in extracting individual EISPACK routines from the sequential file on the tape we have provided a program. This program, given a file containing many subroutines will produce many files each containing a single subroutine or function. The file name will be the same as the subprogram followed by ".f". This program that does this can be found in file 4. Testing After the library is created, the testing aids should be run. The testing aids are in files 5-32 on the tape and are organized as follows: File Name File Name (single precision) (double precision) 5 RG 19 RG 6 RS 20 RS 7 RSB 21 RSB 8 RSP 22 RSP 9 RST 23 RST 10 RT 24 RT 11 CG 25 CG 12 CH 26 CH 13 RGG 27 RGG 14 RSG 28 RSG 15 RSGAB 29 RSGAB 16 RSGBA 30 RSGBA 17 RL 31 RL 18 RBL 32 RBL Each test file contains a main program and several sub- routines which read in test matrices or compute a residual. The test programs require some input data to run. The input data can be found in files 33-52. File Name File for File for File for Input Data on Input Data on Input Data on Logical Unit 1 Logical Unit 2 Logical Unit 5 5 or 19 RG 33 none 34 6 or 20 RS 35 none 36 7 or 21 RSB 37 none 38 8 or 22 RSP 35 none 36 9 or 23 RST 51 none 52 10 or 24 RT 39 none 40 11 or 25 CG 41 none 42 12 or 26 CH 43 none 44 13 or 27 RGG 45 46 none 14 or 28 RSG 35 47 36 15 or 29 RSGAB 35 47 36 16 or 30 RSGBA 35 47 36 17 or 31 RL 48 none none 18 or 32 RBL 49 none 50 Small changes may be required in the test drivers, for example to change the the logical unit input or output or to include a program card. The test drivers require input data to be read. This test data is contained in files 33-52, and is described in more detail later. We have used the OPEN statement in Fortran 77 to associate the data file with the appropriate logical unit number. If you do not have a com- piler that supports Fortran 77, you must remove the OPEN statement and associate the input data files with the appropriate logical unit. The amount of time required to complete the test runs is small. Comments and Questions We hope that no difficulty will be encountered in installing EISPACK, but if a problem occurs we will try to help. We are especially interested in comments about the performance of the codes. These comments and questions can be directed to: Jack Dongarra Mathematics and Computer Science Division Argonne National Laboratory Argonne, Illinois 60439 Phone: (312) 972-7246 ARPA-NET: DONGARRA@ANL-MCS REFERENCES [1] B.T. Smith, J.M. Boyle, J.J. Dongarra, B.S. Garbow, Y. Ikebe, V.C. Klema and C.B. Moler, Matrix Eigensys- tem Routines - EISPACK Guide, Lecture Notes in Com- puter Science, Vol. 6, 2-nd Edition, Springer-Verlag, Berlin, 1976. [2] B.S. Garbow, J.M. Boyle, J.J. Dongarra and C.B. Moler, Matrix Eigensystem Routines - EISPACK Guide Extension, Lecture Notes in Computer Science, Vol. 51, Springer-Verlag, Berlin, 1977. EISPACK subroutines Subroutine Matrix form Capability BAKVEC sign-symmetric back transformation BALANC general scaling BALBAK general back scaling BANDR symmetric band reduction BANDV symmetric band some eigenvectors BISECT symmetric tridiagonal some eigenvalues BQR symmetric band some eigenvalues CBABK2 complex back scaling CBAL complex scaling CG complex general find eigenvalues/eigenvectors CH complex Hermitian find eigenvalues/eigenvectors CINVIT complex Hessenberg some eigenvectors COMBAK complex back transformation COMHES complex reduction COMLR complex Hessenberg all eigenvalues COMLR2 complex Hessenberg all eigenvalues and vectors COMQR complex Hessenberg all eigenvalues COMQR2 complex Hessenberg all eigenvalues and vectors CORTB complex back transformation CORTH complex reduction ELMBAK real back transformation ELMHES real reduction ELTRAN real reduction FIGI sign-symmetric reduction FIGI2 sign-symmetric reduction HQR real Hessenberg all eigenvalues HQR2 real Hessenberg all eigenvalues and vectors HTRIB3 Hermitian packed back transformation HTRIBK Hermitian back transformation HTRID3 Hermitian packed reduction HTRIDI Hermitian reduction IMTQL1 symmetric tridiagonal all eigenvalues IMTQL2 symmetric tridiagonal all eigenvalues and vectors IMTQLV symmetric tridiagonal all eigenvalues INVIT real Hessenberg some eigenvectors MINFIT real least squares ORTBAK real back transformation ORTHES real reduction ORTRAN real reduction QZHES generalized reduction QZIT generalized Hessenberg further reduction QZVAL generalized Hessenberg all eigenvalues QZVEC generalized Hessenberg all eigenvectors RATQR symmetric tridiagonal some eigenvalues REBAK symmetric generalized back transformation REBAKB symmetric generalized back transformation REDUC symmetric generalized reduction REDUC2 symmetric generalized reduction RG general find eigenvalues/eigenvectors RGG generalized find eigenvalues/eigenvectors RS symmetric find eigenvalues/eigenvectors RSB band symmetric find eigenvalues/eigenvectors RSG generalized symmetric find eigenvalues/eigenvectors RSGAB generalized symmetric find eigenvalues/eigenvectors RSGBA generalized symmetric find eigenvalues/eigenvectors RSM symmetric find eigenvalues/eigenvectors RSP packed symmetric find eigenvalues/eigenvectors RST tridiagonal symmetric find eigenvalues/eigenvectors RT sign-symmetric tridiagonal find eigenvalues/eigenvectors SVD real singular value decomposition TINVIT symmetric tridiagonal some eigenvectors TQL1 symmetric tridiagonal all eigenvalues TQL2 symmetric tridiagonal all eigenvalues and vectors TQLRAT symmetric tridiagonal all eigenvalues TRBAK1 symmetric back transformation TRBAK3 packed symmetric back transformation TRED1 symmetric reduction TRED2 symmetric reduction TRED3 packed symmetric reduction TRIDIB symmetric tridiagonal some eigenvalues TSTURM symmetric tridiagonal some eigenvalues and vectors