LAPACK 3.3.0
|
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