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