1*> \brief \b ALAERH 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 ALAERH( PATH, SUBNAM, INFO, INFOE, OPTS, M, N, KL, KU, 12* N5, IMAT, NFAIL, NERRS, NOUT ) 13* 14* .. Scalar Arguments .. 15* CHARACTER*3 PATH 16* CHARACTER*( * ) SUBNAM 17* CHARACTER*( * ) OPTS 18* INTEGER IMAT, INFO, INFOE, KL, KU, M, N, N5, NERRS, 19* $ NFAIL, NOUT 20* .. 21* 22* 23*> \par Purpose: 24* ============= 25*> 26*> \verbatim 27*> 28*> ALAERH is an error handler for the LAPACK routines. It prints the 29*> header if this is the first error message and prints the error code 30*> and form of recovery, if any. The character evaluations in this 31*> routine may make it slow, but it should not be called once the LAPACK 32*> routines are fully debugged. 33*> \endverbatim 34* 35* Arguments: 36* ========== 37* 38*> \param[in] PATH 39*> \verbatim 40*> PATH is CHARACTER*3 41*> The LAPACK path name of subroutine SUBNAM. 42*> \endverbatim 43*> 44*> \param[in] SUBNAM 45*> \verbatim 46*> SUBNAM is CHARACTER*(*) 47*> The name of the subroutine that returned an error code. 48*> \endverbatim 49*> 50*> \param[in] INFO 51*> \verbatim 52*> INFO is INTEGER 53*> The error code returned from routine SUBNAM. 54*> \endverbatim 55*> 56*> \param[in] INFOE 57*> \verbatim 58*> INFOE is INTEGER 59*> The expected error code from routine SUBNAM, if SUBNAM were 60*> error-free. If INFOE = 0, an error message is printed, but 61*> if INFOE.NE.0, we assume only the return code INFO is wrong. 62*> \endverbatim 63*> 64*> \param[in] OPTS 65*> \verbatim 66*> OPTS is CHARACTER*(*) 67*> The character options to the subroutine SUBNAM, concatenated 68*> into a single character string. For example, UPLO = 'U', 69*> TRANS = 'T', and DIAG = 'N' for a triangular routine would 70*> be specified as OPTS = 'UTN'. 71*> \endverbatim 72*> 73*> \param[in] M 74*> \verbatim 75*> M is INTEGER 76*> The matrix row dimension. 77*> \endverbatim 78*> 79*> \param[in] N 80*> \verbatim 81*> N is INTEGER 82*> The matrix column dimension. Accessed only if PATH = xGE or 83*> xGB. 84*> \endverbatim 85*> 86*> \param[in] KL 87*> \verbatim 88*> KL is INTEGER 89*> The number of sub-diagonals of the matrix. Accessed only if 90*> PATH = xGB, xPB, or xTB. Also used for NRHS for PATH = xLS. 91*> \endverbatim 92*> 93*> \param[in] KU 94*> \verbatim 95*> KU is INTEGER 96*> The number of super-diagonals of the matrix. Accessed only 97*> if PATH = xGB. 98*> \endverbatim 99*> 100*> \param[in] N5 101*> \verbatim 102*> N5 is INTEGER 103*> A fifth integer parameter, may be the blocksize NB or the 104*> number of right hand sides NRHS. 105*> \endverbatim 106*> 107*> \param[in] IMAT 108*> \verbatim 109*> IMAT is INTEGER 110*> The matrix type. 111*> \endverbatim 112*> 113*> \param[in] NFAIL 114*> \verbatim 115*> NFAIL is INTEGER 116*> The number of prior tests that did not pass the threshold; 117*> used to determine if the header should be printed. 118*> \endverbatim 119*> 120*> \param[in,out] NERRS 121*> \verbatim 122*> NERRS is INTEGER 123*> On entry, the number of errors already detected; used to 124*> determine if the header should be printed. 125*> On exit, NERRS is increased by 1. 126*> \endverbatim 127*> 128*> \param[in] NOUT 129*> \verbatim 130*> NOUT is INTEGER 131*> The unit number on which results are to be printed. 132*> \endverbatim 133* 134* Authors: 135* ======== 136* 137*> \author Univ. of Tennessee 138*> \author Univ. of California Berkeley 139*> \author Univ. of Colorado Denver 140*> \author NAG Ltd. 141* 142*> \date April 2012 143* 144*> \ingroup aux_lin 145* 146* ===================================================================== 147 SUBROUTINE ALAERH( PATH, SUBNAM, INFO, INFOE, OPTS, M, N, KL, KU, 148 $ N5, IMAT, NFAIL, NERRS, NOUT ) 149* 150* -- LAPACK test routine (version 3.4.1) -- 151* -- LAPACK is a software package provided by Univ. of Tennessee, -- 152* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- 153* April 2012 154* 155* .. Scalar Arguments .. 156 CHARACTER*3 PATH 157 CHARACTER*( * ) SUBNAM 158 CHARACTER*( * ) OPTS 159 INTEGER IMAT, INFO, INFOE, KL, KU, M, N, N5, NERRS, 160 $ NFAIL, NOUT 161* .. 162* 163* ===================================================================== 164* 165* .. Local Scalars .. 166 CHARACTER UPLO 167 CHARACTER*2 P2 168 CHARACTER*3 C3 169* .. 170* .. External Functions .. 171 LOGICAL LSAME, LSAMEN 172 EXTERNAL LSAME, LSAMEN 173* .. 174* .. Intrinsic Functions .. 175 INTRINSIC LEN_TRIM 176* .. 177* .. External Subroutines .. 178 EXTERNAL ALADHD, ALAHD 179* .. 180* .. Executable Statements .. 181* 182 IF( INFO.EQ.0 ) 183 $ RETURN 184 P2 = PATH( 2: 3 ) 185 C3 = SUBNAM( 4: 6 ) 186* 187* Print the header if this is the first error message. 188* 189 IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) THEN 190 IF( LSAMEN( 3, C3, 'SV ' ) .OR. LSAMEN( 3, C3, 'SVX' ) ) THEN 191 CALL ALADHD( NOUT, PATH ) 192 ELSE 193 CALL ALAHD( NOUT, PATH ) 194 END IF 195 END IF 196 NERRS = NERRS + 1 197* 198* Print the message detailing the error and form of recovery, 199* if any. 200* 201 IF( LSAMEN( 2, P2, 'GE' ) ) THEN 202* 203* xGE: General matrices 204* 205 IF( LSAMEN( 3, C3, 'TRF' ) ) THEN 206 IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN 207 WRITE( NOUT, FMT = 9988 ) 208 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, M, N, N5, 209 $ IMAT 210 ELSE 211 WRITE( NOUT, FMT = 9975 ) 212 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, N5, IMAT 213 END IF 214 IF( INFO.NE.0 ) 215 $ WRITE( NOUT, FMT = 9949 ) 216* 217 ELSE IF( LSAMEN( 3, C3, 'SV ' ) ) THEN 218* 219 IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN 220 WRITE( NOUT, FMT = 9984 ) 221 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, N, N5, 222 $ IMAT 223 ELSE 224 WRITE( NOUT, FMT = 9970 ) 225 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, N, N5, IMAT 226 END IF 227* 228 ELSE IF( LSAMEN( 3, C3, 'SVX' ) ) THEN 229* 230 IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN 231 WRITE( NOUT, FMT = 9992 ) 232 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, 233 $ OPTS( 1: 1 ), OPTS( 2: 2 ), N, N5, IMAT 234 ELSE 235 WRITE( NOUT, FMT = 9997 ) 236 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), 237 $ OPTS( 2: 2 ), N, N5, IMAT 238 END IF 239* 240 ELSE IF( LSAMEN( 3, C3, 'TRI' ) ) THEN 241* 242 WRITE( NOUT, FMT = 9971 ) 243 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, N, N5, IMAT 244* 245 ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) ) THEN 246* 247 WRITE( NOUT, FMT = 9978 ) 248 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, IMAT 249* 250 ELSE IF( LSAMEN( 3, C3, 'CON' ) ) THEN 251* 252 WRITE( NOUT, FMT = 9969 ) 253 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), M, 254 $ IMAT 255* 256 ELSE IF( LSAMEN( 3, C3, 'LS ' ) ) THEN 257* 258 WRITE( NOUT, FMT = 9965 ) 259 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), M, N, 260 $ KL, N5, IMAT 261* 262 ELSE IF( LSAMEN( 3, C3, 'LSX' ) .OR. LSAMEN( 3, C3, 'LSS' ) ) 263 $ THEN 264* 265 WRITE( NOUT, FMT = 9974 ) 266 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, KL, N5, IMAT 267* 268 ELSE 269* 270 WRITE( NOUT, FMT = 9963 ) 271 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), M, N5, 272 $ IMAT 273 END IF 274* 275 ELSE IF( LSAMEN( 2, P2, 'GB' ) ) THEN 276* 277* xGB: General band matrices 278* 279 IF( LSAMEN( 3, C3, 'TRF' ) ) THEN 280 IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN 281 WRITE( NOUT, FMT = 9989 ) 282 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, M, N, KL, 283 $ KU, N5, IMAT 284 ELSE 285 WRITE( NOUT, FMT = 9976 ) 286 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, KL, KU, N5, 287 $ IMAT 288 END IF 289 IF( INFO.NE.0 ) 290 $ WRITE( NOUT, FMT = 9949 ) 291* 292 ELSE IF( LSAMEN( 3, C3, 'SV ' ) ) THEN 293* 294 IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN 295 WRITE( NOUT, FMT = 9986 ) 296 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, N, KL, KU, 297 $ N5, IMAT 298 ELSE 299 WRITE( NOUT, FMT = 9972 ) 300 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, N, KL, KU, N5, 301 $ IMAT 302 END IF 303* 304 ELSE IF( LSAMEN( 3, C3, 'SVX' ) ) THEN 305* 306 IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN 307 WRITE( NOUT, FMT = 9993 ) 308 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, 309 $ OPTS( 1: 1 ), OPTS( 2: 2 ), N, KL, KU, N5, IMAT 310 ELSE 311 WRITE( NOUT, FMT = 9998 ) 312 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), 313 $ OPTS( 2: 2 ), N, KL, KU, N5, IMAT 314 END IF 315* 316 ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) ) THEN 317* 318 WRITE( NOUT, FMT = 9977 ) 319 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, KL, KU, IMAT 320* 321 ELSE IF( LSAMEN( 3, C3, 'CON' ) ) THEN 322* 323 WRITE( NOUT, FMT = 9968 ) 324 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), M, KL, 325 $ KU, IMAT 326* 327 ELSE 328* 329 WRITE( NOUT, FMT = 9964 ) 330 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), M, KL, 331 $ KU, N5, IMAT 332 END IF 333* 334 ELSE IF( LSAMEN( 2, P2, 'GT' ) ) THEN 335* 336* xGT: General tridiagonal matrices 337* 338 IF( LSAMEN( 3, C3, 'TRF' ) ) THEN 339 IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN 340 WRITE( NOUT, FMT = 9987 ) 341 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, N, IMAT 342 ELSE 343 WRITE( NOUT, FMT = 9973 ) 344 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, N, IMAT 345 END IF 346 IF( INFO.NE.0 ) 347 $ WRITE( NOUT, FMT = 9949 ) 348* 349 ELSE IF( LSAMEN( 3, C3, 'SV ' ) ) THEN 350* 351 IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN 352 WRITE( NOUT, FMT = 9984 ) 353 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, N, N5, 354 $ IMAT 355 ELSE 356 WRITE( NOUT, FMT = 9970 ) 357 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, N, N5, IMAT 358 END IF 359* 360 ELSE IF( LSAMEN( 3, C3, 'SVX' ) ) THEN 361* 362 IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN 363 WRITE( NOUT, FMT = 9992 ) 364 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, 365 $ OPTS( 1: 1 ), OPTS( 2: 2 ), N, N5, IMAT 366 ELSE 367 WRITE( NOUT, FMT = 9997 ) 368 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), 369 $ OPTS( 2: 2 ), N, N5, IMAT 370 END IF 371* 372 ELSE IF( LSAMEN( 3, C3, 'CON' ) ) THEN 373* 374 WRITE( NOUT, FMT = 9969 ) 375 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), M, 376 $ IMAT 377* 378 ELSE 379* 380 WRITE( NOUT, FMT = 9963 ) 381 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), M, N5, 382 $ IMAT 383 END IF 384* 385 ELSE IF( LSAMEN( 2, P2, 'PO' ) ) THEN 386* 387* xPO: Symmetric or Hermitian positive definite matrices 388* 389 UPLO = OPTS( 1: 1 ) 390 IF( LSAMEN( 3, C3, 'TRF' ) ) THEN 391 IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN 392 WRITE( NOUT, FMT = 9980 ) 393 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, UPLO, M, 394 $ N5, IMAT 395 ELSE 396 WRITE( NOUT, FMT = 9956 ) 397 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, N5, IMAT 398 END IF 399 IF( INFO.NE.0 ) 400 $ WRITE( NOUT, FMT = 9949 ) 401* 402 ELSE IF( LSAMEN( 3, C3, 'SV ' ) ) THEN 403* 404 IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN 405 WRITE( NOUT, FMT = 9979 ) 406 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, UPLO, N, 407 $ N5, IMAT 408 ELSE 409 WRITE( NOUT, FMT = 9955 ) 410 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, N, N5, IMAT 411 END IF 412* 413 ELSE IF( LSAMEN( 3, C3, 'SVX' ) ) THEN 414* 415 IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN 416 WRITE( NOUT, FMT = 9990 ) 417 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, 418 $ OPTS( 1: 1 ), OPTS( 2: 2 ), N, N5, IMAT 419 ELSE 420 WRITE( NOUT, FMT = 9995 ) 421 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), 422 $ OPTS( 2: 2 ), N, N5, IMAT 423 END IF 424* 425 ELSE IF( LSAMEN( 3, C3, 'TRI' ) ) THEN 426* 427 WRITE( NOUT, FMT = 9956 ) 428 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, N5, IMAT 429* 430 ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) .OR. 431 $ LSAMEN( 3, C3, 'CON' ) ) THEN 432* 433 WRITE( NOUT, FMT = 9960 ) 434 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, IMAT 435* 436 ELSE 437* 438 WRITE( NOUT, FMT = 9955 ) 439 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, N5, IMAT 440 END IF 441* 442 ELSE IF( LSAMEN( 2, P2, 'PS' ) ) THEN 443* 444* xPS: Symmetric or Hermitian positive semi-definite matrices 445* 446 UPLO = OPTS( 1: 1 ) 447 IF( LSAMEN( 3, C3, 'TRF' ) ) THEN 448 IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN 449 WRITE( NOUT, FMT = 9980 )SUBNAM, INFO, INFOE, UPLO, M, 450 $ N5, IMAT 451 ELSE 452 WRITE( NOUT, FMT = 9956 )SUBNAM, INFO, UPLO, M, N5, IMAT 453 END IF 454 IF( INFO.NE.0 ) 455 $ WRITE( NOUT, FMT = 9949 ) 456* 457 ELSE IF( LSAMEN( 3, C3, 'SV ' ) ) THEN 458* 459 IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN 460 WRITE( NOUT, FMT = 9979 )SUBNAM, INFO, INFOE, UPLO, N, 461 $ N5, IMAT 462 ELSE 463 WRITE( NOUT, FMT = 9955 )SUBNAM, INFO, UPLO, N, N5, IMAT 464 END IF 465* 466 ELSE IF( LSAMEN( 3, C3, 'SVX' ) ) THEN 467* 468 IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN 469 WRITE( NOUT, FMT = 9990 )SUBNAM, INFO, INFOE, 470 $ OPTS( 1: 1 ), OPTS( 2: 2 ), N, N5, IMAT 471 ELSE 472 WRITE( NOUT, FMT = 9995 )SUBNAM, INFO, OPTS( 1: 1 ), 473 $ OPTS( 2: 2 ), N, N5, IMAT 474 END IF 475* 476 ELSE IF( LSAMEN( 3, C3, 'TRI' ) ) THEN 477* 478 WRITE( NOUT, FMT = 9956 )SUBNAM, INFO, UPLO, M, N5, IMAT 479* 480 ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMT' ) .OR. 481 $ LSAMEN( 3, C3, 'CON' ) ) THEN 482* 483 WRITE( NOUT, FMT = 9960 )SUBNAM, INFO, UPLO, M, IMAT 484* 485 ELSE 486* 487 WRITE( NOUT, FMT = 9955 )SUBNAM, INFO, UPLO, M, N5, IMAT 488 END IF 489* 490 ELSE IF( LSAMEN( 2, P2, 'SY' ) .OR. LSAMEN( 2, P2, 'HE' ) ) THEN 491* 492* xHE, or xSY: Symmetric or Hermitian indefinite matrices 493* 494 UPLO = OPTS( 1: 1 ) 495 IF( LSAMEN( 3, C3, 'TRF' ) ) THEN 496 IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN 497 WRITE( NOUT, FMT = 9980 ) 498 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, UPLO, M, 499 $ N5, IMAT 500 ELSE 501 WRITE( NOUT, FMT = 9956 ) 502 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, N5, IMAT 503 END IF 504 IF( INFO.NE.0 ) 505 $ WRITE( NOUT, FMT = 9949 ) 506* 507 ELSE IF( LSAMEN( 2, C3, 'SV' ) ) THEN 508* 509 IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN 510 WRITE( NOUT, FMT = 9979 ) 511 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, UPLO, N, 512 $ N5, IMAT 513 ELSE 514 WRITE( NOUT, FMT = 9955 ) 515 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, N, N5, IMAT 516 END IF 517* 518 ELSE IF( LSAMEN( 3, C3, 'SVX' ) ) THEN 519* 520 IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN 521 WRITE( NOUT, FMT = 9990 ) 522 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, 523 $ OPTS( 1: 1 ), OPTS( 2: 2 ), N, N5, IMAT 524 ELSE 525 WRITE( NOUT, FMT = 9995 ) 526 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), 527 $ OPTS( 2: 2 ), N, N5, IMAT 528 END IF 529* 530 ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) .OR. 531 $ LSAMEN( 3, C3, 'TRI' ) .OR. LSAMEN( 3, C3, 'CON' ) ) 532 $ THEN 533* 534 WRITE( NOUT, FMT = 9960 ) 535 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, IMAT 536* 537 ELSE 538* 539 WRITE( NOUT, FMT = 9955 ) 540 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, N5, IMAT 541 END IF 542* 543 ELSE IF( LSAMEN( 2, P2, 'PP' ) .OR. LSAMEN( 2, P2, 'SP' ) .OR. 544 $ LSAMEN( 2, P2, 'HP' ) ) THEN 545* 546* xPP, xHP, or xSP: Symmetric or Hermitian packed matrices 547* 548 UPLO = OPTS( 1: 1 ) 549 IF( LSAMEN( 3, C3, 'TRF' ) ) THEN 550 IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN 551 WRITE( NOUT, FMT = 9983 ) 552 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, UPLO, M, 553 $ IMAT 554 ELSE 555 WRITE( NOUT, FMT = 9960 ) 556 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, IMAT 557 END IF 558 IF( INFO.NE.0 ) 559 $ WRITE( NOUT, FMT = 9949 ) 560* 561 ELSE IF( LSAMEN( 3, C3, 'SV ' ) ) THEN 562* 563 IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN 564 WRITE( NOUT, FMT = 9979 ) 565 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, UPLO, N, 566 $ N5, IMAT 567 ELSE 568 WRITE( NOUT, FMT = 9955 ) 569 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, N, N5, IMAT 570 END IF 571* 572 ELSE IF( LSAMEN( 3, C3, 'SVX' ) ) THEN 573* 574 IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN 575 WRITE( NOUT, FMT = 9990 ) 576 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, 577 $ OPTS( 1: 1 ), OPTS( 2: 2 ), N, N5, IMAT 578 ELSE 579 WRITE( NOUT, FMT = 9995 ) 580 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), 581 $ OPTS( 2: 2 ), N, N5, IMAT 582 END IF 583* 584 ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) .OR. 585 $ LSAMEN( 3, C3, 'TRI' ) .OR. LSAMEN( 3, C3, 'CON' ) ) 586 $ THEN 587* 588 WRITE( NOUT, FMT = 9960 ) 589 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, IMAT 590* 591 ELSE 592* 593 WRITE( NOUT, FMT = 9955 ) 594 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, N5, IMAT 595 END IF 596* 597 ELSE IF( LSAMEN( 2, P2, 'PB' ) ) THEN 598* 599* xPB: Symmetric (Hermitian) positive definite band matrix 600* 601 UPLO = OPTS( 1: 1 ) 602 IF( LSAMEN( 3, C3, 'TRF' ) ) THEN 603 IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN 604 WRITE( NOUT, FMT = 9982 ) 605 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, UPLO, M, 606 $ KL, N5, IMAT 607 ELSE 608 WRITE( NOUT, FMT = 9958 ) 609 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, KL, N5, 610 $ IMAT 611 END IF 612 IF( INFO.NE.0 ) 613 $ WRITE( NOUT, FMT = 9949 ) 614* 615 ELSE IF( LSAMEN( 3, C3, 'SV ' ) ) THEN 616* 617 IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN 618 WRITE( NOUT, FMT = 9981 ) 619 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, UPLO, N, 620 $ KL, N5, IMAT 621 ELSE 622 WRITE( NOUT, FMT = 9957 ) 623 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, N, KL, N5, 624 $ IMAT 625 END IF 626* 627 ELSE IF( LSAMEN( 3, C3, 'SVX' ) ) THEN 628* 629 IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN 630 WRITE( NOUT, FMT = 9991 ) 631 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, 632 $ OPTS( 1: 1 ), OPTS( 2: 2 ), N, KL, N5, IMAT 633 ELSE 634 WRITE( NOUT, FMT = 9996 ) 635 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), 636 $ OPTS( 2: 2 ), N, KL, N5, IMAT 637 END IF 638* 639 ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) .OR. 640 $ LSAMEN( 3, C3, 'CON' ) ) THEN 641* 642 WRITE( NOUT, FMT = 9959 ) 643 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, KL, IMAT 644* 645 ELSE 646* 647 WRITE( NOUT, FMT = 9957 ) 648 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, KL, N5, 649 $ IMAT 650 END IF 651* 652 ELSE IF( LSAMEN( 2, P2, 'PT' ) ) THEN 653* 654* xPT: Positive definite tridiagonal matrices 655* 656 IF( LSAMEN( 3, C3, 'TRF' ) ) THEN 657 IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN 658 WRITE( NOUT, FMT = 9987 ) 659 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, N, IMAT 660 ELSE 661 WRITE( NOUT, FMT = 9973 ) 662 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, N, IMAT 663 END IF 664 IF( INFO.NE.0 ) 665 $ WRITE( NOUT, FMT = 9949 ) 666* 667 ELSE IF( LSAMEN( 3, C3, 'SV ' ) ) THEN 668* 669 IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN 670 WRITE( NOUT, FMT = 9984 ) 671 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, N, N5, 672 $ IMAT 673 ELSE 674 WRITE( NOUT, FMT = 9970 ) 675 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, N, N5, IMAT 676 END IF 677* 678 ELSE IF( LSAMEN( 3, C3, 'SVX' ) ) THEN 679* 680 IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN 681 WRITE( NOUT, FMT = 9994 ) 682 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, 683 $ OPTS( 1: 1 ), N, N5, IMAT 684 ELSE 685 WRITE( NOUT, FMT = 9999 ) 686 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), N, 687 $ N5, IMAT 688 END IF 689* 690 ELSE IF( LSAMEN( 3, C3, 'CON' ) ) THEN 691* 692 IF( LSAME( SUBNAM( 1: 1 ), 'S' ) .OR. 693 $ LSAME( SUBNAM( 1: 1 ), 'D' ) ) THEN 694 WRITE( NOUT, FMT = 9973 ) 695 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, IMAT 696 ELSE 697 WRITE( NOUT, FMT = 9969 ) 698 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), M, 699 $ IMAT 700 END IF 701* 702 ELSE 703* 704 WRITE( NOUT, FMT = 9963 ) 705 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), M, N5, 706 $ IMAT 707 END IF 708* 709 ELSE IF( LSAMEN( 2, P2, 'TR' ) ) THEN 710* 711* xTR: Triangular matrix 712* 713 IF( LSAMEN( 3, C3, 'TRI' ) ) THEN 714 WRITE( NOUT, FMT = 9961 ) 715 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), 716 $ OPTS( 2: 2 ), M, N5, IMAT 717 ELSE IF( LSAMEN( 3, C3, 'CON' ) ) THEN 718 WRITE( NOUT, FMT = 9967 ) 719 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), 720 $ OPTS( 2: 2 ), OPTS( 3: 3 ), M, IMAT 721 ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATRS' ) ) THEN 722 WRITE( NOUT, FMT = 9952 ) 723 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), 724 $ OPTS( 2: 2 ), OPTS( 3: 3 ), OPTS( 4: 4 ), M, IMAT 725 ELSE 726 WRITE( NOUT, FMT = 9953 ) 727 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), 728 $ OPTS( 2: 2 ), OPTS( 3: 3 ), M, N5, IMAT 729 END IF 730* 731 ELSE IF( LSAMEN( 2, P2, 'TP' ) ) THEN 732* 733* xTP: Triangular packed matrix 734* 735 IF( LSAMEN( 3, C3, 'TRI' ) ) THEN 736 WRITE( NOUT, FMT = 9962 ) 737 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), 738 $ OPTS( 2: 2 ), M, IMAT 739 ELSE IF( LSAMEN( 3, C3, 'CON' ) ) THEN 740 WRITE( NOUT, FMT = 9967 ) 741 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), 742 $ OPTS( 2: 2 ), OPTS( 3: 3 ), M, IMAT 743 ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATPS' ) ) THEN 744 WRITE( NOUT, FMT = 9952 ) 745 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), 746 $ OPTS( 2: 2 ), OPTS( 3: 3 ), OPTS( 4: 4 ), M, IMAT 747 ELSE 748 WRITE( NOUT, FMT = 9953 ) 749 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), 750 $ OPTS( 2: 2 ), OPTS( 3: 3 ), M, N5, IMAT 751 END IF 752* 753 ELSE IF( LSAMEN( 2, P2, 'TB' ) ) THEN 754* 755* xTB: Triangular band matrix 756* 757 IF( LSAMEN( 3, C3, 'CON' ) ) THEN 758 WRITE( NOUT, FMT = 9966 ) 759 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), 760 $ OPTS( 2: 2 ), OPTS( 3: 3 ), M, KL, IMAT 761 ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATBS' ) ) THEN 762 WRITE( NOUT, FMT = 9951 ) 763 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), 764 $ OPTS( 2: 2 ), OPTS( 3: 3 ), OPTS( 4: 4 ), M, KL, IMAT 765 ELSE 766 WRITE( NOUT, FMT = 9954 ) 767 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), 768 $ OPTS( 2: 2 ), OPTS( 3: 3 ), M, KL, N5, IMAT 769 END IF 770* 771 ELSE IF( LSAMEN( 2, P2, 'QR' ) ) THEN 772* 773* xQR: QR factorization 774* 775 IF( LSAMEN( 3, C3, 'QRS' ) ) THEN 776 WRITE( NOUT, FMT = 9974 ) 777 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, KL, N5, IMAT 778 ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) ) THEN 779 WRITE( NOUT, FMT = 9978 ) 780 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, IMAT 781 END IF 782* 783 ELSE IF( LSAMEN( 2, P2, 'LQ' ) ) THEN 784* 785* xLQ: LQ factorization 786* 787 IF( LSAMEN( 3, C3, 'LQS' ) ) THEN 788 WRITE( NOUT, FMT = 9974 ) 789 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, KL, N5, IMAT 790 ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) ) THEN 791 WRITE( NOUT, FMT = 9978 ) 792 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, IMAT 793 END IF 794* 795 ELSE IF( LSAMEN( 2, P2, 'QL' ) ) THEN 796* 797* xQL: QL factorization 798* 799 IF( LSAMEN( 3, C3, 'QLS' ) ) THEN 800 WRITE( NOUT, FMT = 9974 ) 801 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, KL, N5, IMAT 802 ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) ) THEN 803 WRITE( NOUT, FMT = 9978 ) 804 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, IMAT 805 END IF 806* 807 ELSE IF( LSAMEN( 2, P2, 'RQ' ) ) THEN 808* 809* xRQ: RQ factorization 810* 811 IF( LSAMEN( 3, C3, 'RQS' ) ) THEN 812 WRITE( NOUT, FMT = 9974 ) 813 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, KL, N5, IMAT 814 ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) ) THEN 815 WRITE( NOUT, FMT = 9978 ) 816 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, IMAT 817 END IF 818* 819 ELSE IF( LSAMEN( 2, P2, 'LU' ) ) THEN 820* 821 IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN 822 WRITE( NOUT, FMT = 9988 ) 823 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, M, N, N5, 824 $ IMAT 825 ELSE 826 WRITE( NOUT, FMT = 9975 ) 827 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, N5, IMAT 828 END IF 829* 830 ELSE IF( LSAMEN( 2, P2, 'CH' ) ) THEN 831* 832 IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN 833 WRITE( NOUT, FMT = 9985 ) 834 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, M, N5, IMAT 835 ELSE 836 WRITE( NOUT, FMT = 9971 ) 837 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N5, IMAT 838 END IF 839* 840 ELSE 841* 842* Print a generic message if the path is unknown. 843* 844 WRITE( NOUT, FMT = 9950 ) 845 $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO 846 END IF 847* 848* Description of error message (alphabetical, left to right) 849* 850* SUBNAM, INFO, FACT, N, NRHS, IMAT 851* 852 9999 FORMAT( ' *** Error code from ', A, '=', I5, ', FACT=''', A1, 853 $ ''', N=', I5, ', NRHS=', I4, ', type ', I2 ) 854* 855* SUBNAM, INFO, FACT, TRANS, N, KL, KU, NRHS, IMAT 856* 857 9998 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> FACT=''', 858 $ A1, ''', TRANS=''', A1, ''', N=', I5, ', KL=', I5, ', KU=', 859 $ I5, ', NRHS=', I4, ', type ', I1 ) 860* 861* SUBNAM, INFO, FACT, TRANS, N, NRHS, IMAT 862* 863 9997 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> FACT=''', 864 $ A1, ''', TRANS=''', A1, ''', N =', I5, ', NRHS =', I4, 865 $ ', type ', I2 ) 866* 867* SUBNAM, INFO, FACT, UPLO, N, KD, NRHS, IMAT 868* 869 9996 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> FACT=''', 870 $ A1, ''', UPLO=''', A1, ''', N=', I5, ', KD=', I5, ', NRHS=', 871 $ I4, ', type ', I2 ) 872* 873* SUBNAM, INFO, FACT, UPLO, N, NRHS, IMAT 874* 875 9995 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> FACT=''', 876 $ A1, ''', UPLO=''', A1, ''', N =', I5, ', NRHS =', I4, 877 $ ', type ', I2 ) 878* 879* SUBNAM, INFO, INFOE, FACT, N, NRHS, IMAT 880* 881 9994 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ', 882 $ I2, / ' ==> FACT=''', A1, ''', N =', I5, ', NRHS =', I4, 883 $ ', type ', I2 ) 884* 885* SUBNAM, INFO, INFOE, FACT, TRANS, N, KL, KU, NRHS, IMAT 886* 887 9993 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ', 888 $ I2, / ' ==> FACT=''', A1, ''', TRANS=''', A1, ''', N=', I5, 889 $ ', KL=', I5, ', KU=', I5, ', NRHS=', I4, ', type ', I1 ) 890* 891* SUBNAM, INFO, INFOE, FACT, TRANS, N, NRHS, IMAT 892* 893 9992 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ', 894 $ I2, / ' ==> FACT=''', A1, ''', TRANS=''', A1, ''', N =', I5, 895 $ ', NRHS =', I4, ', type ', I2 ) 896* 897* SUBNAM, INFO, INFOE, FACT, UPLO, N, KD, NRHS, IMAT 898* 899 9991 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ', 900 $ I2, / ' ==> FACT=''', A1, ''', UPLO=''', A1, ''', N=', I5, 901 $ ', KD=', I5, ', NRHS=', I4, ', type ', I2 ) 902* 903* SUBNAM, INFO, INFOE, FACT, UPLO, N, NRHS, IMAT 904* 905 9990 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ', 906 $ I2, / ' ==> FACT=''', A1, ''', UPLO=''', A1, ''', N =', I5, 907 $ ', NRHS =', I4, ', type ', I2 ) 908* 909* SUBNAM, INFO, INFOE, M, N, KL, KU, NB, IMAT 910* 911 9989 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ', 912 $ I2, / ' ==> M = ', I5, ', N =', I5, ', KL =', I5, ', KU =', 913 $ I5, ', NB =', I4, ', type ', I2 ) 914* 915* SUBNAM, INFO, INFOE, M, N, NB, IMAT 916* 917 9988 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ', 918 $ I2, / ' ==> M =', I5, ', N =', I5, ', NB =', I4, ', type ', 919 $ I2 ) 920* 921* SUBNAM, INFO, INFOE, N, IMAT 922* 923 9987 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ', 924 $ I2, ' for N=', I5, ', type ', I2 ) 925* 926* SUBNAM, INFO, INFOE, N, KL, KU, NRHS, IMAT 927* 928 9986 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ', 929 $ I2, / ' ==> N =', I5, ', KL =', I5, ', KU =', I5, 930 $ ', NRHS =', I4, ', type ', I2 ) 931* 932* SUBNAM, INFO, INFOE, N, NB, IMAT 933* 934 9985 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ', 935 $ I2, / ' ==> N =', I5, ', NB =', I4, ', type ', I2 ) 936* 937* SUBNAM, INFO, INFOE, N, NRHS, IMAT 938* 939 9984 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ', 940 $ I2, / ' ==> N =', I5, ', NRHS =', I4, ', type ', I2 ) 941* 942* SUBNAM, INFO, INFOE, UPLO, N, IMAT 943* 944 9983 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ', 945 $ I2, / ' ==> UPLO = ''', A1, ''', N =', I5, ', type ', I2 ) 946* 947* SUBNAM, INFO, INFOE, UPLO, N, KD, NB, IMAT 948* 949 9982 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ', 950 $ I2, / ' ==> UPLO = ''', A1, ''', N =', I5, ', KD =', I5, 951 $ ', NB =', I4, ', type ', I2 ) 952* 953* SUBNAM, INFO, INFOE, UPLO, N, KD, NRHS, IMAT 954* 955 9981 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ', 956 $ I2, / ' ==> UPLO=''', A1, ''', N =', I5, ', KD =', I5, 957 $ ', NRHS =', I4, ', type ', I2 ) 958* 959* SUBNAM, INFO, INFOE, UPLO, N, NB, IMAT 960* 961 9980 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ', 962 $ I2, / ' ==> UPLO = ''', A1, ''', N =', I5, ', NB =', I4, 963 $ ', type ', I2 ) 964* 965* SUBNAM, INFO, INFOE, UPLO, N, NRHS, IMAT 966* 967 9979 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ', 968 $ I2, / ' ==> UPLO = ''', A1, ''', N =', I5, ', NRHS =', I4, 969 $ ', type ', I2 ) 970* 971* SUBNAM, INFO, M, N, IMAT 972* 973 9978 FORMAT( ' *** Error code from ', A, ' =', I5, ' for M =', I5, 974 $ ', N =', I5, ', type ', I2 ) 975* 976* SUBNAM, INFO, M, N, KL, KU, IMAT 977* 978 9977 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> M = ', I5, 979 $ ', N =', I5, ', KL =', I5, ', KU =', I5, ', type ', I2 ) 980* 981* SUBNAM, INFO, M, N, KL, KU, NB, IMAT 982* 983 9976 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> M = ', I5, 984 $ ', N =', I5, ', KL =', I5, ', KU =', I5, ', NB =', I4, 985 $ ', type ', I2 ) 986* 987* SUBNAM, INFO, M, N, NB, IMAT 988* 989 9975 FORMAT( ' *** Error code from ', A, '=', I5, ' for M=', I5, 990 $ ', N=', I5, ', NB=', I4, ', type ', I2 ) 991* 992* SUBNAM, INFO, M, N, NRHS, NB, IMAT 993* 994 9974 FORMAT( ' *** Error code from ', A, '=', I5, / ' ==> M =', I5, 995 $ ', N =', I5, ', NRHS =', I4, ', NB =', I4, ', type ', I2 ) 996* 997* SUBNAM, INFO, N, IMAT 998* 999 9973 FORMAT( ' *** Error code from ', A, ' =', I5, ' for N =', I5, 1000 $ ', type ', I2 ) 1001* 1002* SUBNAM, INFO, N, KL, KU, NRHS, IMAT 1003* 1004 9972 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> N =', I5, 1005 $ ', KL =', I5, ', KU =', I5, ', NRHS =', I4, ', type ', I2 ) 1006* 1007* SUBNAM, INFO, N, NB, IMAT 1008* 1009 9971 FORMAT( ' *** Error code from ', A, '=', I5, ' for N=', I5, 1010 $ ', NB=', I4, ', type ', I2 ) 1011* 1012* SUBNAM, INFO, N, NRHS, IMAT 1013* 1014 9970 FORMAT( ' *** Error code from ', A, ' =', I5, ' for N =', I5, 1015 $ ', NRHS =', I4, ', type ', I2 ) 1016* 1017* SUBNAM, INFO, NORM, N, IMAT 1018* 1019 9969 FORMAT( ' *** Error code from ', A, ' =', I5, ' for NORM = ''', 1020 $ A1, ''', N =', I5, ', type ', I2 ) 1021* 1022* SUBNAM, INFO, NORM, N, KL, KU, IMAT 1023* 1024 9968 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> NORM =''', 1025 $ A1, ''', N =', I5, ', KL =', I5, ', KU =', I5, ', type ', 1026 $ I2 ) 1027* 1028* SUBNAM, INFO, NORM, UPLO, DIAG, N, IMAT 1029* 1030 9967 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> NORM=''', 1031 $ A1, ''', UPLO =''', A1, ''', DIAG=''', A1, ''', N =', I5, 1032 $ ', type ', I2 ) 1033* 1034* SUBNAM, INFO, NORM, UPLO, DIAG, N, KD, IMAT 1035* 1036 9966 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> NORM=''', 1037 $ A1, ''', UPLO =''', A1, ''', DIAG=''', A1, ''', N=', I5, 1038 $ ', KD=', I5, ', type ', I2 ) 1039* 1040* SUBNAM, INFO, TRANS, M, N, NRHS, NB, IMAT 1041* 1042 9965 FORMAT( ' *** Error code from ', A, ' =', I5, 1043 $ / ' ==> TRANS = ''', A1, ''', M =', I5, ', N =', I5, 1044 $ ', NRHS =', I4, ', NB =', I4, ', type ', I2 ) 1045* 1046* SUBNAM, INFO, TRANS, N, KL, KU, NRHS, IMAT 1047* 1048 9964 FORMAT( ' *** Error code from ', A, '=', I5, / ' ==> TRANS=''', 1049 $ A1, ''', N =', I5, ', KL =', I5, ', KU =', I5, ', NRHS =', 1050 $ I4, ', type ', I2 ) 1051* 1052* SUBNAM, INFO, TRANS, N, NRHS, IMAT 1053* 1054 9963 FORMAT( ' *** Error code from ', A, ' =', I5, 1055 $ / ' ==> TRANS = ''', A1, ''', N =', I5, ', NRHS =', I4, 1056 $ ', type ', I2 ) 1057* 1058* SUBNAM, INFO, UPLO, DIAG, N, IMAT 1059* 1060 9962 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> UPLO=''', 1061 $ A1, ''', DIAG =''', A1, ''', N =', I5, ', type ', I2 ) 1062* 1063* SUBNAM, INFO, UPLO, DIAG, N, NB, IMAT 1064* 1065 9961 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> UPLO=''', 1066 $ A1, ''', DIAG =''', A1, ''', N =', I5, ', NB =', I4, 1067 $ ', type ', I2 ) 1068* 1069* SUBNAM, INFO, UPLO, N, IMAT 1070* 1071 9960 FORMAT( ' *** Error code from ', A, ' =', I5, ' for UPLO = ''', 1072 $ A1, ''', N =', I5, ', type ', I2 ) 1073* 1074* SUBNAM, INFO, UPLO, N, KD, IMAT 1075* 1076 9959 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> UPLO = ''', 1077 $ A1, ''', N =', I5, ', KD =', I5, ', type ', I2 ) 1078* 1079* SUBNAM, INFO, UPLO, N, KD, NB, IMAT 1080* 1081 9958 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> UPLO = ''', 1082 $ A1, ''', N =', I5, ', KD =', I5, ', NB =', I4, ', type ', 1083 $ I2 ) 1084* 1085* SUBNAM, INFO, UPLO, N, KD, NRHS, IMAT 1086* 1087 9957 FORMAT( ' *** Error code from ', A, '=', I5, / ' ==> UPLO = ''', 1088 $ A1, ''', N =', I5, ', KD =', I5, ', NRHS =', I4, ', type ', 1089 $ I2 ) 1090* 1091* SUBNAM, INFO, UPLO, N, NB, IMAT 1092* 1093 9956 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> UPLO = ''', 1094 $ A1, ''', N =', I5, ', NB =', I4, ', type ', I2 ) 1095* 1096* SUBNAM, INFO, UPLO, N, NRHS, IMAT 1097* 1098 9955 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> UPLO = ''', 1099 $ A1, ''', N =', I5, ', NRHS =', I4, ', type ', I2 ) 1100* 1101* SUBNAM, INFO, UPLO, TRANS, DIAG, N, KD, NRHS, IMAT 1102* 1103 9954 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> UPLO=''', 1104 $ A1, ''', TRANS=''', A1, ''', DIAG=''', A1, ''', N=', I5, 1105 $ ', KD=', I5, ', NRHS=', I4, ', type ', I2 ) 1106* 1107* SUBNAM, INFO, UPLO, TRANS, DIAG, N, NRHS, IMAT 1108* 1109 9953 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> UPLO=''', 1110 $ A1, ''', TRANS=''', A1, ''', DIAG=''', A1, ''', N =', I5, 1111 $ ', NRHS =', I4, ', type ', I2 ) 1112* 1113* SUBNAM, INFO, UPLO, TRANS, DIAG, NORMIN, N, IMAT 1114* 1115 9952 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> UPLO=''', 1116 $ A1, ''', TRANS=''', A1, ''', DIAG=''', A1, ''', NORMIN=''', 1117 $ A1, ''', N =', I5, ', type ', I2 ) 1118* 1119* SUBNAM, INFO, UPLO, TRANS, DIAG, NORMIN, N, KD, IMAT 1120* 1121 9951 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> UPLO=''', 1122 $ A1, ''', TRANS=''', A1, ''', DIAG=''', A1, ''', NORMIN=''', 1123 $ A1, ''', N=', I5, ', KD=', I5, ', type ', I2 ) 1124* 1125* Unknown type 1126* 1127 9950 FORMAT( ' *** Error code from ', A, ' =', I5 ) 1128* 1129* What we do next 1130* 1131 9949 FORMAT( ' ==> Doing only the condition estimate for this case' ) 1132* 1133 RETURN 1134* 1135* End of ALAERH 1136* 1137 END 1138