LAPACK 3.3.1
Linear Algebra PACKage

zerrvxx.f

Go to the documentation of this file.
00001       SUBROUTINE ZERRVX( PATH, NUNIT )
00002 *
00003 *  -- LAPACK test routine (version 3.2.1) --
00004 *
00005 *  -- April 2009                                                   --
00006 *
00007 *  -- LAPACK is a software package provided by Univ. of Tennessee,    --
00008 *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
00009 *
00010 *     .. Scalar Arguments ..
00011       CHARACTER*3        PATH
00012       INTEGER            NUNIT
00013 *     ..
00014 *
00015 *  Purpose
00016 *  =======
00017 *
00018 *  ZERRVX tests the error exits for the COMPLEX*16 driver routines
00019 *  for solving linear systems of equations.
00020 *
00021 *  Arguments
00022 *  =========
00023 *
00024 *  PATH    (input) CHARACTER*3
00025 *          The LAPACK path name for the routines to be tested.
00026 *
00027 *  NUNIT   (input) INTEGER
00028 *          The unit number for output.
00029 *
00030 *  =====================================================================
00031 *
00032 *     .. Parameters ..
00033       INTEGER            NMAX
00034       PARAMETER          ( NMAX = 4 )
00035 *     ..
00036 *     .. Local Scalars ..
00037       CHARACTER          EQ
00038       CHARACTER*2        C2
00039       INTEGER            I, INFO, J, N_ERR_BNDS, NPARAMS
00040       DOUBLE PRECISION   RCOND, RPVGRW, BERR
00041 *     ..
00042 *     .. Local Arrays ..
00043       INTEGER            IP( NMAX )
00044       DOUBLE PRECISION   C( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ),
00045      $                   RF( NMAX ), RW( NMAX ), ERR_BNDS_N( NMAX, 3 ),
00046      $                   ERR_BNDS_C( NMAX, 3 ), PARAMS
00047       COMPLEX*16         A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
00048      $                   W( 2*NMAX ), X( NMAX )
00049 *     ..
00050 *     .. External Functions ..
00051       LOGICAL            LSAMEN
00052       EXTERNAL           LSAMEN
00053 *     ..
00054 *     .. External Subroutines ..
00055       EXTERNAL           CHKXER, ZGBSV, ZGBSVX, ZGESV, ZGESVX, ZGTSV,
00056      $                   ZGTSVX, ZHESV, ZHESVX, ZHPSV, ZHPSVX, ZPBSV,
00057      $                   ZPBSVX, ZPOSV, ZPOSVX, ZPPSV, ZPPSVX, ZPTSV,
00058      $                   ZPTSVX, ZSPSV, ZSPSVX, ZSYSV, ZSYSVX, ZGESVXX,
00059      $                   ZSYSVXX, ZPOSVXX, ZHESVXX, ZGBSVXX
00060 *     ..
00061 *     .. Scalars in Common ..
00062       LOGICAL            LERR, OK
00063       CHARACTER*32       SRNAMT
00064       INTEGER            INFOT, NOUT
00065 *     ..
00066 *     .. Common blocks ..
00067       COMMON             / INFOC / INFOT, NOUT, OK, LERR
00068       COMMON             / SRNAMC / SRNAMT
00069 *     ..
00070 *     .. Intrinsic Functions ..
00071       INTRINSIC          DBLE, DCMPLX
00072 *     ..
00073 *     .. Executable Statements ..
00074 *
00075       NOUT = NUNIT
00076       WRITE( NOUT, FMT = * )
00077       C2 = PATH( 2: 3 )
00078 *
00079 *     Set the variables to innocuous values.
00080 *
00081       DO 20 J = 1, NMAX
00082          DO 10 I = 1, NMAX
00083             A( I, J ) = DCMPLX( 1.D0 / DBLE( I+J ),
00084      $                  -1.D0 / DBLE( I+J ) )
00085             AF( I, J ) = DCMPLX( 1.D0 / DBLE( I+J ),
00086      $                   -1.D0 / DBLE( I+J ) )
00087    10    CONTINUE
00088          B( J ) = 0.D0
00089          R1( J ) = 0.D0
00090          R2( J ) = 0.D0
00091          W( J ) = 0.D0
00092          X( J ) = 0.D0
00093          C( J ) = 0.D0
00094          R( J ) = 0.D0
00095          IP( J ) = J
00096    20 CONTINUE
00097       EQ = ' '
00098       OK = .TRUE.
00099 *
00100       IF( LSAMEN( 2, C2, 'GE' ) ) THEN
00101 *
00102 *        ZGESV
00103 *
00104          SRNAMT = 'ZGESV '
00105          INFOT = 1
00106          CALL ZGESV( -1, 0, A, 1, IP, B, 1, INFO )
00107          CALL CHKXER( 'ZGESV ', INFOT, NOUT, LERR, OK )
00108          INFOT = 2
00109          CALL ZGESV( 0, -1, A, 1, IP, B, 1, INFO )
00110          CALL CHKXER( 'ZGESV ', INFOT, NOUT, LERR, OK )
00111          INFOT = 4
00112          CALL ZGESV( 2, 1, A, 1, IP, B, 2, INFO )
00113          CALL CHKXER( 'ZGESV ', INFOT, NOUT, LERR, OK )
00114          INFOT = 7
00115          CALL ZGESV( 2, 1, A, 2, IP, B, 1, INFO )
00116          CALL CHKXER( 'ZGESV ', INFOT, NOUT, LERR, OK )
00117 *
00118 *        ZGESVX
00119 *
00120          SRNAMT = 'ZGESVX'
00121          INFOT = 1
00122          CALL ZGESVX( '/', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00123      $                X, 1, RCOND, R1, R2, W, RW, INFO )
00124          CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
00125          INFOT = 2
00126          CALL ZGESVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00127      $                X, 1, RCOND, R1, R2, W, RW, INFO )
00128          CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
00129          INFOT = 3
00130          CALL ZGESVX( 'N', 'N', -1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00131      $                X, 1, RCOND, R1, R2, W, RW, INFO )
00132          CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
00133          INFOT = 4
00134          CALL ZGESVX( 'N', 'N', 0, -1, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00135      $                X, 1, RCOND, R1, R2, W, RW, INFO )
00136          CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
00137          INFOT = 6
00138          CALL ZGESVX( 'N', 'N', 2, 1, A, 1, AF, 2, IP, EQ, R, C, B, 2,
00139      $                X, 2, RCOND, R1, R2, W, RW, INFO )
00140          CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
00141          INFOT = 8
00142          CALL ZGESVX( 'N', 'N', 2, 1, A, 2, AF, 1, IP, EQ, R, C, B, 2,
00143      $                X, 2, RCOND, R1, R2, W, RW, INFO )
00144          CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
00145          INFOT = 10
00146          EQ = '/'
00147          CALL ZGESVX( 'F', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00148      $                X, 1, RCOND, R1, R2, W, RW, INFO )
00149          CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
00150          INFOT = 11
00151          EQ = 'R'
00152          CALL ZGESVX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00153      $                X, 1, RCOND, R1, R2, W, RW, INFO )
00154          CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
00155          INFOT = 12
00156          EQ = 'C'
00157          CALL ZGESVX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00158      $                X, 1, RCOND, R1, R2, W, RW, INFO )
00159          CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
00160          INFOT = 14
00161          CALL ZGESVX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 1,
00162      $                X, 2, RCOND, R1, R2, W, RW, INFO )
00163          CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
00164          INFOT = 16
00165          CALL ZGESVX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 2,
00166      $                X, 1, RCOND, R1, R2, W, RW, INFO )
00167          CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
00168 *
00169 *        ZGESVXX
00170 *
00171          N_ERR_BNDS = 3
00172          NPARAMS = 0
00173          SRNAMT = 'ZGESVXX'
00174          INFOT = 1
00175          CALL ZGESVXX( '/', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B,
00176      $                1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00177      $                ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00178      $                INFO )
00179          CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
00180          INFOT = 2
00181          CALL ZGESVXX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B,
00182      $                1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00183      $                ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00184      $                INFO )
00185          CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
00186          INFOT = 3
00187          CALL ZGESVXX( 'N', 'N', -1, 0, A, 1, AF, 1, IP, EQ, R, C, B,
00188      $                1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00189      $                ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00190      $                INFO )
00191          CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
00192          INFOT = 4
00193          CALL ZGESVXX( 'N', 'N', 0, -1, A, 1, AF, 1, IP, EQ, R, C, B,
00194      $                1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00195      $                ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00196      $                INFO )
00197          CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
00198          INFOT = 6
00199          CALL ZGESVXX( 'N', 'N', 2, 1, A, 1, AF, 2, IP, EQ, R, C, B,
00200      $                2, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00201      $                ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00202      $                INFO )
00203          CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
00204          INFOT = 8
00205          CALL ZGESVXX( 'N', 'N', 2, 1, A, 2, AF, 1, IP, EQ, R, C, B,
00206      $                2, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00207      $                ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00208      $                INFO )
00209          CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
00210          INFOT = 10
00211          EQ = '/'
00212          CALL ZGESVXX( 'F', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B,
00213      $                1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00214      $                ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00215      $                INFO )
00216          CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
00217          INFOT = 11
00218          EQ = 'R'
00219          CALL ZGESVXX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B,
00220      $                1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00221      $                ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00222      $                INFO )
00223          CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
00224          INFOT = 12
00225          EQ = 'C'
00226          CALL ZGESVXX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B,
00227      $                1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00228      $                ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00229      $                INFO )
00230          CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
00231          INFOT = 14
00232          CALL ZGESVXX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B,
00233      $                1, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00234      $                ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00235      $                INFO )
00236          CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
00237          INFOT = 16
00238          CALL ZGESVXX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B,
00239      $                2, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00240      $                ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00241      $                INFO )
00242          CALL CHKXER( 'ZGESVXX', INFOT, NOUT, LERR, OK )
00243 *
00244       ELSE IF( LSAMEN( 2, C2, 'GB' ) ) THEN
00245 *
00246 *        ZGBSV
00247 *
00248          SRNAMT = 'ZGBSV '
00249          INFOT = 1
00250          CALL ZGBSV( -1, 0, 0, 0, A, 1, IP, B, 1, INFO )
00251          CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK )
00252          INFOT = 2
00253          CALL ZGBSV( 1, -1, 0, 0, A, 1, IP, B, 1, INFO )
00254          CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK )
00255          INFOT = 3
00256          CALL ZGBSV( 1, 0, -1, 0, A, 1, IP, B, 1, INFO )
00257          CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK )
00258          INFOT = 4
00259          CALL ZGBSV( 0, 0, 0, -1, A, 1, IP, B, 1, INFO )
00260          CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK )
00261          INFOT = 6
00262          CALL ZGBSV( 1, 1, 1, 0, A, 3, IP, B, 1, INFO )
00263          CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK )
00264          INFOT = 9
00265          CALL ZGBSV( 2, 0, 0, 0, A, 1, IP, B, 1, INFO )
00266          CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK )
00267 *
00268 *        ZGBSVX
00269 *
00270          SRNAMT = 'ZGBSVX'
00271          INFOT = 1
00272          CALL ZGBSVX( '/', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00273      $                B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
00274          CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
00275          INFOT = 2
00276          CALL ZGBSVX( 'N', '/', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00277      $                B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
00278          CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
00279          INFOT = 3
00280          CALL ZGBSVX( 'N', 'N', -1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00281      $                B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
00282          CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
00283          INFOT = 4
00284          CALL ZGBSVX( 'N', 'N', 1, -1, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00285      $                B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
00286          CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
00287          INFOT = 5
00288          CALL ZGBSVX( 'N', 'N', 1, 0, -1, 0, A, 1, AF, 1, IP, EQ, R, C,
00289      $                B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
00290          CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
00291          INFOT = 6
00292          CALL ZGBSVX( 'N', 'N', 0, 0, 0, -1, A, 1, AF, 1, IP, EQ, R, C,
00293      $                B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
00294          CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
00295          INFOT = 8
00296          CALL ZGBSVX( 'N', 'N', 1, 1, 1, 0, A, 2, AF, 4, IP, EQ, R, C,
00297      $                B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
00298          CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
00299          INFOT = 10
00300          CALL ZGBSVX( 'N', 'N', 1, 1, 1, 0, A, 3, AF, 3, IP, EQ, R, C,
00301      $                B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
00302          CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
00303          INFOT = 12
00304          EQ = '/'
00305          CALL ZGBSVX( 'F', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00306      $                B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
00307          CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
00308          INFOT = 13
00309          EQ = 'R'
00310          CALL ZGBSVX( 'F', 'N', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00311      $                B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
00312          CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
00313          INFOT = 14
00314          EQ = 'C'
00315          CALL ZGBSVX( 'F', 'N', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00316      $                B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
00317          CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
00318          INFOT = 16
00319          CALL ZGBSVX( 'N', 'N', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00320      $                B, 1, X, 2, RCOND, R1, R2, W, RW, INFO )
00321          CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
00322          INFOT = 18
00323          CALL ZGBSVX( 'N', 'N', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00324      $                B, 2, X, 1, RCOND, R1, R2, W, RW, INFO )
00325          CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
00326 *
00327 *        ZGBSVXX
00328 *
00329          N_ERR_BNDS = 3
00330          NPARAMS = 0
00331          SRNAMT = 'ZGBSVXX'
00332          INFOT = 1
00333          CALL ZGBSVXX( '/', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00334      $                B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00335      $                ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00336      $                INFO )
00337          CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
00338          INFOT = 2
00339          CALL ZGBSVXX( 'N', '/', 0, 1, 1, 0, A, 1, AF, 1, IP, EQ, R, C,
00340      $                B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00341      $                ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00342      $                INFO )
00343          CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
00344          INFOT = 3
00345          CALL ZGBSVXX( 'N', 'N', -1, 1, 1, 0, A, 1, AF, 1, IP, EQ, R, C,
00346      $                B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00347      $                ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00348      $                INFO )
00349          CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
00350          INFOT = 4
00351          CALL ZGBSVXX( 'N', 'N', 2, -1, 1, 0, A, 1, AF, 1, IP, EQ,
00352      $                R, C, B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00353      $                ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00354      $                INFO )
00355          CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
00356          INFOT = 5
00357          CALL ZGBSVXX( 'N', 'N', 2, 1, -1, 0, A, 1, AF, 1, IP, EQ,
00358      $                R, C, B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00359      $                ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00360      $                INFO )
00361          CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
00362          INFOT = 6
00363          CALL ZGBSVXX( 'N', 'N', 0, 1, 1, -1, A, 1, AF, 1, IP, EQ, R, C,
00364      $                B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00365      $                ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00366      $                INFO )
00367          CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
00368          INFOT = 8
00369          CALL ZGBSVXX( 'N', 'N', 2, 1, 1, 1, A, 2, AF, 2, IP, EQ, R, C,
00370      $                B, 2, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00371      $                ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00372      $                INFO )
00373          CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
00374          INFOT = 10
00375          CALL ZGBSVXX( 'N', 'N', 2, 1, 1, 1, A, 3, AF, 3, IP, EQ, R, C,
00376      $                B, 2, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00377      $                ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00378      $                INFO )
00379          CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
00380          INFOT = 12
00381          EQ = '/'
00382          CALL ZGBSVXX( 'F', 'N', 0, 1, 1, 0, A, 3, AF, 4, IP, EQ, R, C,
00383      $                B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00384      $                ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00385      $                INFO )
00386          CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
00387          INFOT = 13
00388          EQ = 'R'
00389          CALL ZGBSVXX( 'F', 'N', 1, 1, 1, 0, A, 3, AF, 4, IP, EQ, R, C,
00390      $                B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00391      $                ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00392      $                INFO )
00393          CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
00394          INFOT = 14
00395          EQ = 'C'
00396          CALL ZGBSVXX( 'F', 'N', 1, 1, 1, 0, A, 3, AF, 4, IP, EQ, R, C,
00397      $                B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00398      $                ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00399      $                INFO )
00400          CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
00401          INFOT = 15
00402          CALL ZGBSVXX( 'N', 'N', 2, 1, 1, 1, A, 3, AF, 4, IP, EQ, R, C,
00403      $                B, 1, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00404      $                ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00405      $                INFO )
00406          CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
00407          INFOT = 16
00408          CALL ZGBSVXX( 'N', 'N', 2, 1, 1, 1, A, 3, AF, 4, IP, EQ, R, C,
00409      $                B, 2, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
00410      $                ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, RW,
00411      $                INFO )
00412          CALL CHKXER( 'ZGBSVXX', INFOT, NOUT, LERR, OK )
00413 *
00414       ELSE IF( LSAMEN( 2, C2, 'GT' ) ) THEN
00415 *
00416 *        ZGTSV
00417 *
00418          SRNAMT = 'ZGTSV '
00419          INFOT = 1
00420          CALL ZGTSV( -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1,
00421      $               INFO )
00422          CALL CHKXER( 'ZGTSV ', INFOT, NOUT, LERR, OK )
00423          INFOT = 2
00424          CALL ZGTSV( 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1,
00425      $               INFO )
00426          CALL CHKXER( 'ZGTSV ', INFOT, NOUT, LERR, OK )
00427          INFOT = 7
00428          CALL ZGTSV( 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1, INFO )
00429          CALL CHKXER( 'ZGTSV ', INFOT, NOUT, LERR, OK )
00430 *
00431 *        ZGTSVX
00432 *
00433          SRNAMT = 'ZGTSVX'
00434          INFOT = 1
00435          CALL ZGTSVX( '/', 'N', 0, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
00436      $                AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
00437      $                IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
00438          CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK )
00439          INFOT = 2
00440          CALL ZGTSVX( 'N', '/', 0, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
00441      $                AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
00442      $                IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
00443          CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK )
00444          INFOT = 3
00445          CALL ZGTSVX( 'N', 'N', -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
00446      $                AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
00447      $                IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
00448          CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK )
00449          INFOT = 4
00450          CALL ZGTSVX( 'N', 'N', 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
00451      $                AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
00452      $                IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
00453          CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK )
00454          INFOT = 14
00455          CALL ZGTSVX( 'N', 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
00456      $                AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
00457      $                IP, B, 1, X, 2, RCOND, R1, R2, W, RW, INFO )
00458          CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK )
00459          INFOT = 16
00460          CALL ZGTSVX( 'N', 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
00461      $                AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
00462      $                IP, B, 2, X, 1, RCOND, R1, R2, W, RW, INFO )
00463          CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK )
00464 *
00465       ELSE IF( LSAMEN( 2, C2, 'PO' ) ) THEN
00466 *
00467 *        ZPOSV
00468 *
00469          SRNAMT = 'ZPOSV '
00470          INFOT = 1
00471          CALL ZPOSV( '/', 0, 0, A, 1, B, 1, INFO )
00472          CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK )
00473          INFOT = 2
00474          CALL ZPOSV( 'U', -1, 0, A, 1, B, 1, INFO )
00475          CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK )
00476          INFOT = 3
00477          CALL ZPOSV( 'U', 0, -1, A, 1, B, 1, INFO )
00478          CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK )
00479          INFOT = 5
00480          CALL ZPOSV( 'U', 2, 0, A, 1, B, 2, INFO )
00481          CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK )
00482          INFOT = 7
00483          CALL ZPOSV( 'U', 2, 0, A, 2, B, 1, INFO )
00484          CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK )
00485 *
00486 *        ZPOSVX
00487 *
00488          SRNAMT = 'ZPOSVX'
00489          INFOT = 1
00490          CALL ZPOSVX( '/', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00491      $                RCOND, R1, R2, W, RW, INFO )
00492          CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
00493          INFOT = 2
00494          CALL ZPOSVX( 'N', '/', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00495      $                RCOND, R1, R2, W, RW, INFO )
00496          CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
00497          INFOT = 3
00498          CALL ZPOSVX( 'N', 'U', -1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00499      $                RCOND, R1, R2, W, RW, INFO )
00500          CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
00501          INFOT = 4
00502          CALL ZPOSVX( 'N', 'U', 0, -1, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00503      $                RCOND, R1, R2, W, RW, INFO )
00504          CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
00505          INFOT = 6
00506          CALL ZPOSVX( 'N', 'U', 2, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2,
00507      $                RCOND, R1, R2, W, RW, INFO )
00508          CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
00509          INFOT = 8
00510          CALL ZPOSVX( 'N', 'U', 2, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2,
00511      $                RCOND, R1, R2, W, RW, INFO )
00512          CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
00513          INFOT = 9
00514          EQ = '/'
00515          CALL ZPOSVX( 'F', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00516      $                RCOND, R1, R2, W, RW, INFO )
00517          CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
00518          INFOT = 10
00519          EQ = 'Y'
00520          CALL ZPOSVX( 'F', 'U', 1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00521      $                RCOND, R1, R2, W, RW, INFO )
00522          CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
00523          INFOT = 12
00524          CALL ZPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 1, X, 2,
00525      $                RCOND, R1, R2, W, RW, INFO )
00526          CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
00527          INFOT = 14
00528          CALL ZPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 2, X, 1,
00529      $                RCOND, R1, R2, W, RW, INFO )
00530          CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
00531 *
00532 *        ZPOSVXX
00533 *
00534          N_ERR_BNDS = 3
00535          NPARAMS = 0
00536          SRNAMT = 'ZPOSVXX'
00537          INFOT = 1
00538          CALL ZPOSVXX( '/', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00539      $                RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00540      $                ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00541          CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK )
00542          INFOT = 2
00543          CALL ZPOSVXX( 'N', '/', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00544      $                RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00545      $                ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00546          CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK )
00547          INFOT = 3
00548          CALL ZPOSVXX( 'N', 'U', -1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00549      $                RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00550      $                ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00551          CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK )
00552          INFOT = 4
00553          CALL ZPOSVXX( 'N', 'U', 0, -1, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00554      $                RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00555      $                ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00556          CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK )
00557          INFOT = 6
00558          CALL ZPOSVXX( 'N', 'U', 2, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2,
00559      $                RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00560      $                ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00561          CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK )
00562          INFOT = 8
00563          CALL ZPOSVXX( 'N', 'U', 2, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2,
00564      $                RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00565      $                ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00566          CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK )
00567          INFOT = 9
00568          EQ = '/'
00569          CALL ZPOSVXX( 'F', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00570      $                RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00571      $                ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00572          CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK )
00573          INFOT = 10
00574          EQ = 'Y'
00575          CALL ZPOSVXX( 'F', 'U', 1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00576      $                RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00577      $                ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00578          CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK )
00579          INFOT = 12
00580          CALL ZPOSVXX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 1, X, 2,
00581      $                RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00582      $                ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00583          CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK )
00584          INFOT = 14
00585          CALL ZPOSVXX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 2, X, 1,
00586      $                RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00587      $                ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00588          CALL CHKXER( 'ZPOSVXX', INFOT, NOUT, LERR, OK )
00589 *
00590       ELSE IF( LSAMEN( 2, C2, 'PP' ) ) THEN
00591 *
00592 *        ZPPSV
00593 *
00594          SRNAMT = 'ZPPSV '
00595          INFOT = 1
00596          CALL ZPPSV( '/', 0, 0, A, B, 1, INFO )
00597          CALL CHKXER( 'ZPPSV ', INFOT, NOUT, LERR, OK )
00598          INFOT = 2
00599          CALL ZPPSV( 'U', -1, 0, A, B, 1, INFO )
00600          CALL CHKXER( 'ZPPSV ', INFOT, NOUT, LERR, OK )
00601          INFOT = 3
00602          CALL ZPPSV( 'U', 0, -1, A, B, 1, INFO )
00603          CALL CHKXER( 'ZPPSV ', INFOT, NOUT, LERR, OK )
00604          INFOT = 6
00605          CALL ZPPSV( 'U', 2, 0, A, B, 1, INFO )
00606          CALL CHKXER( 'ZPPSV ', INFOT, NOUT, LERR, OK )
00607 *
00608 *        ZPPSVX
00609 *
00610          SRNAMT = 'ZPPSVX'
00611          INFOT = 1
00612          CALL ZPPSVX( '/', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
00613      $                R1, R2, W, RW, INFO )
00614          CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
00615          INFOT = 2
00616          CALL ZPPSVX( 'N', '/', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
00617      $                R1, R2, W, RW, INFO )
00618          CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
00619          INFOT = 3
00620          CALL ZPPSVX( 'N', 'U', -1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
00621      $                R1, R2, W, RW, INFO )
00622          CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
00623          INFOT = 4
00624          CALL ZPPSVX( 'N', 'U', 0, -1, A, AF, EQ, C, B, 1, X, 1, RCOND,
00625      $                R1, R2, W, RW, INFO )
00626          CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
00627          INFOT = 7
00628          EQ = '/'
00629          CALL ZPPSVX( 'F', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
00630      $                R1, R2, W, RW, INFO )
00631          CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
00632          INFOT = 8
00633          EQ = 'Y'
00634          CALL ZPPSVX( 'F', 'U', 1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
00635      $                R1, R2, W, RW, INFO )
00636          CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
00637          INFOT = 10
00638          CALL ZPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 1, X, 2, RCOND,
00639      $                R1, R2, W, RW, INFO )
00640          CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
00641          INFOT = 12
00642          CALL ZPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 2, X, 1, RCOND,
00643      $                R1, R2, W, RW, INFO )
00644          CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
00645 *
00646       ELSE IF( LSAMEN( 2, C2, 'PB' ) ) THEN
00647 *
00648 *        ZPBSV
00649 *
00650          SRNAMT = 'ZPBSV '
00651          INFOT = 1
00652          CALL ZPBSV( '/', 0, 0, 0, A, 1, B, 1, INFO )
00653          CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK )
00654          INFOT = 2
00655          CALL ZPBSV( 'U', -1, 0, 0, A, 1, B, 1, INFO )
00656          CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK )
00657          INFOT = 3
00658          CALL ZPBSV( 'U', 1, -1, 0, A, 1, B, 1, INFO )
00659          CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK )
00660          INFOT = 4
00661          CALL ZPBSV( 'U', 0, 0, -1, A, 1, B, 1, INFO )
00662          CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK )
00663          INFOT = 6
00664          CALL ZPBSV( 'U', 1, 1, 0, A, 1, B, 2, INFO )
00665          CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK )
00666          INFOT = 8
00667          CALL ZPBSV( 'U', 2, 0, 0, A, 1, B, 1, INFO )
00668          CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK )
00669 *
00670 *        ZPBSVX
00671 *
00672          SRNAMT = 'ZPBSVX'
00673          INFOT = 1
00674          CALL ZPBSVX( '/', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00675      $                RCOND, R1, R2, W, RW, INFO )
00676          CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
00677          INFOT = 2
00678          CALL ZPBSVX( 'N', '/', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00679      $                RCOND, R1, R2, W, RW, INFO )
00680          CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
00681          INFOT = 3
00682          CALL ZPBSVX( 'N', 'U', -1, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X,
00683      $                1, RCOND, R1, R2, W, RW, INFO )
00684          CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
00685          INFOT = 4
00686          CALL ZPBSVX( 'N', 'U', 1, -1, 0, A, 1, AF, 1, EQ, C, B, 1, X,
00687      $                1, RCOND, R1, R2, W, RW, INFO )
00688          CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
00689          INFOT = 5
00690          CALL ZPBSVX( 'N', 'U', 0, 0, -1, A, 1, AF, 1, EQ, C, B, 1, X,
00691      $                1, RCOND, R1, R2, W, RW, INFO )
00692          CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
00693          INFOT = 7
00694          CALL ZPBSVX( 'N', 'U', 1, 1, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2,
00695      $                RCOND, R1, R2, W, RW, INFO )
00696          CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
00697          INFOT = 9
00698          CALL ZPBSVX( 'N', 'U', 1, 1, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2,
00699      $                RCOND, R1, R2, W, RW, INFO )
00700          CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
00701          INFOT = 10
00702          EQ = '/'
00703          CALL ZPBSVX( 'F', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00704      $                RCOND, R1, R2, W, RW, INFO )
00705          CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
00706          INFOT = 11
00707          EQ = 'Y'
00708          CALL ZPBSVX( 'F', 'U', 1, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00709      $                RCOND, R1, R2, W, RW, INFO )
00710          CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
00711          INFOT = 13
00712          CALL ZPBSVX( 'N', 'U', 2, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 2,
00713      $                RCOND, R1, R2, W, RW, INFO )
00714          CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
00715          INFOT = 15
00716          CALL ZPBSVX( 'N', 'U', 2, 0, 0, A, 1, AF, 1, EQ, C, B, 2, X, 1,
00717      $                RCOND, R1, R2, W, RW, INFO )
00718          CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
00719 *
00720       ELSE IF( LSAMEN( 2, C2, 'PT' ) ) THEN
00721 *
00722 *        ZPTSV
00723 *
00724          SRNAMT = 'ZPTSV '
00725          INFOT = 1
00726          CALL ZPTSV( -1, 0, R, A( 1, 1 ), B, 1, INFO )
00727          CALL CHKXER( 'ZPTSV ', INFOT, NOUT, LERR, OK )
00728          INFOT = 2
00729          CALL ZPTSV( 0, -1, R, A( 1, 1 ), B, 1, INFO )
00730          CALL CHKXER( 'ZPTSV ', INFOT, NOUT, LERR, OK )
00731          INFOT = 6
00732          CALL ZPTSV( 2, 0, R, A( 1, 1 ), B, 1, INFO )
00733          CALL CHKXER( 'ZPTSV ', INFOT, NOUT, LERR, OK )
00734 *
00735 *        ZPTSVX
00736 *
00737          SRNAMT = 'ZPTSVX'
00738          INFOT = 1
00739          CALL ZPTSVX( '/', 0, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X,
00740      $                1, RCOND, R1, R2, W, RW, INFO )
00741          CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK )
00742          INFOT = 2
00743          CALL ZPTSVX( 'N', -1, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X,
00744      $                1, RCOND, R1, R2, W, RW, INFO )
00745          CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK )
00746          INFOT = 3
00747          CALL ZPTSVX( 'N', 0, -1, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X,
00748      $                1, RCOND, R1, R2, W, RW, INFO )
00749          CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK )
00750          INFOT = 9
00751          CALL ZPTSVX( 'N', 2, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X,
00752      $                2, RCOND, R1, R2, W, RW, INFO )
00753          CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK )
00754          INFOT = 11
00755          CALL ZPTSVX( 'N', 2, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 2, X,
00756      $                1, RCOND, R1, R2, W, RW, INFO )
00757          CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK )
00758 *
00759       ELSE IF( LSAMEN( 2, C2, 'HE' ) ) THEN
00760 *
00761 *        ZHESV
00762 *
00763          SRNAMT = 'ZHESV '
00764          INFOT = 1
00765          CALL ZHESV( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
00766          CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK )
00767          INFOT = 2
00768          CALL ZHESV( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
00769          CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK )
00770          INFOT = 3
00771          CALL ZHESV( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
00772          CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK )
00773          INFOT = 5
00774          CALL ZHESV( 'U', 2, 0, A, 1, IP, B, 2, W, 1, INFO )
00775          CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK )
00776          INFOT = 8
00777          CALL ZHESV( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
00778          CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK )
00779 *
00780 *        ZHESVX
00781 *
00782          SRNAMT = 'ZHESVX'
00783          INFOT = 1
00784          CALL ZHESVX( '/', 'U', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
00785      $                RCOND, R1, R2, W, 1, RW, INFO )
00786          CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
00787          INFOT = 2
00788          CALL ZHESVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
00789      $                RCOND, R1, R2, W, 1, RW, INFO )
00790          CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
00791          INFOT = 3
00792          CALL ZHESVX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1,
00793      $                RCOND, R1, R2, W, 1, RW, INFO )
00794          CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
00795          INFOT = 4
00796          CALL ZHESVX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1,
00797      $                RCOND, R1, R2, W, 1, RW, INFO )
00798          CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
00799          INFOT = 6
00800          CALL ZHESVX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, B, 2, X, 2,
00801      $                RCOND, R1, R2, W, 4, RW, INFO )
00802          CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
00803          INFOT = 8
00804          CALL ZHESVX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, B, 2, X, 2,
00805      $                RCOND, R1, R2, W, 4, RW, INFO )
00806          CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
00807          INFOT = 11
00808          CALL ZHESVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 1, X, 2,
00809      $                RCOND, R1, R2, W, 4, RW, INFO )
00810          CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
00811          INFOT = 13
00812          CALL ZHESVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 1,
00813      $                RCOND, R1, R2, W, 4, RW, INFO )
00814          CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
00815          INFOT = 18
00816          CALL ZHESVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 2,
00817      $                RCOND, R1, R2, W, 3, RW, INFO )
00818          CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
00819 *
00820 *        ZHESVXX
00821 *
00822          N_ERR_BNDS = 3
00823          NPARAMS = 0
00824          SRNAMT = 'ZHESVXX'
00825          INFOT = 1
00826          CALL ZHESVXX( '/', 'U', 0, 0, A, 1, AF, 1, IP, EQ, C, B, 1, X,
00827      $                1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00828      $                ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00829          CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK )
00830          INFOT = 2
00831          CALL ZHESVXX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, C, B, 1, X,
00832      $                1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00833      $                ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00834          CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK )
00835          INFOT = 3
00836          CALL ZHESVXX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, EQ, C, B, 1, X,
00837      $                1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00838      $                ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00839          CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK )
00840          INFOT = 4
00841          CALL ZHESVXX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, EQ, C, B, 1, X,
00842      $                1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00843      $                ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00844          CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK )
00845          INFOT = 6
00846          CALL ZHESVXX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, EQ, C, B, 2, X,
00847      $                2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00848      $                ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00849          CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK )
00850          INFOT = 8
00851          CALL ZHESVXX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, EQ, C, B, 2, X,
00852      $                2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00853      $                ERR_BNDS_C,  NPARAMS, PARAMS, W, RW, INFO )
00854          CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK )
00855          INFOT = 9
00856          EQ = '/'
00857          CALL ZHESVXX( 'F', 'U', 0, 0, A, 1, AF, 1, IP, EQ, C, B, 1, X,
00858      $                1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00859      $                ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00860          CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK )
00861          INFOT = 10
00862          EQ = 'Y'
00863          CALL ZHESVXX( 'F', 'U', 1, 0, A, 1, AF, 1, IP, EQ, C, B, 1, X,
00864      $                1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00865      $                ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00866          CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK )
00867          INFOT = 12
00868          CALL ZHESVXX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, EQ, C, B, 1, X,
00869      $                2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00870      $                ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00871          CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK )
00872          INFOT = 14
00873          CALL ZHESVXX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, EQ, C, B, 2, X,
00874      $                1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00875      $                ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00876          CALL CHKXER( 'ZHESVXX', INFOT, NOUT, LERR, OK )
00877 *
00878       ELSE IF( LSAMEN( 2, C2, 'HP' ) ) THEN
00879 *
00880 *        ZHPSV
00881 *
00882          SRNAMT = 'ZHPSV '
00883          INFOT = 1
00884          CALL ZHPSV( '/', 0, 0, A, IP, B, 1, INFO )
00885          CALL CHKXER( 'ZHPSV ', INFOT, NOUT, LERR, OK )
00886          INFOT = 2
00887          CALL ZHPSV( 'U', -1, 0, A, IP, B, 1, INFO )
00888          CALL CHKXER( 'ZHPSV ', INFOT, NOUT, LERR, OK )
00889          INFOT = 3
00890          CALL ZHPSV( 'U', 0, -1, A, IP, B, 1, INFO )
00891          CALL CHKXER( 'ZHPSV ', INFOT, NOUT, LERR, OK )
00892          INFOT = 7
00893          CALL ZHPSV( 'U', 2, 0, A, IP, B, 1, INFO )
00894          CALL CHKXER( 'ZHPSV ', INFOT, NOUT, LERR, OK )
00895 *
00896 *        ZHPSVX
00897 *
00898          SRNAMT = 'ZHPSVX'
00899          INFOT = 1
00900          CALL ZHPSVX( '/', 'U', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
00901      $                R2, W, RW, INFO )
00902          CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK )
00903          INFOT = 2
00904          CALL ZHPSVX( 'N', '/', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
00905      $                R2, W, RW, INFO )
00906          CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK )
00907          INFOT = 3
00908          CALL ZHPSVX( 'N', 'U', -1, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
00909      $                R2, W, RW, INFO )
00910          CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK )
00911          INFOT = 4
00912          CALL ZHPSVX( 'N', 'U', 0, -1, A, AF, IP, B, 1, X, 1, RCOND, R1,
00913      $                R2, W, RW, INFO )
00914          CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK )
00915          INFOT = 9
00916          CALL ZHPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 1, X, 2, RCOND, R1,
00917      $                R2, W, RW, INFO )
00918          CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK )
00919          INFOT = 11
00920          CALL ZHPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 2, X, 1, RCOND, R1,
00921      $                R2, W, RW, INFO )
00922          CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK )
00923 *
00924       ELSE IF( LSAMEN( 2, C2, 'SY' ) ) THEN
00925 *
00926 *        ZSYSV
00927 *
00928          SRNAMT = 'ZSYSV '
00929          INFOT = 1
00930          CALL ZSYSV( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
00931          CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK )
00932          INFOT = 2
00933          CALL ZSYSV( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
00934          CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK )
00935          INFOT = 3
00936          CALL ZSYSV( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
00937          CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK )
00938          INFOT = 8
00939          CALL ZSYSV( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
00940          CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK )
00941 *
00942 *        ZSYSVX
00943 *
00944          SRNAMT = 'ZSYSVX'
00945          INFOT = 1
00946          CALL ZSYSVX( '/', 'U', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
00947      $                RCOND, R1, R2, W, 1, RW, INFO )
00948          CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
00949          INFOT = 2
00950          CALL ZSYSVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
00951      $                RCOND, R1, R2, W, 1, RW, INFO )
00952          CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
00953          INFOT = 3
00954          CALL ZSYSVX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1,
00955      $                RCOND, R1, R2, W, 1, RW, INFO )
00956          CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
00957          INFOT = 4
00958          CALL ZSYSVX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1,
00959      $                RCOND, R1, R2, W, 1, RW, INFO )
00960          CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
00961          INFOT = 6
00962          CALL ZSYSVX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, B, 2, X, 2,
00963      $                RCOND, R1, R2, W, 4, RW, INFO )
00964          CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
00965          INFOT = 8
00966          CALL ZSYSVX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, B, 2, X, 2,
00967      $                RCOND, R1, R2, W, 4, RW, INFO )
00968          CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
00969          INFOT = 11
00970          CALL ZSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 1, X, 2,
00971      $                RCOND, R1, R2, W, 4, RW, INFO )
00972          CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
00973          INFOT = 13
00974          CALL ZSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 1,
00975      $                RCOND, R1, R2, W, 4, RW, INFO )
00976          CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
00977          INFOT = 18
00978          CALL ZSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 2,
00979      $                RCOND, R1, R2, W, 3, RW, INFO )
00980          CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
00981 *
00982 *        ZSYSVXX
00983 *
00984          N_ERR_BNDS = 3
00985          NPARAMS = 0
00986          SRNAMT = 'ZSYSVXX'
00987          INFOT = 1
00988          EQ = 'N'
00989          CALL ZSYSVXX( '/', 'U', 0, 0, A, 1, AF, 1, IP, EQ, R, B, 1, X,
00990      $        1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00991      $        ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00992          CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK )
00993          INFOT = 2
00994          CALL ZSYSVXX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, R, B, 1, X,
00995      $        1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
00996      $        ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
00997          CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK )
00998          INFOT = 3
00999          CALL ZSYSVXX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, EQ, R, B, 1, X,
01000      $        1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
01001      $        ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
01002          CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK )
01003          INFOT = 4
01004          EQ = '/'
01005          CALL ZSYSVXX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, EQ, R, B, 1, X,
01006      $        1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
01007      $        ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
01008          CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK )
01009          EQ = 'Y'
01010          INFOT = 6
01011          CALL ZSYSVXX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, EQ, R, B, 2, X,
01012      $        2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
01013      $        ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
01014          CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK )
01015          INFOT = 8
01016          CALL ZSYSVXX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, EQ, R, B, 2, X,
01017      $        2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
01018      $        ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
01019          CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK )
01020          INFOT = 12
01021          EQ = 'N'
01022          CALL ZSYSVXX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, EQ, R, B, 1, X,
01023      $        2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
01024      $        ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
01025          CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK )
01026          INFOT = 14
01027          CALL ZSYSVXX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, EQ, R, B, 2, X,
01028      $        1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
01029      $        ERR_BNDS_C, NPARAMS, PARAMS, W, RW, INFO )
01030          CALL CHKXER( 'ZSYSVXX', INFOT, NOUT, LERR, OK )
01031 *
01032       ELSE IF( LSAMEN( 2, C2, 'SP' ) ) THEN
01033 *
01034 *        ZSPSV
01035 *
01036          SRNAMT = 'ZSPSV '
01037          INFOT = 1
01038          CALL ZSPSV( '/', 0, 0, A, IP, B, 1, INFO )
01039          CALL CHKXER( 'ZSPSV ', INFOT, NOUT, LERR, OK )
01040          INFOT = 2
01041          CALL ZSPSV( 'U', -1, 0, A, IP, B, 1, INFO )
01042          CALL CHKXER( 'ZSPSV ', INFOT, NOUT, LERR, OK )
01043          INFOT = 3
01044          CALL ZSPSV( 'U', 0, -1, A, IP, B, 1, INFO )
01045          CALL CHKXER( 'ZSPSV ', INFOT, NOUT, LERR, OK )
01046          INFOT = 7
01047          CALL ZSPSV( 'U', 2, 0, A, IP, B, 1, INFO )
01048          CALL CHKXER( 'ZSPSV ', INFOT, NOUT, LERR, OK )
01049 *
01050 *        ZSPSVX
01051 *
01052          SRNAMT = 'ZSPSVX'
01053          INFOT = 1
01054          CALL ZSPSVX( '/', 'U', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
01055      $                R2, W, RW, INFO )
01056          CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK )
01057          INFOT = 2
01058          CALL ZSPSVX( 'N', '/', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
01059      $                R2, W, RW, INFO )
01060          CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK )
01061          INFOT = 3
01062          CALL ZSPSVX( 'N', 'U', -1, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
01063      $                R2, W, RW, INFO )
01064          CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK )
01065          INFOT = 4
01066          CALL ZSPSVX( 'N', 'U', 0, -1, A, AF, IP, B, 1, X, 1, RCOND, R1,
01067      $                R2, W, RW, INFO )
01068          CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK )
01069          INFOT = 9
01070          CALL ZSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 1, X, 2, RCOND, R1,
01071      $                R2, W, RW, INFO )
01072          CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK )
01073          INFOT = 11
01074          CALL ZSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 2, X, 1, RCOND, R1,
01075      $                R2, W, RW, INFO )
01076          CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK )
01077       END IF
01078 *
01079 *     Print a summary line.
01080 *
01081       IF( OK ) THEN
01082          WRITE( NOUT, FMT = 9999 )PATH
01083       ELSE
01084          WRITE( NOUT, FMT = 9998 )PATH
01085       END IF
01086 *
01087  9999 FORMAT( 1X, A3, ' drivers passed the tests of the error exits' )
01088  9998 FORMAT( ' *** ', A3, ' drivers failed the tests of the error ',
01089      $      'exits ***' )
01090 *
01091       RETURN
01092 *
01093 *     End of ZERRVX
01094 *
01095       END
 All Files Functions