PLASMA  2.4.5
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
alaerh.f
Go to the documentation of this file.
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