"Fossies" - the Fresh Open Source Software Archive

Member "lapack-3.9.1/TESTING/LIN/alaerh.f" (25 Mar 2021, 38413 Bytes) of package /linux/misc/lapack-3.9.1.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Fortran 77 source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "alaerh.f": 3.9.0_vs_3.9.1.

    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