LAPACK  3.10.0
LAPACK: Linear Algebra PACKage

◆ alaerh()

subroutine alaerh ( character*3  PATH,
character*( * )  SUBNAM,
integer  INFO,
integer  INFOE,
character*( * )  OPTS,
integer  M,
integer  N,
integer  KL,
integer  KU,
integer  N5,
integer  IMAT,
integer  NFAIL,
integer  NERRS,
integer  NOUT 
)

ALAERH

Purpose:
 ALAERH is an error handler for the LAPACK routines.  It prints the
 header if this is the first error message and prints the error code
 and form of recovery, if any.  The character evaluations in this
 routine may make it slow, but it should not be called once the LAPACK
 routines are fully debugged.
Parameters
[in]PATH
          PATH is CHARACTER*3
          The LAPACK path name of subroutine SUBNAM.
[in]SUBNAM
          SUBNAM is CHARACTER*(*)
          The name of the subroutine that returned an error code.
[in]INFO
          INFO is INTEGER
          The error code returned from routine SUBNAM.
[in]INFOE
          INFOE is INTEGER
          The expected error code from routine SUBNAM, if SUBNAM were
          error-free.  If INFOE = 0, an error message is printed, but
          if INFOE.NE.0, we assume only the return code INFO is wrong.
[in]OPTS
          OPTS is CHARACTER*(*)
          The character options to the subroutine SUBNAM, concatenated
          into a single character string.  For example, UPLO = 'U',
          TRANS = 'T', and DIAG = 'N' for a triangular routine would
          be specified as OPTS = 'UTN'.
[in]M
          M is INTEGER
          The matrix row dimension.
[in]N
          N is INTEGER
          The matrix column dimension.  Accessed only if PATH = xGE or
          xGB.
[in]KL
          KL is INTEGER
          The number of sub-diagonals of the matrix.  Accessed only if
          PATH = xGB, xPB, or xTB.  Also used for NRHS for PATH = xLS.
[in]KU
          KU is INTEGER
          The number of super-diagonals of the matrix.  Accessed only
          if PATH = xGB.
[in]N5
          N5 is INTEGER
          A fifth integer parameter, may be the blocksize NB or the
          number of right hand sides NRHS.
[in]IMAT
          IMAT is INTEGER
          The matrix type.
[in]NFAIL
          NFAIL is INTEGER
          The number of prior tests that did not pass the threshold;
          used to determine if the header should be printed.
[in,out]NERRS
          NERRS is INTEGER
          On entry, the number of errors already detected; used to
          determine if the header should be printed.
          On exit, NERRS is increased by 1.
[in]NOUT
          NOUT is INTEGER
          The unit number on which results are to be printed.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.

Definition at line 145 of file alaerh.f.

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 *
logical function lsamen(N, CA, CB)
LSAMEN
Definition: lsamen.f:74
logical function lsame(CA, CB)
LSAME
Definition: lsame.f:53
subroutine alahd(IOUNIT, PATH)
ALAHD
Definition: alahd.f:107
subroutine aladhd(IOUNIT, PATH)
ALADHD
Definition: aladhd.f:90
Here is the call graph for this function: