LAPACK  3.4.0
LAPACK: Linear Algebra PACKage
alahd.f
Go to the documentation of this file.
00001 *> \brief \b ALAHD
00002 *
00003 *  =========== DOCUMENTATION ===========
00004 *
00005 * Online html documentation available at 
00006 *            http://www.netlib.org/lapack/explore-html/ 
00007 *
00008 *  Definition:
00009 *  ===========
00010 *
00011 *       SUBROUTINE ALAHD( IOUNIT, PATH )
00012 * 
00013 *       .. Scalar Arguments ..
00014 *       CHARACTER*3        PATH
00015 *       INTEGER            IOUNIT
00016 *       ..
00017 *  
00018 *
00019 *> \par Purpose:
00020 *  =============
00021 *>
00022 *> \verbatim
00023 *>
00024 *> ALAHD prints header information for the different test paths.
00025 *> \endverbatim
00026 *
00027 *  Arguments:
00028 *  ==========
00029 *
00030 *> \param[in] IOUNIT
00031 *> \verbatim
00032 *>          IOUNIT is INTEGER
00033 *>          The unit number to which the header information should be
00034 *>          printed.
00035 *> \endverbatim
00036 *>
00037 *> \param[in] PATH
00038 *> \verbatim
00039 *>          PATH is CHARACTER*3
00040 *>          The name of the path for which the header information is to
00041 *>          be printed.  Current paths are
00042 *>             _GE:  General matrices
00043 *>             _GB:  General band
00044 *>             _GT:  General Tridiagonal
00045 *>             _PO:  Symmetric or Hermitian positive definite
00046 *>             _PS:  Symmetric or Hermitian positive semi-definite
00047 *>             _PP:  Symmetric or Hermitian positive definite packed
00048 *>             _PB:  Symmetric or Hermitian positive definite band
00049 *>             _PT:  Symmetric or Hermitian positive definite tridiagonal
00050 *>             _SY:  Symmetric indefinite
00051 *>             _SP:  Symmetric indefinite packed
00052 *>             _HE:  (complex) Hermitian indefinite
00053 *>             _HP:  (complex) Hermitian indefinite packed
00054 *>             _TR:  Triangular
00055 *>             _TP:  Triangular packed
00056 *>             _TB:  Triangular band
00057 *>             _QR:  QR (general matrices)
00058 *>             _LQ:  LQ (general matrices)
00059 *>             _QL:  QL (general matrices)
00060 *>             _RQ:  RQ (general matrices)
00061 *>             _QP:  QR with column pivoting
00062 *>             _TZ:  Trapezoidal
00063 *>             _LS:  Least Squares driver routines
00064 *>             _LU:  LU variants
00065 *>             _CH:  Cholesky variants
00066 *>             _QS:  QR variants
00067 *>          The first character must be one of S, D, C, or Z (C or Z only
00068 *>          if complex).
00069 *> \endverbatim
00070 *
00071 *  Authors:
00072 *  ========
00073 *
00074 *> \author Univ. of Tennessee 
00075 *> \author Univ. of California Berkeley 
00076 *> \author Univ. of Colorado Denver 
00077 *> \author NAG Ltd. 
00078 *
00079 *> \date November 2011
00080 *
00081 *> \ingroup aux_lin
00082 *
00083 *  =====================================================================
00084       SUBROUTINE ALAHD( IOUNIT, PATH )
00085 *
00086 *  -- LAPACK test routine (version 3.4.0) --
00087 *  -- LAPACK is a software package provided by Univ. of Tennessee,    --
00088 *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
00089 *     November 2011
00090 *
00091 *     .. Scalar Arguments ..
00092       CHARACTER*3        PATH
00093       INTEGER            IOUNIT
00094 *     ..
00095 *
00096 *  =====================================================================
00097 *
00098 *     .. Local Scalars ..
00099       LOGICAL            CORZ, SORD
00100       CHARACTER          C1, C3
00101       CHARACTER*2        P2
00102       CHARACTER*4        EIGCNM
00103       CHARACTER*32       SUBNAM
00104       CHARACTER*9        SYM
00105 *     ..
00106 *     .. External Functions ..
00107       LOGICAL            LSAME, LSAMEN
00108       EXTERNAL           LSAME, LSAMEN
00109 *     ..
00110 *     .. Intrinsic Functions ..
00111       INTRINSIC          LEN_TRIM
00112 *     ..
00113 *     .. Executable Statements ..
00114 *
00115       IF( IOUNIT.LE.0 )
00116      $   RETURN
00117       C1 = PATH( 1: 1 )
00118       C3 = PATH( 3: 3 )
00119       P2 = PATH( 2: 3 )
00120       SORD = LSAME( C1, 'S' ) .OR. LSAME( C1, 'D' )
00121       CORZ = LSAME( C1, 'C' ) .OR. LSAME( C1, 'Z' )
00122       IF( .NOT.( SORD .OR. CORZ ) )
00123      $   RETURN
00124 *
00125       IF( LSAMEN( 2, P2, 'GE' ) ) THEN
00126 *
00127 *        GE: General dense
00128 *
00129          WRITE( IOUNIT, FMT = 9999 )PATH
00130          WRITE( IOUNIT, FMT = '( '' Matrix types:'' )' )
00131          WRITE( IOUNIT, FMT = 9979 )
00132          WRITE( IOUNIT, FMT = '( '' Test ratios:'' )' )
00133          WRITE( IOUNIT, FMT = 9962 )1
00134          WRITE( IOUNIT, FMT = 9961 )2
00135          WRITE( IOUNIT, FMT = 9960 )3
00136          WRITE( IOUNIT, FMT = 9959 )4
00137          WRITE( IOUNIT, FMT = 9958 )5
00138          WRITE( IOUNIT, FMT = 9957 )6
00139          WRITE( IOUNIT, FMT = 9956 )7
00140          WRITE( IOUNIT, FMT = 9955 )8
00141          WRITE( IOUNIT, FMT = '( '' Messages:'' )' )
00142 *
00143       ELSE IF( LSAMEN( 2, P2, 'GB' ) ) THEN
00144 *
00145 *        GB: General band
00146 *
00147          WRITE( IOUNIT, FMT = 9998 )PATH
00148          WRITE( IOUNIT, FMT = '( '' Matrix types:'' )' )
00149          WRITE( IOUNIT, FMT = 9978 )
00150          WRITE( IOUNIT, FMT = '( '' Test ratios:'' )' )
00151          WRITE( IOUNIT, FMT = 9962 )1
00152          WRITE( IOUNIT, FMT = 9960 )2
00153          WRITE( IOUNIT, FMT = 9959 )3
00154          WRITE( IOUNIT, FMT = 9958 )4
00155          WRITE( IOUNIT, FMT = 9957 )5
00156          WRITE( IOUNIT, FMT = 9956 )6
00157          WRITE( IOUNIT, FMT = 9955 )7
00158          WRITE( IOUNIT, FMT = '( '' Messages:'' )' )
00159 *
00160       ELSE IF( LSAMEN( 2, P2, 'GT' ) ) THEN
00161 *
00162 *        GT: General tridiagonal
00163 *
00164          WRITE( IOUNIT, FMT = 9997 )PATH
00165          WRITE( IOUNIT, FMT = 9977 )
00166          WRITE( IOUNIT, FMT = '( '' Test ratios:'' )' )
00167          WRITE( IOUNIT, FMT = 9962 )1
00168          WRITE( IOUNIT, FMT = 9960 )2
00169          WRITE( IOUNIT, FMT = 9959 )3
00170          WRITE( IOUNIT, FMT = 9958 )4
00171          WRITE( IOUNIT, FMT = 9957 )5
00172          WRITE( IOUNIT, FMT = 9956 )6
00173          WRITE( IOUNIT, FMT = 9955 )7
00174          WRITE( IOUNIT, FMT = '( '' Messages:'' )' )
00175 *
00176       ELSE IF( LSAMEN( 2, P2, 'PO' ) .OR. LSAMEN( 2, P2, 'PP' ) ) THEN
00177 *
00178 *        PO: Positive definite full
00179 *        PP: Positive definite packed
00180 *
00181          IF( SORD ) THEN
00182             SYM = 'Symmetric'
00183          ELSE
00184             SYM = 'Hermitian'
00185          END IF
00186          IF( LSAME( C3, 'O' ) ) THEN
00187             WRITE( IOUNIT, FMT = 9996 )PATH, SYM
00188          ELSE
00189             WRITE( IOUNIT, FMT = 9995 )PATH, SYM
00190          END IF
00191          WRITE( IOUNIT, FMT = '( '' Matrix types:'' )' )
00192          WRITE( IOUNIT, FMT = 9975 )PATH
00193          WRITE( IOUNIT, FMT = '( '' Test ratios:'' )' )
00194          WRITE( IOUNIT, FMT = 9954 )1
00195          WRITE( IOUNIT, FMT = 9961 )2
00196          WRITE( IOUNIT, FMT = 9960 )3
00197          WRITE( IOUNIT, FMT = 9959 )4
00198          WRITE( IOUNIT, FMT = 9958 )5
00199          WRITE( IOUNIT, FMT = 9957 )6
00200          WRITE( IOUNIT, FMT = 9956 )7
00201          WRITE( IOUNIT, FMT = 9955 )8
00202          WRITE( IOUNIT, FMT = '( '' Messages:'' )' )
00203 *
00204       ELSE IF( LSAMEN( 2, P2, 'PS' ) ) THEN
00205 *
00206 *        PS: Positive semi-definite full
00207 *
00208          IF( SORD ) THEN
00209             SYM = 'Symmetric'
00210          ELSE
00211             SYM = 'Hermitian'
00212          END IF
00213          IF( LSAME( C1, 'S' ) .OR. LSAME( C1, 'C' ) ) THEN
00214             EIGCNM = '1E04'
00215          ELSE
00216             EIGCNM = '1D12'
00217          END IF
00218          WRITE( IOUNIT, FMT = 9995 )PATH, SYM
00219          WRITE( IOUNIT, FMT = '( '' Matrix types:'' )' )
00220          WRITE( IOUNIT, FMT = 8973 )EIGCNM, EIGCNM, EIGCNM
00221          WRITE( IOUNIT, FMT = '( '' Difference:'' )' )
00222          WRITE( IOUNIT, FMT = 8972 )C1
00223          WRITE( IOUNIT, FMT = '( '' Test ratio:'' )' )
00224          WRITE( IOUNIT, FMT = 8950 )
00225          WRITE( IOUNIT, FMT = '( '' Messages:'' )' )
00226       ELSE IF( LSAMEN( 2, P2, 'PB' ) ) THEN
00227 *
00228 *        PB: Positive definite band
00229 *
00230          IF( SORD ) THEN
00231             WRITE( IOUNIT, FMT = 9994 )PATH, 'Symmetric'
00232          ELSE
00233             WRITE( IOUNIT, FMT = 9994 )PATH, 'Hermitian'
00234          END IF
00235          WRITE( IOUNIT, FMT = '( '' Matrix types:'' )' )
00236          WRITE( IOUNIT, FMT = 9973 )PATH
00237          WRITE( IOUNIT, FMT = '( '' Test ratios:'' )' )
00238          WRITE( IOUNIT, FMT = 9954 )1
00239          WRITE( IOUNIT, FMT = 9960 )2
00240          WRITE( IOUNIT, FMT = 9959 )3
00241          WRITE( IOUNIT, FMT = 9958 )4
00242          WRITE( IOUNIT, FMT = 9957 )5
00243          WRITE( IOUNIT, FMT = 9956 )6
00244          WRITE( IOUNIT, FMT = 9955 )7
00245          WRITE( IOUNIT, FMT = '( '' Messages:'' )' )
00246 *
00247       ELSE IF( LSAMEN( 2, P2, 'PT' ) ) THEN
00248 *
00249 *        PT: Positive definite tridiagonal
00250 *
00251          IF( SORD ) THEN
00252             WRITE( IOUNIT, FMT = 9993 )PATH, 'Symmetric'
00253          ELSE
00254             WRITE( IOUNIT, FMT = 9993 )PATH, 'Hermitian'
00255          END IF
00256          WRITE( IOUNIT, FMT = 9976 )
00257          WRITE( IOUNIT, FMT = '( '' Test ratios:'' )' )
00258          WRITE( IOUNIT, FMT = 9952 )1
00259          WRITE( IOUNIT, FMT = 9960 )2
00260          WRITE( IOUNIT, FMT = 9959 )3
00261          WRITE( IOUNIT, FMT = 9958 )4
00262          WRITE( IOUNIT, FMT = 9957 )5
00263          WRITE( IOUNIT, FMT = 9956 )6
00264          WRITE( IOUNIT, FMT = 9955 )7
00265          WRITE( IOUNIT, FMT = '( '' Messages:'' )' )
00266 *
00267       ELSE IF( LSAMEN( 2, P2, 'SY' )  ) THEN
00268 *
00269 *        SY: Symmetric indefinite full
00270 *
00271          IF( LSAME( C3, 'Y' ) ) THEN
00272             WRITE( IOUNIT, FMT = 9992 )PATH, 'Symmetric'
00273          ELSE
00274             WRITE( IOUNIT, FMT = 9991 )PATH, 'Symmetric'
00275          END IF
00276          WRITE( IOUNIT, FMT = '( '' Matrix types:'' )' )
00277          IF( SORD ) THEN
00278             WRITE( IOUNIT, FMT = 9972 )
00279          ELSE
00280             WRITE( IOUNIT, FMT = 9971 )
00281          END IF
00282          WRITE( IOUNIT, FMT = '( '' Test ratios:'' )' )
00283          WRITE( IOUNIT, FMT = 9953 )1
00284          WRITE( IOUNIT, FMT = 9961 )2
00285          WRITE( IOUNIT, FMT = 9960 )3
00286          WRITE( IOUNIT, FMT = 9960 )4
00287          WRITE( IOUNIT, FMT = 9959 )5
00288          WRITE( IOUNIT, FMT = 9958 )6
00289          WRITE( IOUNIT, FMT = 9956 )7
00290          WRITE( IOUNIT, FMT = 9957 )8
00291          WRITE( IOUNIT, FMT = 9955 )9
00292          WRITE( IOUNIT, FMT = '( '' Messages:'' )' )
00293 *
00294       ELSE IF( LSAMEN( 2, P2, 'SP' ) ) THEN
00295 *
00296 *        SP: Symmetric indefinite packed
00297 *
00298          IF( LSAME( C3, 'Y' ) ) THEN
00299             WRITE( IOUNIT, FMT = 9992 )PATH, 'Symmetric'
00300          ELSE
00301             WRITE( IOUNIT, FMT = 9991 )PATH, 'Symmetric'
00302          END IF
00303          WRITE( IOUNIT, FMT = '( '' Matrix types:'' )' )
00304          IF( SORD ) THEN
00305             WRITE( IOUNIT, FMT = 9972 )
00306          ELSE
00307             WRITE( IOUNIT, FMT = 9971 )
00308          END IF
00309          WRITE( IOUNIT, FMT = '( '' Test ratios:'' )' )
00310          WRITE( IOUNIT, FMT = 9953 )1
00311          WRITE( IOUNIT, FMT = 9961 )2
00312          WRITE( IOUNIT, FMT = 9960 )3
00313          WRITE( IOUNIT, FMT = 9959 )4
00314          WRITE( IOUNIT, FMT = 9958 )5
00315          WRITE( IOUNIT, FMT = 9956 )6
00316          WRITE( IOUNIT, FMT = 9957 )7
00317          WRITE( IOUNIT, FMT = 9955 )8
00318          WRITE( IOUNIT, FMT = '( '' Messages:'' )' )
00319 *
00320       ELSE IF( LSAMEN( 2, P2, 'HE' )  ) THEN
00321 *
00322 *        HE: Hermitian indefinite full
00323 *
00324          IF( LSAME( C3, 'E' ) ) THEN
00325             WRITE( IOUNIT, FMT = 9992 )PATH, 'Hermitian'
00326          ELSE
00327             WRITE( IOUNIT, FMT = 9991 )PATH, 'Hermitian'
00328          END IF
00329          WRITE( IOUNIT, FMT = '( '' Matrix types:'' )' )
00330          IF( SORD ) THEN
00331             WRITE( IOUNIT, FMT = 9972 )
00332          ELSE
00333             WRITE( IOUNIT, FMT = 9971 )
00334          END IF
00335          WRITE( IOUNIT, FMT = '( '' Test ratios:'' )' )
00336          WRITE( IOUNIT, FMT = 9953 )1
00337          WRITE( IOUNIT, FMT = 9961 )2
00338          WRITE( IOUNIT, FMT = 9960 )3
00339          WRITE( IOUNIT, FMT = 9960 )4
00340          WRITE( IOUNIT, FMT = 9959 )5
00341          WRITE( IOUNIT, FMT = 9958 )6
00342          WRITE( IOUNIT, FMT = 9956 )7
00343          WRITE( IOUNIT, FMT = 9957 )8
00344          WRITE( IOUNIT, FMT = 9955 )9
00345          WRITE( IOUNIT, FMT = '( '' Messages:'' )' )
00346 *
00347       ELSE IF( LSAMEN( 2, P2, 'HP' ) ) THEN
00348 *
00349 *        HP: Hermitian indefinite packed
00350 *
00351          IF( LSAME( C3, 'E' ) ) THEN
00352             WRITE( IOUNIT, FMT = 9992 )PATH, 'Hermitian'
00353          ELSE
00354             WRITE( IOUNIT, FMT = 9991 )PATH, 'Hermitian'
00355          END IF
00356          WRITE( IOUNIT, FMT = '( '' Matrix types:'' )' )
00357          WRITE( IOUNIT, FMT = 9972 )
00358          WRITE( IOUNIT, FMT = '( '' Test ratios:'' )' )
00359          WRITE( IOUNIT, FMT = 9953 )1
00360          WRITE( IOUNIT, FMT = 9961 )2
00361          WRITE( IOUNIT, FMT = 9960 )3
00362          WRITE( IOUNIT, FMT = 9959 )4
00363          WRITE( IOUNIT, FMT = 9958 )5
00364          WRITE( IOUNIT, FMT = 9956 )6
00365          WRITE( IOUNIT, FMT = 9957 )7
00366          WRITE( IOUNIT, FMT = 9955 )8
00367          WRITE( IOUNIT, FMT = '( '' Messages:'' )' )
00368 *
00369       ELSE IF( LSAMEN( 2, P2, 'TR' ) .OR. LSAMEN( 2, P2, 'TP' ) ) THEN
00370 *
00371 *        TR: Triangular full
00372 *        TP: Triangular packed
00373 *
00374          IF( LSAME( C3, 'R' ) ) THEN
00375             WRITE( IOUNIT, FMT = 9990 )PATH
00376             SUBNAM = PATH( 1: 1 ) // 'LATRS'
00377          ELSE
00378             WRITE( IOUNIT, FMT = 9989 )PATH
00379             SUBNAM = PATH( 1: 1 ) // 'LATPS'
00380          END IF
00381          WRITE( IOUNIT, FMT = 9966 )PATH
00382          WRITE( IOUNIT, FMT = 9965 )SUBNAM(1:LEN_TRIM( SUBNAM ))
00383          WRITE( IOUNIT, FMT = '( '' Test ratios:'' )' )
00384          WRITE( IOUNIT, FMT = 9961 )1
00385          WRITE( IOUNIT, FMT = 9960 )2
00386          WRITE( IOUNIT, FMT = 9959 )3
00387          WRITE( IOUNIT, FMT = 9958 )4
00388          WRITE( IOUNIT, FMT = 9957 )5
00389          WRITE( IOUNIT, FMT = 9956 )6
00390          WRITE( IOUNIT, FMT = 9955 )7
00391          WRITE( IOUNIT, FMT = 9951 )SUBNAM(1:LEN_TRIM( SUBNAM )), 8
00392          WRITE( IOUNIT, FMT = '( '' Messages:'' )' )
00393 *
00394       ELSE IF( LSAMEN( 2, P2, 'TB' ) ) THEN
00395 *
00396 *        TB: Triangular band
00397 *
00398          WRITE( IOUNIT, FMT = 9988 )PATH
00399          SUBNAM = PATH( 1: 1 ) // 'LATBS'
00400          WRITE( IOUNIT, FMT = 9964 )PATH
00401          WRITE( IOUNIT, FMT = 9963 )SUBNAM(1:LEN_TRIM( SUBNAM ))
00402          WRITE( IOUNIT, FMT = '( '' Test ratios:'' )' )
00403          WRITE( IOUNIT, FMT = 9960 )1
00404          WRITE( IOUNIT, FMT = 9959 )2
00405          WRITE( IOUNIT, FMT = 9958 )3
00406          WRITE( IOUNIT, FMT = 9957 )4
00407          WRITE( IOUNIT, FMT = 9956 )5
00408          WRITE( IOUNIT, FMT = 9955 )6
00409          WRITE( IOUNIT, FMT = 9951 )SUBNAM(1:LEN_TRIM( SUBNAM )), 7
00410          WRITE( IOUNIT, FMT = '( '' Messages:'' )' )
00411 *
00412       ELSE IF( LSAMEN( 2, P2, 'QR' ) ) THEN
00413 *
00414 *        QR decomposition of rectangular matrices
00415 *
00416          WRITE( IOUNIT, FMT = 9987 )PATH, 'QR'
00417          WRITE( IOUNIT, FMT = '( '' Matrix types:'' )' )
00418          WRITE( IOUNIT, FMT = 9970 )
00419          WRITE( IOUNIT, FMT = '( '' Test ratios:'' )' )
00420          WRITE( IOUNIT, FMT = 9950 )1
00421          WRITE( IOUNIT, FMT = 6950 )8
00422          WRITE( IOUNIT, FMT = 9946 )2
00423          WRITE( IOUNIT, FMT = 9944 )3, 'M'
00424          WRITE( IOUNIT, FMT = 9943 )4, 'M'
00425          WRITE( IOUNIT, FMT = 9942 )5, 'M'
00426          WRITE( IOUNIT, FMT = 9941 )6, 'M'
00427          WRITE( IOUNIT, FMT = 9960 )7
00428          WRITE( IOUNIT, FMT = 6660 )9
00429          WRITE( IOUNIT, FMT = '( '' Messages:'' )' )
00430 *
00431       ELSE IF( LSAMEN( 2, P2, 'LQ' ) ) THEN
00432 *
00433 *        LQ decomposition of rectangular matrices
00434 *
00435          WRITE( IOUNIT, FMT = 9987 )PATH, 'LQ'
00436          WRITE( IOUNIT, FMT = '( '' Matrix types:'' )' )
00437          WRITE( IOUNIT, FMT = 9970 )
00438          WRITE( IOUNIT, FMT = '( '' Test ratios:'' )' )
00439          WRITE( IOUNIT, FMT = 9949 )1
00440          WRITE( IOUNIT, FMT = 9945 )2
00441          WRITE( IOUNIT, FMT = 9944 )3, 'N'
00442          WRITE( IOUNIT, FMT = 9943 )4, 'N'
00443          WRITE( IOUNIT, FMT = 9942 )5, 'N'
00444          WRITE( IOUNIT, FMT = 9941 )6, 'N'
00445          WRITE( IOUNIT, FMT = 9960 )7
00446          WRITE( IOUNIT, FMT = '( '' Messages:'' )' )
00447 *
00448       ELSE IF( LSAMEN( 2, P2, 'QL' ) ) THEN
00449 *
00450 *        QL decomposition of rectangular matrices
00451 *
00452          WRITE( IOUNIT, FMT = 9987 )PATH, 'QL'
00453          WRITE( IOUNIT, FMT = '( '' Matrix types:'' )' )
00454          WRITE( IOUNIT, FMT = 9970 )
00455          WRITE( IOUNIT, FMT = '( '' Test ratios:'' )' )
00456          WRITE( IOUNIT, FMT = 9948 )1
00457          WRITE( IOUNIT, FMT = 9946 )2
00458          WRITE( IOUNIT, FMT = 9944 )3, 'M'
00459          WRITE( IOUNIT, FMT = 9943 )4, 'M'
00460          WRITE( IOUNIT, FMT = 9942 )5, 'M'
00461          WRITE( IOUNIT, FMT = 9941 )6, 'M'
00462          WRITE( IOUNIT, FMT = 9960 )7
00463          WRITE( IOUNIT, FMT = '( '' Messages:'' )' )
00464 *
00465       ELSE IF( LSAMEN( 2, P2, 'RQ' ) ) THEN
00466 *
00467 *        RQ decomposition of rectangular matrices
00468 *
00469          WRITE( IOUNIT, FMT = 9987 )PATH, 'RQ'
00470          WRITE( IOUNIT, FMT = '( '' Matrix types:'' )' )
00471          WRITE( IOUNIT, FMT = 9970 )
00472          WRITE( IOUNIT, FMT = '( '' Test ratios:'' )' )
00473          WRITE( IOUNIT, FMT = 9947 )1
00474          WRITE( IOUNIT, FMT = 9945 )2
00475          WRITE( IOUNIT, FMT = 9944 )3, 'N'
00476          WRITE( IOUNIT, FMT = 9943 )4, 'N'
00477          WRITE( IOUNIT, FMT = 9942 )5, 'N'
00478          WRITE( IOUNIT, FMT = 9941 )6, 'N'
00479          WRITE( IOUNIT, FMT = 9960 )7
00480          WRITE( IOUNIT, FMT = '( '' Messages:'' )' )
00481 *
00482       ELSE IF( LSAMEN( 2, P2, 'QP' ) ) THEN
00483 *
00484 *        QR decomposition with column pivoting
00485 *
00486          WRITE( IOUNIT, FMT = 9986 )PATH
00487          WRITE( IOUNIT, FMT = 9969 )
00488          WRITE( IOUNIT, FMT = '( '' Test ratios:'' )' )
00489          WRITE( IOUNIT, FMT = 9940 )1
00490          WRITE( IOUNIT, FMT = 9939 )2
00491          WRITE( IOUNIT, FMT = 9938 )3
00492          WRITE( IOUNIT, FMT = '( '' Messages:'' )' )
00493 *
00494       ELSE IF( LSAMEN( 2, P2, 'TZ' ) ) THEN
00495 *
00496 *        TZ:  Trapezoidal
00497 *
00498          WRITE( IOUNIT, FMT = 9985 )PATH
00499          WRITE( IOUNIT, FMT = 9968 )
00500          WRITE( IOUNIT, FMT = 9929 )C1, C1
00501          WRITE( IOUNIT, FMT = '( '' Test ratios:'' )' )
00502          WRITE( IOUNIT, FMT = 9940 )1
00503          WRITE( IOUNIT, FMT = 9937 )2
00504          WRITE( IOUNIT, FMT = 9938 )3
00505          WRITE( IOUNIT, FMT = 9940 )4
00506          WRITE( IOUNIT, FMT = 9937 )5
00507          WRITE( IOUNIT, FMT = 9938 )6
00508          WRITE( IOUNIT, FMT = '( '' Messages:'' )' )
00509 *
00510       ELSE IF( LSAMEN( 2, P2, 'LS' ) ) THEN
00511 *
00512 *        LS:  Least Squares driver routines for
00513 *             LS, LSD, LSS, LSX and LSY.
00514 *
00515          WRITE( IOUNIT, FMT = 9984 )PATH
00516          WRITE( IOUNIT, FMT = 9967 )
00517          WRITE( IOUNIT, FMT = 9921 )C1, C1, C1, C1, C1
00518          WRITE( IOUNIT, FMT = 9935 )1
00519          WRITE( IOUNIT, FMT = 9931 )2
00520          WRITE( IOUNIT, FMT = 9933 )3
00521          WRITE( IOUNIT, FMT = 9935 )4
00522          WRITE( IOUNIT, FMT = 9934 )5
00523          WRITE( IOUNIT, FMT = 9932 )6
00524          WRITE( IOUNIT, FMT = 9920 )
00525          WRITE( IOUNIT, FMT = '( '' Messages:'' )' )
00526 *
00527       ELSE IF( LSAMEN( 2, P2, 'LU' ) ) THEN
00528 *
00529 *        LU factorization variants
00530 *
00531          WRITE( IOUNIT, FMT = 9983 )PATH
00532          WRITE( IOUNIT, FMT = '( '' Matrix types:'' )' )
00533          WRITE( IOUNIT, FMT = 9979 )
00534          WRITE( IOUNIT, FMT = '( '' Test ratio:'' )' )
00535          WRITE( IOUNIT, FMT = 9962 )1
00536          WRITE( IOUNIT, FMT = '( '' Messages:'' )' )
00537 *
00538       ELSE IF( LSAMEN( 2, P2, 'CH' ) ) THEN
00539 *
00540 *        Cholesky factorization variants
00541 *
00542          WRITE( IOUNIT, FMT = 9982 )PATH
00543          WRITE( IOUNIT, FMT = '( '' Matrix types:'' )' )
00544          WRITE( IOUNIT, FMT = 9974 )
00545          WRITE( IOUNIT, FMT = '( '' Test ratio:'' )' )
00546          WRITE( IOUNIT, FMT = 9954 )1
00547          WRITE( IOUNIT, FMT = '( '' Messages:'' )' )
00548 *
00549       ELSE IF( LSAMEN( 2, P2, 'QS' ) ) THEN
00550 *
00551 *        QR factorization variants
00552 *
00553          WRITE( IOUNIT, FMT = 9981 )PATH
00554          WRITE( IOUNIT, FMT = '( '' Matrix types:'' )' )
00555          WRITE( IOUNIT, FMT = 9970 )
00556          WRITE( IOUNIT, FMT = '( '' Test ratios:'' )' )
00557 *
00558       ELSE
00559 *
00560 *        Print error message if no header is available.
00561 *
00562          WRITE( IOUNIT, FMT = 9980 )PATH
00563       END IF
00564 *
00565 *     First line of header
00566 *
00567  9999 FORMAT( / 1X, A3, ':  General dense matrices' )
00568  9998 FORMAT( / 1X, A3, ':  General band matrices' )
00569  9997 FORMAT( / 1X, A3, ':  General tridiagonal' )
00570  9996 FORMAT( / 1X, A3, ':  ', A9, ' positive definite matrices' )
00571  9995 FORMAT( / 1X, A3, ':  ', A9, ' positive definite packed matrices'
00572      $       )
00573  9994 FORMAT( / 1X, A3, ':  ', A9, ' positive definite band matrices' )
00574  9993 FORMAT( / 1X, A3, ':  ', A9, ' positive definite tridiagonal' )
00575  9992 FORMAT( / 1X, A3, ':  ', A9, ' indefinite matrices' )
00576  9991 FORMAT( / 1X, A3, ':  ', A9, ' indefinite packed matrices' )
00577  9990 FORMAT( / 1X, A3, ':  Triangular matrices' )
00578  9989 FORMAT( / 1X, A3, ':  Triangular packed matrices' )
00579  9988 FORMAT( / 1X, A3, ':  Triangular band matrices' )
00580  9987 FORMAT( / 1X, A3, ':  ', A2, ' factorization of general matrices'
00581      $       )
00582  9986 FORMAT( / 1X, A3, ':  QR factorization with column pivoting' )
00583  9985 FORMAT( / 1X, A3, ':  RQ factorization of trapezoidal matrix' )
00584  9984 FORMAT( / 1X, A3, ':  Least squares driver routines' )
00585  9983 FORMAT( / 1X, A3, ':  LU factorization variants' )
00586  9982 FORMAT( / 1X, A3, ':  Cholesky factorization variants' )
00587  9981 FORMAT( / 1X, A3, ':  QR factorization variants' )
00588  9980 FORMAT( / 1X, A3, ':  No header available' )
00589 *
00590 *     GE matrix types
00591 *
00592  9979 FORMAT( 4X, '1. Diagonal', 24X, '7. Last n/2 columns zero', / 4X,
00593      $      '2. Upper triangular', 16X,
00594      $      '8. Random, CNDNUM = sqrt(0.1/EPS)', / 4X,
00595      $      '3. Lower triangular', 16X, '9. Random, CNDNUM = 0.1/EPS',
00596      $      / 4X, '4. Random, CNDNUM = 2', 13X,
00597      $      '10. Scaled near underflow', / 4X, '5. First column zero',
00598      $      14X, '11. Scaled near overflow', / 4X,
00599      $      '6. Last column zero' )
00600 *
00601 *     GB matrix types
00602 *
00603  9978 FORMAT( 4X, '1. Random, CNDNUM = 2', 14X,
00604      $      '5. Random, CNDNUM = sqrt(0.1/EPS)', / 4X,
00605      $      '2. First column zero', 15X, '6. Random, CNDNUM = .01/EPS',
00606      $      / 4X, '3. Last column zero', 16X,
00607      $      '7. Scaled near underflow', / 4X,
00608      $      '4. Last n/2 columns zero', 11X, '8. Scaled near overflow' )
00609 *
00610 *     GT matrix types
00611 *
00612  9977 FORMAT( ' Matrix types (1-6 have specified condition numbers):',
00613      $      / 4X, '1. Diagonal', 24X, '7. Random, unspecified CNDNUM',
00614      $      / 4X, '2. Random, CNDNUM = 2', 14X, '8. First column zero',
00615      $      / 4X, '3. Random, CNDNUM = sqrt(0.1/EPS)', 2X,
00616      $      '9. Last column zero', / 4X, '4. Random, CNDNUM = 0.1/EPS',
00617      $      7X, '10. Last n/2 columns zero', / 4X,
00618      $      '5. Scaled near underflow', 10X,
00619      $      '11. Scaled near underflow', / 4X,
00620      $      '6. Scaled near overflow', 11X, '12. Scaled near overflow' )
00621 *
00622 *     PT matrix types
00623 *
00624  9976 FORMAT( ' Matrix types (1-6 have specified condition numbers):',
00625      $      / 4X, '1. Diagonal', 24X, '7. Random, unspecified CNDNUM',
00626      $      / 4X, '2. Random, CNDNUM = 2', 14X,
00627      $      '8. First row and column zero', / 4X,
00628      $      '3. Random, CNDNUM = sqrt(0.1/EPS)', 2X,
00629      $      '9. Last row and column zero', / 4X,
00630      $      '4. Random, CNDNUM = 0.1/EPS', 7X,
00631      $      '10. Middle row and column zero', / 4X,
00632      $      '5. Scaled near underflow', 10X,
00633      $      '11. Scaled near underflow', / 4X,
00634      $      '6. Scaled near overflow', 11X, '12. Scaled near overflow' )
00635 *
00636 *     PO, PP matrix types
00637 *
00638  9975 FORMAT( 4X, '1. Diagonal', 24X,
00639      $      '6. Random, CNDNUM = sqrt(0.1/EPS)', / 4X,
00640      $      '2. Random, CNDNUM = 2', 14X, '7. Random, CNDNUM = 0.1/EPS',
00641      $      / 3X, '*3. First row and column zero', 7X,
00642      $      '8. Scaled near underflow', / 3X,
00643      $      '*4. Last row and column zero', 8X,
00644      $      '9. Scaled near overflow', / 3X,
00645      $      '*5. Middle row and column zero', / 3X,
00646      $      '(* - tests error exits from ', A3,
00647      $      'TRF, no test ratios are computed)' )
00648 *
00649 *     CH matrix types
00650 *
00651  9974 FORMAT( 4X, '1. Diagonal', 24X,
00652      $      '6. Random, CNDNUM = sqrt(0.1/EPS)', / 4X,
00653      $      '2. Random, CNDNUM = 2', 14X, '7. Random, CNDNUM = 0.1/EPS',
00654      $      / 3X, '*3. First row and column zero', 7X,
00655      $      '8. Scaled near underflow', / 3X,
00656      $      '*4. Last row and column zero', 8X,
00657      $      '9. Scaled near overflow', / 3X,
00658      $      '*5. Middle row and column zero', / 3X,
00659      $      '(* - tests error exits, no test ratios are computed)' )
00660 *
00661 *     PS matrix types
00662 *
00663  8973 FORMAT( 4X, '1. Diagonal', / 4X, '2. Random, CNDNUM = 2', 14X,
00664      $      / 3X, '*3. Nonzero eigenvalues of: D(1:RANK-1)=1 and ',
00665      $      'D(RANK) = 1.0/', A4, / 3X,
00666      $      '*4. Nonzero eigenvalues of: D(1)=1 and ',
00667      $      ' D(2:RANK) = 1.0/', A4, / 3X,
00668      $      '*5. Nonzero eigenvalues of: D(I) = ', A4,
00669      $      '**(-(I-1)/(RANK-1)) ', ' I=1:RANK', / 4X,
00670      $      '6. Random, CNDNUM = sqrt(0.1/EPS)', / 4X,
00671      $      '7. Random, CNDNUM = 0.1/EPS', / 4X,
00672      $      '8. Scaled near underflow', / 4X, '9. Scaled near overflow',
00673      $      / 3X, '(* - Semi-definite tests )' )
00674  8972 FORMAT( 3X, 'RANK minus computed rank, returned by ', A, 'PSTRF' )
00675 *
00676 *     PB matrix types
00677 *
00678  9973 FORMAT( 4X, '1. Random, CNDNUM = 2', 14X,
00679      $      '5. Random, CNDNUM = sqrt(0.1/EPS)', / 3X,
00680      $      '*2. First row and column zero', 7X,
00681      $      '6. Random, CNDNUM = 0.1/EPS', / 3X,
00682      $      '*3. Last row and column zero', 8X,
00683      $      '7. Scaled near underflow', / 3X,
00684      $      '*4. Middle row and column zero', 6X,
00685      $      '8. Scaled near overflow', / 3X,
00686      $      '(* - tests error exits from ', A3,
00687      $      'TRF, no test ratios are computed)' )
00688 *
00689 *     SSY, SSP, CHE, CHP matrix types
00690 *
00691  9972 FORMAT( 4X, '1. Diagonal', 24X,
00692      $      '6. Last n/2 rows and columns zero', / 4X,
00693      $      '2. Random, CNDNUM = 2', 14X,
00694      $      '7. Random, CNDNUM = sqrt(0.1/EPS)', / 4X,
00695      $      '3. First row and column zero', 7X,
00696      $      '8. Random, CNDNUM = 0.1/EPS', / 4X,
00697      $      '4. Last row and column zero', 8X,
00698      $      '9. Scaled near underflow', / 4X,
00699      $      '5. Middle row and column zero', 5X,
00700      $      '10. Scaled near overflow' )
00701 *
00702 *     CSY, CSP matrix types
00703 *
00704  9971 FORMAT( 4X, '1. Diagonal', 24X,
00705      $      '7. Random, CNDNUM = sqrt(0.1/EPS)', / 4X,
00706      $      '2. Random, CNDNUM = 2', 14X, '8. Random, CNDNUM = 0.1/EPS',
00707      $      / 4X, '3. First row and column zero', 7X,
00708      $      '9. Scaled near underflow', / 4X,
00709      $      '4. Last row and column zero', 7X,
00710      $      '10. Scaled near overflow', / 4X,
00711      $      '5. Middle row and column zero', 5X,
00712      $      '11. Block diagonal matrix', / 4X,
00713      $      '6. Last n/2 rows and columns zero' )
00714 *
00715 *     QR matrix types
00716 *
00717  9970 FORMAT( 4X, '1. Diagonal', 24X,
00718      $      '5. Random, CNDNUM = sqrt(0.1/EPS)', / 4X,
00719      $      '2. Upper triangular', 16X, '6. Random, CNDNUM = 0.1/EPS',
00720      $      / 4X, '3. Lower triangular', 16X,
00721      $      '7. Scaled near underflow', / 4X, '4. Random, CNDNUM = 2',
00722      $      14X, '8. Scaled near overflow' )
00723 *
00724 *     QP matrix types
00725 *
00726  9969 FORMAT( ' Matrix types (2-6 have condition 1/EPS):', / 4X,
00727      $      '1. Zero matrix', 21X, '4. First n/2 columns fixed', / 4X,
00728      $      '2. One small eigenvalue', 12X, '5. Last n/2 columns fixed',
00729      $      / 4X, '3. Geometric distribution', 10X,
00730      $      '6. Every second column fixed' )
00731 *
00732 *     TZ matrix types
00733 *
00734  9968 FORMAT( ' Matrix types (2-3 have condition 1/EPS):', / 4X,
00735      $      '1. Zero matrix', / 4X, '2. One small eigenvalue', / 4X,
00736      $      '3. Geometric distribution' )
00737 *
00738 *     LS matrix types
00739 *
00740  9967 FORMAT( ' Matrix types (1-3: full rank, 4-6: rank deficient):',
00741      $      / 4X, '1 and 4. Normal scaling', / 4X,
00742      $      '2 and 5. Scaled near overflow', / 4X,
00743      $      '3 and 6. Scaled near underflow' )
00744 *
00745 *     TR, TP matrix types
00746 *
00747  9966 FORMAT( ' Matrix types for ', A3, ' routines:', / 4X,
00748      $      '1. Diagonal', 24X, '6. Scaled near overflow', / 4X,
00749      $      '2. Random, CNDNUM = 2', 14X, '7. Identity', / 4X,
00750      $      '3. Random, CNDNUM = sqrt(0.1/EPS)  ',
00751      $      '8. Unit triangular, CNDNUM = 2', / 4X,
00752      $      '4. Random, CNDNUM = 0.1/EPS', 8X,
00753      $      '9. Unit, CNDNUM = sqrt(0.1/EPS)', / 4X,
00754      $      '5. Scaled near underflow', 10X,
00755      $      '10. Unit, CNDNUM = 0.1/EPS' )
00756  9965 FORMAT( ' Special types for testing ', A, ':', / 3X,
00757      $      '11. Matrix elements are O(1), large right hand side', / 3X,
00758      $      '12. First diagonal causes overflow,',
00759      $      ' offdiagonal column norms < 1', / 3X,
00760      $      '13. First diagonal causes overflow,',
00761      $      ' offdiagonal column norms > 1', / 3X,
00762      $      '14. Growth factor underflows, solution does not overflow',
00763      $      / 3X, '15. Small diagonal causes gradual overflow', / 3X,
00764      $      '16. One zero diagonal element', / 3X,
00765      $      '17. Large offdiagonals cause overflow when adding a column'
00766      $      , / 3X, '18. Unit triangular with large right hand side' )
00767 *
00768 *     TB matrix types
00769 *
00770  9964 FORMAT( ' Matrix types for ', A3, ' routines:', / 4X,
00771      $      '1. Random, CNDNUM = 2', 14X, '6. Identity', / 4X,
00772      $      '2. Random, CNDNUM = sqrt(0.1/EPS)  ',
00773      $      '7. Unit triangular, CNDNUM = 2', / 4X,
00774      $      '3. Random, CNDNUM = 0.1/EPS', 8X,
00775      $      '8. Unit, CNDNUM = sqrt(0.1/EPS)', / 4X,
00776      $      '4. Scaled near underflow', 11X,
00777      $      '9. Unit, CNDNUM = 0.1/EPS', / 4X,
00778      $      '5. Scaled near overflow' )
00779  9963 FORMAT( ' Special types for testing ', A, ':', / 3X,
00780      $      '10. Matrix elements are O(1), large right hand side', / 3X,
00781      $      '11. First diagonal causes overflow,',
00782      $      ' offdiagonal column norms < 1', / 3X,
00783      $      '12. First diagonal causes overflow,',
00784      $      ' offdiagonal column norms > 1', / 3X,
00785      $      '13. Growth factor underflows, solution does not overflow',
00786      $      / 3X, '14. Small diagonal causes gradual overflow', / 3X,
00787      $      '15. One zero diagonal element', / 3X,
00788      $      '16. Large offdiagonals cause overflow when adding a column'
00789      $      , / 3X, '17. Unit triangular with large right hand side' )
00790 *
00791 *     Test ratios
00792 *
00793  9962 FORMAT( 3X, I2, ': norm( L * U - A )  / ( N * norm(A) * EPS )' )
00794  9961 FORMAT( 3X, I2, ': norm( I - A*AINV ) / ',
00795      $      '( N * norm(A) * norm(AINV) * EPS )' )
00796  9960 FORMAT( 3X, I2, ': norm( B - A * X )  / ',
00797      $      '( norm(A) * norm(X) * EPS )' )
00798  6660 FORMAT( 3X, I2, ': diagonal is not non-negative')
00799  9959 FORMAT( 3X, I2, ': norm( X - XACT )   / ',
00800      $      '( norm(XACT) * CNDNUM * EPS )' )
00801  9958 FORMAT( 3X, I2, ': norm( X - XACT )   / ',
00802      $      '( norm(XACT) * CNDNUM * EPS ), refined' )
00803  9957 FORMAT( 3X, I2, ': norm( X - XACT )   / ',
00804      $      '( norm(XACT) * (error bound) )' )
00805  9956 FORMAT( 3X, I2, ': (backward error)   / EPS' )
00806  9955 FORMAT( 3X, I2, ': RCOND * CNDNUM - 1.0' )
00807  9954 FORMAT( 3X, I2, ': norm( U'' * U - A ) / ( N * norm(A) * EPS )',
00808      $      ', or', / 7X, 'norm( L * L'' - A ) / ( N * norm(A) * EPS )'
00809      $       )
00810  8950 FORMAT( 3X,
00811      $      'norm( P * U'' * U * P'' - A ) / ( N * norm(A) * EPS )',
00812      $      ', or', / 3X,
00813      $      'norm( P * L * L'' * P'' - A ) / ( N * norm(A) * EPS )' )
00814  9953 FORMAT( 3X, I2, ': norm( U*D*U'' - A ) / ( N * norm(A) * EPS )',
00815      $      ', or', / 7X, 'norm( L*D*L'' - A ) / ( N * norm(A) * EPS )'
00816      $       )
00817  9952 FORMAT( 3X, I2, ': norm( U''*D*U - A ) / ( N * norm(A) * EPS )',
00818      $      ', or', / 7X, 'norm( L*D*L'' - A ) / ( N * norm(A) * EPS )'
00819      $       )
00820  9951 FORMAT( ' Test ratio for ', A, ':', / 3X, I2,
00821      $      ': norm( s*b - A*x )  / ( norm(A) * norm(x) * EPS )' )
00822  9950 FORMAT( 3X, I2, ': norm( R - Q'' * A ) / ( M * norm(A) * EPS )' )
00823  6950 FORMAT( 3X, I2, ': norm( R - Q'
00824 ' * A ) / ( M * norm(A) * EPS )     $       [RFPG]' )
00825  9949 FORMAT( 3X, I2, ': norm( L - A * Q'' ) / ( N * norm(A) * EPS )' )
00826  9948 FORMAT( 3X, I2, ': norm( L - Q'' * A ) / ( M * norm(A) * EPS )' )
00827  9947 FORMAT( 3X, I2, ': norm( R - A * Q'' ) / ( N * norm(A) * EPS )' )
00828  9946 FORMAT( 3X, I2, ': norm( I - Q''*Q )   / ( M * EPS )' )
00829  9945 FORMAT( 3X, I2, ': norm( I - Q*Q'' )   / ( N * EPS )' )
00830  9944 FORMAT( 3X, I2, ': norm( Q*C - Q*C )  / ', '( ', A1,
00831      $      ' * norm(C) * EPS )' )
00832  9943 FORMAT( 3X, I2, ': norm( C*Q - C*Q )  / ', '( ', A1,
00833      $      ' * norm(C) * EPS )' )
00834  9942 FORMAT( 3X, I2, ': norm( Q''*C - Q''*C )/ ', '( ', A1,
00835      $      ' * norm(C) * EPS )' )
00836  9941 FORMAT( 3X, I2, ': norm( C*Q'' - C*Q'' )/ ', '( ', A1,
00837      $      ' * norm(C) * EPS )' )
00838  9940 FORMAT( 3X, I2, ': norm(svd(A) - svd(R)) / ',
00839      $      '( M * norm(svd(R)) * EPS )' )
00840  9939 FORMAT( 3X, I2, ': norm( A*P - Q*R )     / ( M * norm(A) * EPS )'
00841      $       )
00842  9938 FORMAT( 3X, I2, ': norm( I - Q''*Q )      / ( M * EPS )' )
00843  9937 FORMAT( 3X, I2, ': norm( A - R*Q )       / ( M * norm(A) * EPS )'
00844      $       )
00845  9935 FORMAT( 3X, I2, ': norm( B - A * X )   / ',
00846      $      '( max(M,N) * norm(A) * norm(X) * EPS )' )
00847  9934 FORMAT( 3X, I2, ': norm( (A*X-B)'' *A ) / ',
00848      $      '( max(M,N,NRHS) * norm(A) * norm(B) * EPS )' )
00849  9933 FORMAT( 3X, I2, ': norm(svd(A)-svd(R)) / ',
00850      $      '( min(M,N) * norm(svd(R)) * EPS )' )
00851  9932 FORMAT( 3X, I2, ': Check if X is in the row space of A or A''' )
00852  9931 FORMAT( 3X, I2, ': norm( (A*X-B)'' *A ) / ',
00853      $      '( max(M,N,NRHS) * norm(A) * norm(B) * EPS )', / 7X,
00854      $      'if TRANS=''N'' and M.GE.N or TRANS=''T'' and M.LT.N, ',
00855      $      'otherwise', / 7X,
00856      $      'check if X is in the row space of A or A'' ',
00857      $      '(overdetermined case)' )
00858  9929 FORMAT( ' Test ratios (1-3: ', A1, 'TZRQF, 4-6: ', A1,
00859      $      'TZRZF):' )
00860  9920 FORMAT( 3X, ' 7-10: same as 3-6', 3X, ' 11-14: same as 3-6',
00861      $      3X, ' 15-18: same as 3-6' )
00862  9921 FORMAT( ' Test ratios:', / '    (1-2: ', A1, 'GELS, 3-6: ', A1,
00863      $      'GELSX, 7-10: ', A1, 'GELSY, 11-14: ', A1, 'GELSS, 15-18: ',
00864      $      A1, 'GELSD)' )
00865 *
00866       RETURN
00867 *
00868 *     End of ALAHD
00869 *
00870       END
 All Files Functions