LAPACK 3.3.0

zerrgex.f

Go to the documentation of this file.
00001       SUBROUTINE ZERRGE( PATH, NUNIT )
00002 *
00003 *  -- LAPACK test routine (version 3.2.1) --
00004 *     Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
00005 *     April 2009
00006 *
00007 *     .. Scalar Arguments ..
00008       CHARACTER*3        PATH
00009       INTEGER            NUNIT
00010 *     ..
00011 *
00012 *  Purpose
00013 *  =======
00014 *
00015 *  ZERRGE tests the error exits for the COMPLEX*16 routines
00016 *  for general matrices.
00017 *
00018 *  Note that this file is used only when the XBLAS are available,
00019 *  otherwise zerrge.f defines this subroutine.
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   ANRM, CCOND, RCOND, BERR
00041 *     ..
00042 *     .. Local Arrays ..
00043       INTEGER            IP( NMAX )
00044       DOUBLE PRECISION   R( NMAX ), R1( NMAX ), R2( NMAX ), CS( NMAX ),
00045      $                   RS( NMAX )
00046       COMPLEX*16         A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
00047      $                   W( 2*NMAX ), X( NMAX ), ERR_BNDS_N( NMAX, 3 ),
00048      $                   ERR_BNDS_C( NMAX, 3 ), PARAMS
00049 *     ..
00050 *     .. External Functions ..
00051       LOGICAL            LSAMEN
00052       EXTERNAL           LSAMEN
00053 *     ..
00054 *     .. External Subroutines ..
00055       EXTERNAL           ALAESM, CHKXER, ZGBCON, ZGBEQU, ZGBRFS, ZGBTF2,
00056      $                   ZGBTRF, ZGBTRS, ZGECON, ZGEEQU, ZGERFS, ZGETF2,
00057      $                   ZGETRF, ZGETRI, ZGETRS, ZGEEQUB, ZGERFSX,
00058      $                   ZGBEQUB, ZGBRFSX
00059 *     ..
00060 *     .. Scalars in Common ..
00061       LOGICAL            LERR, OK
00062       CHARACTER*32       SRNAMT
00063       INTEGER            INFOT, NOUT
00064 *     ..
00065 *     .. Common blocks ..
00066       COMMON             / INFOC / INFOT, NOUT, OK, LERR
00067       COMMON             / SRNAMC / SRNAMT
00068 *     ..
00069 *     .. Intrinsic Functions ..
00070       INTRINSIC          DBLE, DCMPLX
00071 *     ..
00072 *     .. Executable Statements ..
00073 *
00074       NOUT = NUNIT
00075       WRITE( NOUT, FMT = * )
00076       C2 = PATH( 2: 3 )
00077 *
00078 *     Set the variables to innocuous values.
00079 *
00080       DO 20 J = 1, NMAX
00081          DO 10 I = 1, NMAX
00082             A( I, J ) = DCMPLX( 1.D0 / DBLE( I+J ),
00083      $                  -1.D0 / DBLE( I+J ) )
00084             AF( I, J ) = DCMPLX( 1.D0 / DBLE( I+J ),
00085      $                   -1.D0 / DBLE( I+J ) )
00086    10    CONTINUE
00087          B( J ) = 0.D0
00088          R1( J ) = 0.D0
00089          R2( J ) = 0.D0
00090          W( J ) = 0.D0
00091          X( J ) = 0.D0
00092          CS( J ) = 0.D0
00093          RS( J ) = 0.D0
00094          IP( J ) = J
00095    20 CONTINUE
00096       OK = .TRUE.
00097 *
00098 *     Test error exits of the routines that use the LU decomposition
00099 *     of a general matrix.
00100 *
00101       IF( LSAMEN( 2, C2, 'GE' ) ) THEN
00102 *
00103 *        ZGETRF
00104 *
00105          SRNAMT = 'ZGETRF'
00106          INFOT = 1
00107          CALL ZGETRF( -1, 0, A, 1, IP, INFO )
00108          CALL CHKXER( 'ZGETRF', INFOT, NOUT, LERR, OK )
00109          INFOT = 2
00110          CALL ZGETRF( 0, -1, A, 1, IP, INFO )
00111          CALL CHKXER( 'ZGETRF', INFOT, NOUT, LERR, OK )
00112          INFOT = 4
00113          CALL ZGETRF( 2, 1, A, 1, IP, INFO )
00114          CALL CHKXER( 'ZGETRF', INFOT, NOUT, LERR, OK )
00115 *
00116 *        ZGETF2
00117 *
00118          SRNAMT = 'ZGETF2'
00119          INFOT = 1
00120          CALL ZGETF2( -1, 0, A, 1, IP, INFO )
00121          CALL CHKXER( 'ZGETF2', INFOT, NOUT, LERR, OK )
00122          INFOT = 2
00123          CALL ZGETF2( 0, -1, A, 1, IP, INFO )
00124          CALL CHKXER( 'ZGETF2', INFOT, NOUT, LERR, OK )
00125          INFOT = 4
00126          CALL ZGETF2( 2, 1, A, 1, IP, INFO )
00127          CALL CHKXER( 'ZGETF2', INFOT, NOUT, LERR, OK )
00128 *
00129 *        ZGETRI
00130 *
00131          SRNAMT = 'ZGETRI'
00132          INFOT = 1
00133          CALL ZGETRI( -1, A, 1, IP, W, 1, INFO )
00134          CALL CHKXER( 'ZGETRI', INFOT, NOUT, LERR, OK )
00135          INFOT = 3
00136          CALL ZGETRI( 2, A, 1, IP, W, 2, INFO )
00137          CALL CHKXER( 'ZGETRI', INFOT, NOUT, LERR, OK )
00138          INFOT = 6
00139          CALL ZGETRI( 2, A, 2, IP, W, 1, INFO )
00140          CALL CHKXER( 'ZGETRI', INFOT, NOUT, LERR, OK )
00141 *
00142 *        ZGETRS
00143 *
00144          SRNAMT = 'ZGETRS'
00145          INFOT = 1
00146          CALL ZGETRS( '/', 0, 0, A, 1, IP, B, 1, INFO )
00147          CALL CHKXER( 'ZGETRS', INFOT, NOUT, LERR, OK )
00148          INFOT = 2
00149          CALL ZGETRS( 'N', -1, 0, A, 1, IP, B, 1, INFO )
00150          CALL CHKXER( 'ZGETRS', INFOT, NOUT, LERR, OK )
00151          INFOT = 3
00152          CALL ZGETRS( 'N', 0, -1, A, 1, IP, B, 1, INFO )
00153          CALL CHKXER( 'ZGETRS', INFOT, NOUT, LERR, OK )
00154          INFOT = 5
00155          CALL ZGETRS( 'N', 2, 1, A, 1, IP, B, 2, INFO )
00156          CALL CHKXER( 'ZGETRS', INFOT, NOUT, LERR, OK )
00157          INFOT = 8
00158          CALL ZGETRS( 'N', 2, 1, A, 2, IP, B, 1, INFO )
00159          CALL CHKXER( 'ZGETRS', INFOT, NOUT, LERR, OK )
00160 *
00161 *        ZGERFS
00162 *
00163          SRNAMT = 'ZGERFS'
00164          INFOT = 1
00165          CALL ZGERFS( '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1, R2, W,
00166      $                R, INFO )
00167          CALL CHKXER( 'ZGERFS', INFOT, NOUT, LERR, OK )
00168          INFOT = 2
00169          CALL ZGERFS( 'N', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1, R2,
00170      $                W, R, INFO )
00171          CALL CHKXER( 'ZGERFS', INFOT, NOUT, LERR, OK )
00172          INFOT = 3
00173          CALL ZGERFS( 'N', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1, R1, R2,
00174      $                W, R, INFO )
00175          CALL CHKXER( 'ZGERFS', INFOT, NOUT, LERR, OK )
00176          INFOT = 5
00177          CALL ZGERFS( 'N', 2, 1, A, 1, AF, 2, IP, B, 2, X, 2, R1, R2, W,
00178      $                R, INFO )
00179          CALL CHKXER( 'ZGERFS', INFOT, NOUT, LERR, OK )
00180          INFOT = 7
00181          CALL ZGERFS( 'N', 2, 1, A, 2, AF, 1, IP, B, 2, X, 2, R1, R2, W,
00182      $                R, INFO )
00183          CALL CHKXER( 'ZGERFS', INFOT, NOUT, LERR, OK )
00184          INFOT = 10
00185          CALL ZGERFS( 'N', 2, 1, A, 2, AF, 2, IP, B, 1, X, 2, R1, R2, W,
00186      $                R, INFO )
00187          CALL CHKXER( 'ZGERFS', INFOT, NOUT, LERR, OK )
00188          INFOT = 12
00189          CALL ZGERFS( 'N', 2, 1, A, 2, AF, 2, IP, B, 2, X, 1, R1, R2, W,
00190      $                R, INFO )
00191          CALL CHKXER( 'ZGERFS', INFOT, NOUT, LERR, OK )
00192 *
00193 *        ZGERFSX
00194 *
00195          N_ERR_BNDS = 3
00196          NPARAMS = 0
00197          SRNAMT = 'ZGERFSX'
00198          INFOT = 1
00199          CALL ZGERFSX( '/', EQ, 0, 0, A, 1, AF, 1, IP, RS, CS, B, 1, X,
00200      $        1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00201      $        NPARAMS, PARAMS, W, R, INFO )
00202          CALL CHKXER( 'ZGERFSX', INFOT, NOUT, LERR, OK )
00203          INFOT = 2
00204          EQ = '/'
00205          CALL ZGERFSX( 'N', EQ, 2, 1, A, 1, AF, 2, IP, RS, CS, B, 2, X,
00206      $        2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00207      $        NPARAMS, PARAMS, W, R, INFO )
00208          CALL CHKXER( 'ZGERFSX', INFOT, NOUT, LERR, OK )
00209          INFOT = 3
00210          EQ = 'R'
00211          CALL ZGERFSX( 'N', EQ, -1, 0, A, 1, AF, 1, IP, RS, CS, B, 1, X,
00212      $        1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00213      $        NPARAMS, PARAMS, W, R, INFO )
00214          CALL CHKXER( 'ZGERFSX', INFOT, NOUT, LERR, OK )
00215          INFOT = 4
00216          CALL ZGERFSX( 'N', EQ, 0, -1, A, 1, AF, 1, IP, RS, CS, B, 1, X,
00217      $        1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00218      $        NPARAMS, PARAMS, W, R, INFO )
00219          CALL CHKXER( 'ZGERFSX', INFOT, NOUT, LERR, OK )
00220          INFOT = 6
00221          CALL ZGERFSX( 'N', EQ, 2, 1, A, 1, AF, 2, IP, RS, CS, B, 2, X,
00222      $        2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00223      $        NPARAMS, PARAMS, W, R, INFO )
00224          CALL CHKXER( 'ZGERFSX', INFOT, NOUT, LERR, OK )
00225          INFOT = 8
00226          CALL ZGERFSX( 'N', EQ, 2, 1, A, 2, AF, 1, IP, RS, CS, B, 2, X,
00227      $        2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00228      $        NPARAMS, PARAMS, W, R, INFO )
00229          CALL CHKXER( 'ZGERFSX', INFOT, NOUT, LERR, OK )
00230          INFOT = 13
00231          EQ = 'C'
00232          CALL ZGERFSX( 'N', EQ, 2, 1, A, 2, AF, 2, IP, RS, CS, B, 1, X,
00233      $        2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00234      $        NPARAMS, PARAMS, W, R, INFO )
00235          CALL CHKXER( 'ZGERFSX', INFOT, NOUT, LERR, OK )
00236          INFOT = 15
00237          CALL ZGERFSX( 'N', EQ, 2, 1, A, 2, AF, 2, IP, RS, CS, B, 2, X,
00238      $        1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00239      $        NPARAMS, PARAMS, W, R, INFO )
00240          CALL CHKXER( 'ZGERFSX', INFOT, NOUT, LERR, OK )
00241 *
00242 *        ZGECON
00243 *
00244          SRNAMT = 'ZGECON'
00245          INFOT = 1
00246          CALL ZGECON( '/', 0, A, 1, ANRM, RCOND, W, R, INFO )
00247          CALL CHKXER( 'ZGECON', INFOT, NOUT, LERR, OK )
00248          INFOT = 2
00249          CALL ZGECON( '1', -1, A, 1, ANRM, RCOND, W, R, INFO )
00250          CALL CHKXER( 'ZGECON', INFOT, NOUT, LERR, OK )
00251          INFOT = 4
00252          CALL ZGECON( '1', 2, A, 1, ANRM, RCOND, W, R, INFO )
00253          CALL CHKXER( 'ZGECON', INFOT, NOUT, LERR, OK )
00254 *
00255 *        ZGEEQU
00256 *
00257          SRNAMT = 'ZGEEQU'
00258          INFOT = 1
00259          CALL ZGEEQU( -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO )
00260          CALL CHKXER( 'ZGEEQU', INFOT, NOUT, LERR, OK )
00261          INFOT = 2
00262          CALL ZGEEQU( 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO )
00263          CALL CHKXER( 'ZGEEQU', INFOT, NOUT, LERR, OK )
00264          INFOT = 4
00265          CALL ZGEEQU( 2, 2, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO )
00266          CALL CHKXER( 'ZGEEQU', INFOT, NOUT, LERR, OK )
00267 *
00268 *        ZGEEQUB
00269 *
00270          SRNAMT = 'ZGEEQUB'
00271          INFOT = 1
00272          CALL ZGEEQUB( -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO )
00273          CALL CHKXER( 'ZGEEQUB', INFOT, NOUT, LERR, OK )
00274          INFOT = 2
00275          CALL ZGEEQUB( 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO )
00276          CALL CHKXER( 'ZGEEQUB', INFOT, NOUT, LERR, OK )
00277          INFOT = 4
00278          CALL ZGEEQUB( 2, 2, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO )
00279          CALL CHKXER( 'ZGEEQUB', INFOT, NOUT, LERR, OK )
00280 *
00281 *     Test error exits of the routines that use the LU decomposition
00282 *     of a general band matrix.
00283 *
00284       ELSE IF( LSAMEN( 2, C2, 'GB' ) ) THEN
00285 *
00286 *        ZGBTRF
00287 *
00288          SRNAMT = 'ZGBTRF'
00289          INFOT = 1
00290          CALL ZGBTRF( -1, 0, 0, 0, A, 1, IP, INFO )
00291          CALL CHKXER( 'ZGBTRF', INFOT, NOUT, LERR, OK )
00292          INFOT = 2
00293          CALL ZGBTRF( 0, -1, 0, 0, A, 1, IP, INFO )
00294          CALL CHKXER( 'ZGBTRF', INFOT, NOUT, LERR, OK )
00295          INFOT = 3
00296          CALL ZGBTRF( 1, 1, -1, 0, A, 1, IP, INFO )
00297          CALL CHKXER( 'ZGBTRF', INFOT, NOUT, LERR, OK )
00298          INFOT = 4
00299          CALL ZGBTRF( 1, 1, 0, -1, A, 1, IP, INFO )
00300          CALL CHKXER( 'ZGBTRF', INFOT, NOUT, LERR, OK )
00301          INFOT = 6
00302          CALL ZGBTRF( 2, 2, 1, 1, A, 3, IP, INFO )
00303          CALL CHKXER( 'ZGBTRF', INFOT, NOUT, LERR, OK )
00304 *
00305 *        ZGBTF2
00306 *
00307          SRNAMT = 'ZGBTF2'
00308          INFOT = 1
00309          CALL ZGBTF2( -1, 0, 0, 0, A, 1, IP, INFO )
00310          CALL CHKXER( 'ZGBTF2', INFOT, NOUT, LERR, OK )
00311          INFOT = 2
00312          CALL ZGBTF2( 0, -1, 0, 0, A, 1, IP, INFO )
00313          CALL CHKXER( 'ZGBTF2', INFOT, NOUT, LERR, OK )
00314          INFOT = 3
00315          CALL ZGBTF2( 1, 1, -1, 0, A, 1, IP, INFO )
00316          CALL CHKXER( 'ZGBTF2', INFOT, NOUT, LERR, OK )
00317          INFOT = 4
00318          CALL ZGBTF2( 1, 1, 0, -1, A, 1, IP, INFO )
00319          CALL CHKXER( 'ZGBTF2', INFOT, NOUT, LERR, OK )
00320          INFOT = 6
00321          CALL ZGBTF2( 2, 2, 1, 1, A, 3, IP, INFO )
00322          CALL CHKXER( 'ZGBTF2', INFOT, NOUT, LERR, OK )
00323 *
00324 *        ZGBTRS
00325 *
00326          SRNAMT = 'ZGBTRS'
00327          INFOT = 1
00328          CALL ZGBTRS( '/', 0, 0, 0, 1, A, 1, IP, B, 1, INFO )
00329          CALL CHKXER( 'ZGBTRS', INFOT, NOUT, LERR, OK )
00330          INFOT = 2
00331          CALL ZGBTRS( 'N', -1, 0, 0, 1, A, 1, IP, B, 1, INFO )
00332          CALL CHKXER( 'ZGBTRS', INFOT, NOUT, LERR, OK )
00333          INFOT = 3
00334          CALL ZGBTRS( 'N', 1, -1, 0, 1, A, 1, IP, B, 1, INFO )
00335          CALL CHKXER( 'ZGBTRS', INFOT, NOUT, LERR, OK )
00336          INFOT = 4
00337          CALL ZGBTRS( 'N', 1, 0, -1, 1, A, 1, IP, B, 1, INFO )
00338          CALL CHKXER( 'ZGBTRS', INFOT, NOUT, LERR, OK )
00339          INFOT = 5
00340          CALL ZGBTRS( 'N', 1, 0, 0, -1, A, 1, IP, B, 1, INFO )
00341          CALL CHKXER( 'ZGBTRS', INFOT, NOUT, LERR, OK )
00342          INFOT = 7
00343          CALL ZGBTRS( 'N', 2, 1, 1, 1, A, 3, IP, B, 2, INFO )
00344          CALL CHKXER( 'ZGBTRS', INFOT, NOUT, LERR, OK )
00345          INFOT = 10
00346          CALL ZGBTRS( 'N', 2, 0, 0, 1, A, 1, IP, B, 1, INFO )
00347          CALL CHKXER( 'ZGBTRS', INFOT, NOUT, LERR, OK )
00348 *
00349 *        ZGBRFS
00350 *
00351          SRNAMT = 'ZGBRFS'
00352          INFOT = 1
00353          CALL ZGBRFS( '/', 0, 0, 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1,
00354      $                R2, W, R, INFO )
00355          CALL CHKXER( 'ZGBRFS', INFOT, NOUT, LERR, OK )
00356          INFOT = 2
00357          CALL ZGBRFS( 'N', -1, 0, 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1,
00358      $                R2, W, R, INFO )
00359          CALL CHKXER( 'ZGBRFS', INFOT, NOUT, LERR, OK )
00360          INFOT = 3
00361          CALL ZGBRFS( 'N', 1, -1, 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1,
00362      $                R2, W, R, INFO )
00363          CALL CHKXER( 'ZGBRFS', INFOT, NOUT, LERR, OK )
00364          INFOT = 4
00365          CALL ZGBRFS( 'N', 1, 0, -1, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1,
00366      $                R2, W, R, INFO )
00367          CALL CHKXER( 'ZGBRFS', INFOT, NOUT, LERR, OK )
00368          INFOT = 5
00369          CALL ZGBRFS( 'N', 1, 0, 0, -1, A, 1, AF, 1, IP, B, 1, X, 1, R1,
00370      $                R2, W, R, INFO )
00371          CALL CHKXER( 'ZGBRFS', INFOT, NOUT, LERR, OK )
00372          INFOT = 7
00373          CALL ZGBRFS( 'N', 2, 1, 1, 1, A, 2, AF, 4, IP, B, 2, X, 2, R1,
00374      $                R2, W, R, INFO )
00375          CALL CHKXER( 'ZGBRFS', INFOT, NOUT, LERR, OK )
00376          INFOT = 9
00377          CALL ZGBRFS( 'N', 2, 1, 1, 1, A, 3, AF, 3, IP, B, 2, X, 2, R1,
00378      $                R2, W, R, INFO )
00379          CALL CHKXER( 'ZGBRFS', INFOT, NOUT, LERR, OK )
00380          INFOT = 12
00381          CALL ZGBRFS( 'N', 2, 0, 0, 1, A, 1, AF, 1, IP, B, 1, X, 2, R1,
00382      $                R2, W, R, INFO )
00383          CALL CHKXER( 'ZGBRFS', INFOT, NOUT, LERR, OK )
00384          INFOT = 14
00385          CALL ZGBRFS( 'N', 2, 0, 0, 1, A, 1, AF, 1, IP, B, 2, X, 1, R1,
00386      $                R2, W, R, INFO )
00387          CALL CHKXER( 'ZGBRFS', INFOT, NOUT, LERR, OK )
00388 *
00389 *        ZGBRFSX
00390 *
00391          N_ERR_BNDS = 3
00392          NPARAMS = 0
00393          SRNAMT = 'ZGBRFSX'
00394          INFOT = 1
00395          CALL ZGBRFSX( '/', EQ, 0, 0, 0, 0, A, 1, AF, 1, IP, RS, CS, B,
00396      $                1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
00397      $                ERR_BNDS_C, NPARAMS, PARAMS,  W, R, INFO )
00398          CALL CHKXER( 'ZGBRFSX', INFOT, NOUT, LERR, OK )
00399          INFOT = 2
00400          EQ = '/'
00401          CALL ZGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 1, AF, 2, IP, RS, CS, B,
00402      $                2, X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
00403      $                ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
00404          CALL CHKXER( 'ZGBRFSX', INFOT, NOUT, LERR, OK )
00405          INFOT = 3
00406          EQ = 'R'
00407          CALL ZGBRFSX( 'N', EQ, -1, 1, 1, 0, A, 1, AF, 1, IP, RS, CS, B,
00408      $                1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
00409      $                ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
00410          CALL CHKXER( 'ZGBRFSX', INFOT, NOUT, LERR, OK )
00411          INFOT = 4
00412          EQ = 'R'
00413          CALL ZGBRFSX( 'N', EQ, 2, -1, 1, 1, A, 3, AF, 4, IP, RS, CS, B,
00414      $                1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
00415      $                ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
00416          CALL CHKXER( 'ZGBRFSX', INFOT, NOUT, LERR, OK )
00417          INFOT = 5
00418          EQ = 'R'
00419          CALL ZGBRFSX( 'N', EQ, 2, 1, -1, 1, A, 3, AF, 4, IP, RS, CS, B,
00420      $                1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
00421      $                ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
00422          CALL CHKXER( 'ZGBRFSX', INFOT, NOUT, LERR, OK )
00423          INFOT = 6
00424          CALL ZGBRFSX( 'N', EQ, 0, 0, 0, -1, A, 1, AF, 1, IP, RS, CS, B,
00425      $                1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
00426      $                ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
00427          CALL CHKXER( 'ZGBRFSX', INFOT, NOUT, LERR, OK )
00428          INFOT = 8
00429          CALL ZGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 1, AF, 2, IP, RS, CS, B,
00430      $                2, X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
00431      $                ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
00432          CALL CHKXER( 'ZGBRFSX', INFOT, NOUT, LERR, OK )
00433          INFOT = 10
00434          CALL ZGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 3, AF, 3, IP, RS, CS, B,
00435      $                2, X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
00436      $                ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
00437          CALL CHKXER( 'ZGBRFSX', INFOT, NOUT, LERR, OK )
00438          INFOT = 13
00439          EQ = 'C'
00440          CALL ZGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 3, AF, 5, IP, RS, CS, B,
00441      $                1, X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
00442      $                ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
00443          CALL CHKXER( 'ZGBRFSX', INFOT, NOUT, LERR, OK )
00444          INFOT = 15
00445          CALL ZGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 3, AF, 5, IP, RS, CS, B,
00446      $                2, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N,
00447      $                ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO )
00448          CALL CHKXER( 'ZGBRFSX', INFOT, NOUT, LERR, OK )
00449 *
00450 *        ZGBCON
00451 *
00452          SRNAMT = 'ZGBCON'
00453          INFOT = 1
00454          CALL ZGBCON( '/', 0, 0, 0, A, 1, IP, ANRM, RCOND, W, R, INFO )
00455          CALL CHKXER( 'ZGBCON', INFOT, NOUT, LERR, OK )
00456          INFOT = 2
00457          CALL ZGBCON( '1', -1, 0, 0, A, 1, IP, ANRM, RCOND, W, R, INFO )
00458          CALL CHKXER( 'ZGBCON', INFOT, NOUT, LERR, OK )
00459          INFOT = 3
00460          CALL ZGBCON( '1', 1, -1, 0, A, 1, IP, ANRM, RCOND, W, R, INFO )
00461          CALL CHKXER( 'ZGBCON', INFOT, NOUT, LERR, OK )
00462          INFOT = 4
00463          CALL ZGBCON( '1', 1, 0, -1, A, 1, IP, ANRM, RCOND, W, R, INFO )
00464          CALL CHKXER( 'ZGBCON', INFOT, NOUT, LERR, OK )
00465          INFOT = 6
00466          CALL ZGBCON( '1', 2, 1, 1, A, 3, IP, ANRM, RCOND, W, R, INFO )
00467          CALL CHKXER( 'ZGBCON', INFOT, NOUT, LERR, OK )
00468 *
00469 *        ZGBEQU
00470 *
00471          SRNAMT = 'ZGBEQU'
00472          INFOT = 1
00473          CALL ZGBEQU( -1, 0, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM,
00474      $                INFO )
00475          CALL CHKXER( 'ZGBEQU', INFOT, NOUT, LERR, OK )
00476          INFOT = 2
00477          CALL ZGBEQU( 0, -1, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM,
00478      $                INFO )
00479          CALL CHKXER( 'ZGBEQU', INFOT, NOUT, LERR, OK )
00480          INFOT = 3
00481          CALL ZGBEQU( 1, 1, -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM,
00482      $                INFO )
00483          CALL CHKXER( 'ZGBEQU', INFOT, NOUT, LERR, OK )
00484          INFOT = 4
00485          CALL ZGBEQU( 1, 1, 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM,
00486      $                INFO )
00487          CALL CHKXER( 'ZGBEQU', INFOT, NOUT, LERR, OK )
00488          INFOT = 6
00489          CALL ZGBEQU( 2, 2, 1, 1, A, 2, R1, R2, RCOND, CCOND, ANRM,
00490      $                INFO )
00491          CALL CHKXER( 'ZGBEQU', INFOT, NOUT, LERR, OK )
00492 *
00493 *        ZGBEQUB
00494 *
00495          SRNAMT = 'ZGBEQUB'
00496          INFOT = 1
00497          CALL ZGBEQUB( -1, 0, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM,
00498      $                INFO )
00499          CALL CHKXER( 'ZGBEQUB', INFOT, NOUT, LERR, OK )
00500          INFOT = 2
00501          CALL ZGBEQUB( 0, -1, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM,
00502      $                INFO )
00503          CALL CHKXER( 'ZGBEQUB', INFOT, NOUT, LERR, OK )
00504          INFOT = 3
00505          CALL ZGBEQUB( 1, 1, -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM,
00506      $                INFO )
00507          CALL CHKXER( 'ZGBEQUB', INFOT, NOUT, LERR, OK )
00508          INFOT = 4
00509          CALL ZGBEQUB( 1, 1, 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM,
00510      $                INFO )
00511          CALL CHKXER( 'ZGBEQUB', INFOT, NOUT, LERR, OK )
00512          INFOT = 6
00513          CALL ZGBEQUB( 2, 2, 1, 1, A, 2, R1, R2, RCOND, CCOND, ANRM,
00514      $                INFO )
00515          CALL CHKXER( 'ZGBEQUB', INFOT, NOUT, LERR, OK )
00516       END IF
00517 *
00518 *     Print a summary line.
00519 *
00520       CALL ALAESM( PATH, OK, NOUT )
00521 *
00522       RETURN
00523 *
00524 *     End of ZERRGE
00525 *
00526       END
 All Files Functions