1*> \brief \b ZERRGEX 2* 3* =========== DOCUMENTATION =========== 4* 5* Online html documentation available at 6* http://www.netlib.org/lapack/explore-html/ 7* 8* Definition: 9* =========== 10* 11* SUBROUTINE ZERRGE( PATH, NUNIT ) 12* 13* .. Scalar Arguments .. 14* CHARACTER*3 PATH 15* INTEGER NUNIT 16* .. 17* 18* 19*> \par Purpose: 20* ============= 21*> 22*> \verbatim 23*> 24*> ZERRGE tests the error exits for the COMPLEX*16 routines 25*> for general matrices. 26*> 27*> Note that this file is used only when the XBLAS are available, 28*> otherwise zerrge.f defines this subroutine. 29*> \endverbatim 30* 31* Arguments: 32* ========== 33* 34*> \param[in] PATH 35*> \verbatim 36*> PATH is CHARACTER*3 37*> The LAPACK path name for the routines to be tested. 38*> \endverbatim 39*> 40*> \param[in] NUNIT 41*> \verbatim 42*> NUNIT is INTEGER 43*> The unit number for output. 44*> \endverbatim 45* 46* Authors: 47* ======== 48* 49*> \author Univ. of Tennessee 50*> \author Univ. of California Berkeley 51*> \author Univ. of Colorado Denver 52*> \author NAG Ltd. 53* 54*> \date December 2016 55* 56*> \ingroup complex16_lin 57* 58* ===================================================================== 59 SUBROUTINE ZERRGE( PATH, NUNIT ) 60* 61* -- LAPACK test routine (version 3.7.0) -- 62* -- LAPACK is a software package provided by Univ. of Tennessee, -- 63* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- 64* December 2016 65* 66* .. Scalar Arguments .. 67 CHARACTER*3 PATH 68 INTEGER NUNIT 69* .. 70* 71* ===================================================================== 72* 73* .. Parameters .. 74 INTEGER NMAX 75 PARAMETER ( NMAX = 4 ) 76* .. 77* .. Local Scalars .. 78 CHARACTER EQ 79 CHARACTER*2 C2 80 INTEGER I, INFO, J, N_ERR_BNDS, NPARAMS 81 DOUBLE PRECISION ANRM, CCOND, RCOND, BERR 82* .. 83* .. Local Arrays .. 84 INTEGER IP( NMAX ) 85 DOUBLE PRECISION R( NMAX ), R1( NMAX ), R2( NMAX ), CS( NMAX ), 86 $ RS( NMAX ) 87 COMPLEX*16 A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ), 88 $ W( 2*NMAX ), X( NMAX ), ERR_BNDS_N( NMAX, 3 ), 89 $ ERR_BNDS_C( NMAX, 3 ), PARAMS 90* .. 91* .. External Functions .. 92 LOGICAL LSAMEN 93 EXTERNAL LSAMEN 94* .. 95* .. External Subroutines .. 96 EXTERNAL ALAESM, CHKXER, ZGBCON, ZGBEQU, ZGBRFS, ZGBTF2, 97 $ ZGBTRF, ZGBTRS, ZGECON, ZGEEQU, ZGERFS, ZGETF2, 98 $ ZGETRF, ZGETRI, ZGETRS, ZGEEQUB, ZGERFSX, 99 $ ZGBEQUB, ZGBRFSX 100* .. 101* .. Scalars in Common .. 102 LOGICAL LERR, OK 103 CHARACTER*32 SRNAMT 104 INTEGER INFOT, NOUT 105* .. 106* .. Common blocks .. 107 COMMON / INFOC / INFOT, NOUT, OK, LERR 108 COMMON / SRNAMC / SRNAMT 109* .. 110* .. Intrinsic Functions .. 111 INTRINSIC DBLE, DCMPLX 112* .. 113* .. Executable Statements .. 114* 115 NOUT = NUNIT 116 WRITE( NOUT, FMT = * ) 117 C2 = PATH( 2: 3 ) 118* 119* Set the variables to innocuous values. 120* 121 DO 20 J = 1, NMAX 122 DO 10 I = 1, NMAX 123 A( I, J ) = DCMPLX( 1.D0 / DBLE( I+J ), 124 $ -1.D0 / DBLE( I+J ) ) 125 AF( I, J ) = DCMPLX( 1.D0 / DBLE( I+J ), 126 $ -1.D0 / DBLE( I+J ) ) 127 10 CONTINUE 128 B( J ) = 0.D0 129 R1( J ) = 0.D0 130 R2( J ) = 0.D0 131 W( J ) = 0.D0 132 X( J ) = 0.D0 133 CS( J ) = 0.D0 134 RS( J ) = 0.D0 135 IP( J ) = J 136 20 CONTINUE 137 OK = .TRUE. 138* 139* Test error exits of the routines that use the LU decomposition 140* of a general matrix. 141* 142 IF( LSAMEN( 2, C2, 'GE' ) ) THEN 143* 144* ZGETRF 145* 146 SRNAMT = 'ZGETRF' 147 INFOT = 1 148 CALL ZGETRF( -1, 0, A, 1, IP, INFO ) 149 CALL CHKXER( 'ZGETRF', INFOT, NOUT, LERR, OK ) 150 INFOT = 2 151 CALL ZGETRF( 0, -1, A, 1, IP, INFO ) 152 CALL CHKXER( 'ZGETRF', INFOT, NOUT, LERR, OK ) 153 INFOT = 4 154 CALL ZGETRF( 2, 1, A, 1, IP, INFO ) 155 CALL CHKXER( 'ZGETRF', INFOT, NOUT, LERR, OK ) 156* 157* ZGETF2 158* 159 SRNAMT = 'ZGETF2' 160 INFOT = 1 161 CALL ZGETF2( -1, 0, A, 1, IP, INFO ) 162 CALL CHKXER( 'ZGETF2', INFOT, NOUT, LERR, OK ) 163 INFOT = 2 164 CALL ZGETF2( 0, -1, A, 1, IP, INFO ) 165 CALL CHKXER( 'ZGETF2', INFOT, NOUT, LERR, OK ) 166 INFOT = 4 167 CALL ZGETF2( 2, 1, A, 1, IP, INFO ) 168 CALL CHKXER( 'ZGETF2', INFOT, NOUT, LERR, OK ) 169* 170* ZGETRI 171* 172 SRNAMT = 'ZGETRI' 173 INFOT = 1 174 CALL ZGETRI( -1, A, 1, IP, W, 1, INFO ) 175 CALL CHKXER( 'ZGETRI', INFOT, NOUT, LERR, OK ) 176 INFOT = 3 177 CALL ZGETRI( 2, A, 1, IP, W, 2, INFO ) 178 CALL CHKXER( 'ZGETRI', INFOT, NOUT, LERR, OK ) 179 INFOT = 6 180 CALL ZGETRI( 2, A, 2, IP, W, 1, INFO ) 181 CALL CHKXER( 'ZGETRI', INFOT, NOUT, LERR, OK ) 182* 183* ZGETRS 184* 185 SRNAMT = 'ZGETRS' 186 INFOT = 1 187 CALL ZGETRS( '/', 0, 0, A, 1, IP, B, 1, INFO ) 188 CALL CHKXER( 'ZGETRS', INFOT, NOUT, LERR, OK ) 189 INFOT = 2 190 CALL ZGETRS( 'N', -1, 0, A, 1, IP, B, 1, INFO ) 191 CALL CHKXER( 'ZGETRS', INFOT, NOUT, LERR, OK ) 192 INFOT = 3 193 CALL ZGETRS( 'N', 0, -1, A, 1, IP, B, 1, INFO ) 194 CALL CHKXER( 'ZGETRS', INFOT, NOUT, LERR, OK ) 195 INFOT = 5 196 CALL ZGETRS( 'N', 2, 1, A, 1, IP, B, 2, INFO ) 197 CALL CHKXER( 'ZGETRS', INFOT, NOUT, LERR, OK ) 198 INFOT = 8 199 CALL ZGETRS( 'N', 2, 1, A, 2, IP, B, 1, INFO ) 200 CALL CHKXER( 'ZGETRS', INFOT, NOUT, LERR, OK ) 201* 202* ZGERFS 203* 204 SRNAMT = 'ZGERFS' 205 INFOT = 1 206 CALL ZGERFS( '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1, R2, W, 207 $ R, INFO ) 208 CALL CHKXER( 'ZGERFS', INFOT, NOUT, LERR, OK ) 209 INFOT = 2 210 CALL ZGERFS( 'N', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1, R2, 211 $ W, R, INFO ) 212 CALL CHKXER( 'ZGERFS', INFOT, NOUT, LERR, OK ) 213 INFOT = 3 214 CALL ZGERFS( 'N', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1, R1, R2, 215 $ W, R, INFO ) 216 CALL CHKXER( 'ZGERFS', INFOT, NOUT, LERR, OK ) 217 INFOT = 5 218 CALL ZGERFS( 'N', 2, 1, A, 1, AF, 2, IP, B, 2, X, 2, R1, R2, W, 219 $ R, INFO ) 220 CALL CHKXER( 'ZGERFS', INFOT, NOUT, LERR, OK ) 221 INFOT = 7 222 CALL ZGERFS( 'N', 2, 1, A, 2, AF, 1, IP, B, 2, X, 2, R1, R2, W, 223 $ R, INFO ) 224 CALL CHKXER( 'ZGERFS', INFOT, NOUT, LERR, OK ) 225 INFOT = 10 226 CALL ZGERFS( 'N', 2, 1, A, 2, AF, 2, IP, B, 1, X, 2, R1, R2, W, 227 $ R, INFO ) 228 CALL CHKXER( 'ZGERFS', INFOT, NOUT, LERR, OK ) 229 INFOT = 12 230 CALL ZGERFS( 'N', 2, 1, A, 2, AF, 2, IP, B, 2, X, 1, R1, R2, W, 231 $ R, INFO ) 232 CALL CHKXER( 'ZGERFS', INFOT, NOUT, LERR, OK ) 233* 234* ZGERFSX 235* 236 N_ERR_BNDS = 3 237 NPARAMS = 0 238 SRNAMT = 'ZGERFSX' 239 INFOT = 1 240 CALL ZGERFSX( '/', EQ, 0, 0, A, 1, AF, 1, IP, RS, CS, B, 1, X, 241 $ 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, 242 $ NPARAMS, PARAMS, W, R, INFO ) 243 CALL CHKXER( 'ZGERFSX', INFOT, NOUT, LERR, OK ) 244 INFOT = 2 245 EQ = '/' 246 CALL ZGERFSX( 'N', EQ, 2, 1, A, 1, AF, 2, IP, RS, CS, B, 2, X, 247 $ 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, 248 $ NPARAMS, PARAMS, W, R, INFO ) 249 CALL CHKXER( 'ZGERFSX', INFOT, NOUT, LERR, OK ) 250 INFOT = 3 251 EQ = 'R' 252 CALL ZGERFSX( 'N', EQ, -1, 0, A, 1, AF, 1, IP, RS, CS, B, 1, X, 253 $ 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, 254 $ NPARAMS, PARAMS, W, R, INFO ) 255 CALL CHKXER( 'ZGERFSX', INFOT, NOUT, LERR, OK ) 256 INFOT = 4 257 CALL ZGERFSX( 'N', EQ, 0, -1, A, 1, AF, 1, IP, RS, CS, B, 1, X, 258 $ 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, 259 $ NPARAMS, PARAMS, W, R, INFO ) 260 CALL CHKXER( 'ZGERFSX', INFOT, NOUT, LERR, OK ) 261 INFOT = 6 262 CALL ZGERFSX( 'N', EQ, 2, 1, A, 1, AF, 2, IP, RS, CS, B, 2, X, 263 $ 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, 264 $ NPARAMS, PARAMS, W, R, INFO ) 265 CALL CHKXER( 'ZGERFSX', INFOT, NOUT, LERR, OK ) 266 INFOT = 8 267 CALL ZGERFSX( 'N', EQ, 2, 1, A, 2, AF, 1, IP, RS, CS, B, 2, X, 268 $ 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, 269 $ NPARAMS, PARAMS, W, R, INFO ) 270 CALL CHKXER( 'ZGERFSX', INFOT, NOUT, LERR, OK ) 271 INFOT = 13 272 EQ = 'C' 273 CALL ZGERFSX( 'N', EQ, 2, 1, A, 2, AF, 2, IP, RS, CS, B, 1, X, 274 $ 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, 275 $ NPARAMS, PARAMS, W, R, INFO ) 276 CALL CHKXER( 'ZGERFSX', INFOT, NOUT, LERR, OK ) 277 INFOT = 15 278 CALL ZGERFSX( 'N', EQ, 2, 1, A, 2, AF, 2, IP, RS, CS, B, 2, X, 279 $ 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, 280 $ NPARAMS, PARAMS, W, R, INFO ) 281 CALL CHKXER( 'ZGERFSX', INFOT, NOUT, LERR, OK ) 282* 283* ZGECON 284* 285 SRNAMT = 'ZGECON' 286 INFOT = 1 287 CALL ZGECON( '/', 0, A, 1, ANRM, RCOND, W, R, INFO ) 288 CALL CHKXER( 'ZGECON', INFOT, NOUT, LERR, OK ) 289 INFOT = 2 290 CALL ZGECON( '1', -1, A, 1, ANRM, RCOND, W, R, INFO ) 291 CALL CHKXER( 'ZGECON', INFOT, NOUT, LERR, OK ) 292 INFOT = 4 293 CALL ZGECON( '1', 2, A, 1, ANRM, RCOND, W, R, INFO ) 294 CALL CHKXER( 'ZGECON', INFOT, NOUT, LERR, OK ) 295* 296* ZGEEQU 297* 298 SRNAMT = 'ZGEEQU' 299 INFOT = 1 300 CALL ZGEEQU( -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO ) 301 CALL CHKXER( 'ZGEEQU', INFOT, NOUT, LERR, OK ) 302 INFOT = 2 303 CALL ZGEEQU( 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO ) 304 CALL CHKXER( 'ZGEEQU', INFOT, NOUT, LERR, OK ) 305 INFOT = 4 306 CALL ZGEEQU( 2, 2, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO ) 307 CALL CHKXER( 'ZGEEQU', INFOT, NOUT, LERR, OK ) 308* 309* ZGEEQUB 310* 311 SRNAMT = 'ZGEEQUB' 312 INFOT = 1 313 CALL ZGEEQUB( -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO ) 314 CALL CHKXER( 'ZGEEQUB', INFOT, NOUT, LERR, OK ) 315 INFOT = 2 316 CALL ZGEEQUB( 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO ) 317 CALL CHKXER( 'ZGEEQUB', INFOT, NOUT, LERR, OK ) 318 INFOT = 4 319 CALL ZGEEQUB( 2, 2, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO ) 320 CALL CHKXER( 'ZGEEQUB', INFOT, NOUT, LERR, OK ) 321* 322* Test error exits of the routines that use the LU decomposition 323* of a general band matrix. 324* 325 ELSE IF( LSAMEN( 2, C2, 'GB' ) ) THEN 326* 327* ZGBTRF 328* 329 SRNAMT = 'ZGBTRF' 330 INFOT = 1 331 CALL ZGBTRF( -1, 0, 0, 0, A, 1, IP, INFO ) 332 CALL CHKXER( 'ZGBTRF', INFOT, NOUT, LERR, OK ) 333 INFOT = 2 334 CALL ZGBTRF( 0, -1, 0, 0, A, 1, IP, INFO ) 335 CALL CHKXER( 'ZGBTRF', INFOT, NOUT, LERR, OK ) 336 INFOT = 3 337 CALL ZGBTRF( 1, 1, -1, 0, A, 1, IP, INFO ) 338 CALL CHKXER( 'ZGBTRF', INFOT, NOUT, LERR, OK ) 339 INFOT = 4 340 CALL ZGBTRF( 1, 1, 0, -1, A, 1, IP, INFO ) 341 CALL CHKXER( 'ZGBTRF', INFOT, NOUT, LERR, OK ) 342 INFOT = 6 343 CALL ZGBTRF( 2, 2, 1, 1, A, 3, IP, INFO ) 344 CALL CHKXER( 'ZGBTRF', INFOT, NOUT, LERR, OK ) 345* 346* ZGBTF2 347* 348 SRNAMT = 'ZGBTF2' 349 INFOT = 1 350 CALL ZGBTF2( -1, 0, 0, 0, A, 1, IP, INFO ) 351 CALL CHKXER( 'ZGBTF2', INFOT, NOUT, LERR, OK ) 352 INFOT = 2 353 CALL ZGBTF2( 0, -1, 0, 0, A, 1, IP, INFO ) 354 CALL CHKXER( 'ZGBTF2', INFOT, NOUT, LERR, OK ) 355 INFOT = 3 356 CALL ZGBTF2( 1, 1, -1, 0, A, 1, IP, INFO ) 357 CALL CHKXER( 'ZGBTF2', INFOT, NOUT, LERR, OK ) 358 INFOT = 4 359 CALL ZGBTF2( 1, 1, 0, -1, A, 1, IP, INFO ) 360 CALL CHKXER( 'ZGBTF2', INFOT, NOUT, LERR, OK ) 361 INFOT = 6 362 CALL ZGBTF2( 2, 2, 1, 1, A, 3, IP, INFO ) 363 CALL CHKXER( 'ZGBTF2', INFOT, NOUT, LERR, OK ) 364* 365* ZGBTRS 366* 367 SRNAMT = 'ZGBTRS' 368 INFOT = 1 369 CALL ZGBTRS( '/', 0, 0, 0, 1, A, 1, IP, B, 1, INFO ) 370 CALL CHKXER( 'ZGBTRS', INFOT, NOUT, LERR, OK ) 371 INFOT = 2 372 CALL ZGBTRS( 'N', -1, 0, 0, 1, A, 1, IP, B, 1, INFO ) 373 CALL CHKXER( 'ZGBTRS', INFOT, NOUT, LERR, OK ) 374 INFOT = 3 375 CALL ZGBTRS( 'N', 1, -1, 0, 1, A, 1, IP, B, 1, INFO ) 376 CALL CHKXER( 'ZGBTRS', INFOT, NOUT, LERR, OK ) 377 INFOT = 4 378 CALL ZGBTRS( 'N', 1, 0, -1, 1, A, 1, IP, B, 1, INFO ) 379 CALL CHKXER( 'ZGBTRS', INFOT, NOUT, LERR, OK ) 380 INFOT = 5 381 CALL ZGBTRS( 'N', 1, 0, 0, -1, A, 1, IP, B, 1, INFO ) 382 CALL CHKXER( 'ZGBTRS', INFOT, NOUT, LERR, OK ) 383 INFOT = 7 384 CALL ZGBTRS( 'N', 2, 1, 1, 1, A, 3, IP, B, 2, INFO ) 385 CALL CHKXER( 'ZGBTRS', INFOT, NOUT, LERR, OK ) 386 INFOT = 10 387 CALL ZGBTRS( 'N', 2, 0, 0, 1, A, 1, IP, B, 1, INFO ) 388 CALL CHKXER( 'ZGBTRS', INFOT, NOUT, LERR, OK ) 389* 390* ZGBRFS 391* 392 SRNAMT = 'ZGBRFS' 393 INFOT = 1 394 CALL ZGBRFS( '/', 0, 0, 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1, 395 $ R2, W, R, INFO ) 396 CALL CHKXER( 'ZGBRFS', INFOT, NOUT, LERR, OK ) 397 INFOT = 2 398 CALL ZGBRFS( 'N', -1, 0, 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1, 399 $ R2, W, R, INFO ) 400 CALL CHKXER( 'ZGBRFS', INFOT, NOUT, LERR, OK ) 401 INFOT = 3 402 CALL ZGBRFS( 'N', 1, -1, 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1, 403 $ R2, W, R, INFO ) 404 CALL CHKXER( 'ZGBRFS', INFOT, NOUT, LERR, OK ) 405 INFOT = 4 406 CALL ZGBRFS( 'N', 1, 0, -1, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1, 407 $ R2, W, R, INFO ) 408 CALL CHKXER( 'ZGBRFS', INFOT, NOUT, LERR, OK ) 409 INFOT = 5 410 CALL ZGBRFS( 'N', 1, 0, 0, -1, A, 1, AF, 1, IP, B, 1, X, 1, R1, 411 $ R2, W, R, INFO ) 412 CALL CHKXER( 'ZGBRFS', INFOT, NOUT, LERR, OK ) 413 INFOT = 7 414 CALL ZGBRFS( 'N', 2, 1, 1, 1, A, 2, AF, 4, IP, B, 2, X, 2, R1, 415 $ R2, W, R, INFO ) 416 CALL CHKXER( 'ZGBRFS', INFOT, NOUT, LERR, OK ) 417 INFOT = 9 418 CALL ZGBRFS( 'N', 2, 1, 1, 1, A, 3, AF, 3, IP, B, 2, X, 2, R1, 419 $ R2, W, R, INFO ) 420 CALL CHKXER( 'ZGBRFS', INFOT, NOUT, LERR, OK ) 421 INFOT = 12 422 CALL ZGBRFS( 'N', 2, 0, 0, 1, A, 1, AF, 1, IP, B, 1, X, 2, R1, 423 $ R2, W, R, INFO ) 424 CALL CHKXER( 'ZGBRFS', INFOT, NOUT, LERR, OK ) 425 INFOT = 14 426 CALL ZGBRFS( 'N', 2, 0, 0, 1, A, 1, AF, 1, IP, B, 2, X, 1, R1, 427 $ R2, W, R, INFO ) 428 CALL CHKXER( 'ZGBRFS', INFOT, NOUT, LERR, OK ) 429* 430* ZGBRFSX 431* 432 N_ERR_BNDS = 3 433 NPARAMS = 0 434 SRNAMT = 'ZGBRFSX' 435 INFOT = 1 436 CALL ZGBRFSX( '/', EQ, 0, 0, 0, 0, A, 1, AF, 1, IP, RS, CS, B, 437 $ 1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 438 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 439 CALL CHKXER( 'ZGBRFSX', INFOT, NOUT, LERR, OK ) 440 INFOT = 2 441 EQ = '/' 442 CALL ZGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 1, AF, 2, IP, RS, CS, B, 443 $ 2, X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 444 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 445 CALL CHKXER( 'ZGBRFSX', INFOT, NOUT, LERR, OK ) 446 INFOT = 3 447 EQ = 'R' 448 CALL ZGBRFSX( 'N', EQ, -1, 1, 1, 0, A, 1, AF, 1, IP, RS, CS, B, 449 $ 1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 450 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 451 CALL CHKXER( 'ZGBRFSX', INFOT, NOUT, LERR, OK ) 452 INFOT = 4 453 EQ = 'R' 454 CALL ZGBRFSX( 'N', EQ, 2, -1, 1, 1, A, 3, AF, 4, IP, RS, CS, B, 455 $ 1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 456 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 457 CALL CHKXER( 'ZGBRFSX', INFOT, NOUT, LERR, OK ) 458 INFOT = 5 459 EQ = 'R' 460 CALL ZGBRFSX( 'N', EQ, 2, 1, -1, 1, A, 3, AF, 4, IP, RS, CS, B, 461 $ 1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 462 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 463 CALL CHKXER( 'ZGBRFSX', INFOT, NOUT, LERR, OK ) 464 INFOT = 6 465 CALL ZGBRFSX( 'N', EQ, 0, 0, 0, -1, A, 1, AF, 1, IP, RS, CS, B, 466 $ 1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 467 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 468 CALL CHKXER( 'ZGBRFSX', INFOT, NOUT, LERR, OK ) 469 INFOT = 8 470 CALL ZGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 1, AF, 2, IP, RS, CS, B, 471 $ 2, X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 472 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 473 CALL CHKXER( 'ZGBRFSX', INFOT, NOUT, LERR, OK ) 474 INFOT = 10 475 CALL ZGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 3, AF, 3, IP, RS, CS, B, 476 $ 2, X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 477 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 478 CALL CHKXER( 'ZGBRFSX', INFOT, NOUT, LERR, OK ) 479 INFOT = 13 480 EQ = 'C' 481 CALL ZGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 3, AF, 5, IP, RS, CS, B, 482 $ 1, X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 483 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 484 CALL CHKXER( 'ZGBRFSX', INFOT, NOUT, LERR, OK ) 485 INFOT = 15 486 CALL ZGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 3, AF, 5, IP, RS, CS, B, 487 $ 2, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 488 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 489 CALL CHKXER( 'ZGBRFSX', INFOT, NOUT, LERR, OK ) 490* 491* ZGBCON 492* 493 SRNAMT = 'ZGBCON' 494 INFOT = 1 495 CALL ZGBCON( '/', 0, 0, 0, A, 1, IP, ANRM, RCOND, W, R, INFO ) 496 CALL CHKXER( 'ZGBCON', INFOT, NOUT, LERR, OK ) 497 INFOT = 2 498 CALL ZGBCON( '1', -1, 0, 0, A, 1, IP, ANRM, RCOND, W, R, INFO ) 499 CALL CHKXER( 'ZGBCON', INFOT, NOUT, LERR, OK ) 500 INFOT = 3 501 CALL ZGBCON( '1', 1, -1, 0, A, 1, IP, ANRM, RCOND, W, R, INFO ) 502 CALL CHKXER( 'ZGBCON', INFOT, NOUT, LERR, OK ) 503 INFOT = 4 504 CALL ZGBCON( '1', 1, 0, -1, A, 1, IP, ANRM, RCOND, W, R, INFO ) 505 CALL CHKXER( 'ZGBCON', INFOT, NOUT, LERR, OK ) 506 INFOT = 6 507 CALL ZGBCON( '1', 2, 1, 1, A, 3, IP, ANRM, RCOND, W, R, INFO ) 508 CALL CHKXER( 'ZGBCON', INFOT, NOUT, LERR, OK ) 509* 510* ZGBEQU 511* 512 SRNAMT = 'ZGBEQU' 513 INFOT = 1 514 CALL ZGBEQU( -1, 0, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, 515 $ INFO ) 516 CALL CHKXER( 'ZGBEQU', INFOT, NOUT, LERR, OK ) 517 INFOT = 2 518 CALL ZGBEQU( 0, -1, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, 519 $ INFO ) 520 CALL CHKXER( 'ZGBEQU', INFOT, NOUT, LERR, OK ) 521 INFOT = 3 522 CALL ZGBEQU( 1, 1, -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, 523 $ INFO ) 524 CALL CHKXER( 'ZGBEQU', INFOT, NOUT, LERR, OK ) 525 INFOT = 4 526 CALL ZGBEQU( 1, 1, 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM, 527 $ INFO ) 528 CALL CHKXER( 'ZGBEQU', INFOT, NOUT, LERR, OK ) 529 INFOT = 6 530 CALL ZGBEQU( 2, 2, 1, 1, A, 2, R1, R2, RCOND, CCOND, ANRM, 531 $ INFO ) 532 CALL CHKXER( 'ZGBEQU', INFOT, NOUT, LERR, OK ) 533* 534* ZGBEQUB 535* 536 SRNAMT = 'ZGBEQUB' 537 INFOT = 1 538 CALL ZGBEQUB( -1, 0, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, 539 $ INFO ) 540 CALL CHKXER( 'ZGBEQUB', INFOT, NOUT, LERR, OK ) 541 INFOT = 2 542 CALL ZGBEQUB( 0, -1, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, 543 $ INFO ) 544 CALL CHKXER( 'ZGBEQUB', INFOT, NOUT, LERR, OK ) 545 INFOT = 3 546 CALL ZGBEQUB( 1, 1, -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, 547 $ INFO ) 548 CALL CHKXER( 'ZGBEQUB', INFOT, NOUT, LERR, OK ) 549 INFOT = 4 550 CALL ZGBEQUB( 1, 1, 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM, 551 $ INFO ) 552 CALL CHKXER( 'ZGBEQUB', INFOT, NOUT, LERR, OK ) 553 INFOT = 6 554 CALL ZGBEQUB( 2, 2, 1, 1, A, 2, R1, R2, RCOND, CCOND, ANRM, 555 $ INFO ) 556 CALL CHKXER( 'ZGBEQUB', INFOT, NOUT, LERR, OK ) 557 END IF 558* 559* Print a summary line. 560* 561 CALL ALAESM( PATH, OK, NOUT ) 562* 563 RETURN 564* 565* End of ZERRGE 566* 567 END 568