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