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