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