LAPACK  3.4.1
LAPACK: Linear Algebra PACKage
derrst.f
Go to the documentation of this file.
00001 *> \brief \b DERRST
00002 *
00003 *  =========== DOCUMENTATION ===========
00004 *
00005 * Online html documentation available at 
00006 *            http://www.netlib.org/lapack/explore-html/ 
00007 *
00008 *  Definition:
00009 *  ===========
00010 *
00011 *       SUBROUTINE DERRST( PATH, NUNIT )
00012 * 
00013 *       .. Scalar Arguments ..
00014 *       CHARACTER*3        PATH
00015 *       INTEGER            NUNIT
00016 *       ..
00017 *  
00018 *
00019 *> \par Purpose:
00020 *  =============
00021 *>
00022 *> \verbatim
00023 *>
00024 *> DERRST tests the error exits for DSYTRD, DORGTR, DORMTR, DSPTRD,
00025 *> DOPGTR, DOPMTR, DSTEQR, SSTERF, SSTEBZ, SSTEIN, DPTEQR, DSBTRD,
00026 *> DSYEV, SSYEVX, SSYEVD, DSBEV, SSBEVX, SSBEVD,
00027 *> DSPEV, SSPEVX, SSPEVD, DSTEV, SSTEVX, SSTEVD, and SSTEDC.
00028 *> \endverbatim
00029 *
00030 *  Arguments:
00031 *  ==========
00032 *
00033 *> \param[in] PATH
00034 *> \verbatim
00035 *>          PATH is CHARACTER*3
00036 *>          The LAPACK path name for the routines to be tested.
00037 *> \endverbatim
00038 *>
00039 *> \param[in] NUNIT
00040 *> \verbatim
00041 *>          NUNIT is INTEGER
00042 *>          The unit number for output.
00043 *> \endverbatim
00044 *
00045 *  Authors:
00046 *  ========
00047 *
00048 *> \author Univ. of Tennessee 
00049 *> \author Univ. of California Berkeley 
00050 *> \author Univ. of Colorado Denver 
00051 *> \author NAG Ltd. 
00052 *
00053 *> \date November 2011
00054 *
00055 *> \ingroup double_eig
00056 *
00057 *  =====================================================================
00058       SUBROUTINE DERRST( PATH, NUNIT )
00059 *
00060 *  -- LAPACK test routine (version 3.4.0) --
00061 *  -- LAPACK is a software package provided by Univ. of Tennessee,    --
00062 *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
00063 *     November 2011
00064 *
00065 *     .. Scalar Arguments ..
00066       CHARACTER*3        PATH
00067       INTEGER            NUNIT
00068 *     ..
00069 *
00070 *  =====================================================================
00071 *
00072 *     NMAX has to be at least 3 or LIW may be too small
00073 *     .. Parameters ..
00074       INTEGER            NMAX, LIW, LW
00075       PARAMETER          ( NMAX = 3, LIW = 12*NMAX, LW = 20*NMAX )
00076 *     ..
00077 *     .. Local Scalars ..
00078       CHARACTER*2        C2
00079       INTEGER            I, INFO, J, M, N, NSPLIT, NT
00080 *     ..
00081 *     .. Local Arrays ..
00082       INTEGER            I1( NMAX ), I2( NMAX ), I3( NMAX ), IW( LIW )
00083       DOUBLE PRECISION   A( NMAX, NMAX ), C( NMAX, NMAX ), D( NMAX ),
00084      $                   E( NMAX ), Q( NMAX, NMAX ), R( NMAX ),
00085      $                   TAU( NMAX ), W( LW ), X( NMAX ),
00086      $                   Z( NMAX, NMAX )
00087 *     ..
00088 *     .. External Functions ..
00089       LOGICAL            LSAMEN
00090       EXTERNAL           LSAMEN
00091 *     ..
00092 *     .. External Subroutines ..
00093       EXTERNAL           CHKXER, DOPGTR, DOPMTR, DORGTR, DORMTR, DPTEQR,
00094      $                   DSBEV, DSBEVD, DSBEVX, DSBTRD, DSPEV, DSPEVD,
00095      $                   DSPEVX, DSPTRD, DSTEBZ, DSTEDC, DSTEIN, DSTEQR,
00096      $                   DSTERF, DSTEV, DSTEVD, DSTEVR, DSTEVX, DSYEV,
00097      $                   DSYEVD, DSYEVR, DSYEVX, DSYTRD
00098 *     ..
00099 *     .. Scalars in Common ..
00100       LOGICAL            LERR, OK
00101       CHARACTER*32       SRNAMT
00102       INTEGER            INFOT, NOUT
00103 *     ..
00104 *     .. Common blocks ..
00105       COMMON             / INFOC / INFOT, NOUT, OK, LERR
00106       COMMON             / SRNAMC / SRNAMT
00107 *     ..
00108 *     .. Intrinsic Functions ..
00109       INTRINSIC          DBLE
00110 *     ..
00111 *     .. Executable Statements ..
00112 *
00113       NOUT = NUNIT
00114       WRITE( NOUT, FMT = * )
00115       C2 = PATH( 2: 3 )
00116 *
00117 *     Set the variables to innocuous values.
00118 *
00119       DO 20 J = 1, NMAX
00120          DO 10 I = 1, NMAX
00121             A( I, J ) = 1.D0 / DBLE( I+J )
00122    10    CONTINUE
00123    20 CONTINUE
00124       DO 30 J = 1, NMAX
00125          D( J ) = DBLE( J )
00126          E( J ) = 0.0D0
00127          I1( J ) = J
00128          I2( J ) = J
00129          TAU( J ) = 1.D0
00130    30 CONTINUE
00131       OK = .TRUE.
00132       NT = 0
00133 *
00134 *     Test error exits for the ST path.
00135 *
00136       IF( LSAMEN( 2, C2, 'ST' ) ) THEN
00137 *
00138 *        DSYTRD
00139 *
00140          SRNAMT = 'DSYTRD'
00141          INFOT = 1
00142          CALL DSYTRD( '/', 0, A, 1, D, E, TAU, W, 1, INFO )
00143          CALL CHKXER( 'DSYTRD', INFOT, NOUT, LERR, OK )
00144          INFOT = 2
00145          CALL DSYTRD( 'U', -1, A, 1, D, E, TAU, W, 1, INFO )
00146          CALL CHKXER( 'DSYTRD', INFOT, NOUT, LERR, OK )
00147          INFOT = 4
00148          CALL DSYTRD( 'U', 2, A, 1, D, E, TAU, W, 1, INFO )
00149          CALL CHKXER( 'DSYTRD', INFOT, NOUT, LERR, OK )
00150          INFOT = 9
00151          CALL DSYTRD( 'U', 0, A, 1, D, E, TAU, W, 0, INFO )
00152          CALL CHKXER( 'DSYTRD', INFOT, NOUT, LERR, OK )
00153          NT = NT + 4
00154 *
00155 *        DORGTR
00156 *
00157          SRNAMT = 'DORGTR'
00158          INFOT = 1
00159          CALL DORGTR( '/', 0, A, 1, TAU, W, 1, INFO )
00160          CALL CHKXER( 'DORGTR', INFOT, NOUT, LERR, OK )
00161          INFOT = 2
00162          CALL DORGTR( 'U', -1, A, 1, TAU, W, 1, INFO )
00163          CALL CHKXER( 'DORGTR', INFOT, NOUT, LERR, OK )
00164          INFOT = 4
00165          CALL DORGTR( 'U', 2, A, 1, TAU, W, 1, INFO )
00166          CALL CHKXER( 'DORGTR', INFOT, NOUT, LERR, OK )
00167          INFOT = 7
00168          CALL DORGTR( 'U', 3, A, 3, TAU, W, 1, INFO )
00169          CALL CHKXER( 'DORGTR', INFOT, NOUT, LERR, OK )
00170          NT = NT + 4
00171 *
00172 *        DORMTR
00173 *
00174          SRNAMT = 'DORMTR'
00175          INFOT = 1
00176          CALL DORMTR( '/', 'U', 'N', 0, 0, A, 1, TAU, C, 1, W, 1, INFO )
00177          CALL CHKXER( 'DORMTR', INFOT, NOUT, LERR, OK )
00178          INFOT = 2
00179          CALL DORMTR( 'L', '/', 'N', 0, 0, A, 1, TAU, C, 1, W, 1, INFO )
00180          CALL CHKXER( 'DORMTR', INFOT, NOUT, LERR, OK )
00181          INFOT = 3
00182          CALL DORMTR( 'L', 'U', '/', 0, 0, A, 1, TAU, C, 1, W, 1, INFO )
00183          CALL CHKXER( 'DORMTR', INFOT, NOUT, LERR, OK )
00184          INFOT = 4
00185          CALL DORMTR( 'L', 'U', 'N', -1, 0, A, 1, TAU, C, 1, W, 1,
00186      $                INFO )
00187          CALL CHKXER( 'DORMTR', INFOT, NOUT, LERR, OK )
00188          INFOT = 5
00189          CALL DORMTR( 'L', 'U', 'N', 0, -1, A, 1, TAU, C, 1, W, 1,
00190      $                INFO )
00191          CALL CHKXER( 'DORMTR', INFOT, NOUT, LERR, OK )
00192          INFOT = 7
00193          CALL DORMTR( 'L', 'U', 'N', 2, 0, A, 1, TAU, C, 2, W, 1, INFO )
00194          CALL CHKXER( 'DORMTR', INFOT, NOUT, LERR, OK )
00195          INFOT = 7
00196          CALL DORMTR( 'R', 'U', 'N', 0, 2, A, 1, TAU, C, 1, W, 1, INFO )
00197          CALL CHKXER( 'DORMTR', INFOT, NOUT, LERR, OK )
00198          INFOT = 10
00199          CALL DORMTR( 'L', 'U', 'N', 2, 0, A, 2, TAU, C, 1, W, 1, INFO )
00200          CALL CHKXER( 'DORMTR', INFOT, NOUT, LERR, OK )
00201          INFOT = 12
00202          CALL DORMTR( 'L', 'U', 'N', 0, 2, A, 1, TAU, C, 1, W, 1, INFO )
00203          CALL CHKXER( 'DORMTR', INFOT, NOUT, LERR, OK )
00204          INFOT = 12
00205          CALL DORMTR( 'R', 'U', 'N', 2, 0, A, 1, TAU, C, 2, W, 1, INFO )
00206          CALL CHKXER( 'DORMTR', INFOT, NOUT, LERR, OK )
00207          NT = NT + 10
00208 *
00209 *        DSPTRD
00210 *
00211          SRNAMT = 'DSPTRD'
00212          INFOT = 1
00213          CALL DSPTRD( '/', 0, A, D, E, TAU, INFO )
00214          CALL CHKXER( 'DSPTRD', INFOT, NOUT, LERR, OK )
00215          INFOT = 2
00216          CALL DSPTRD( 'U', -1, A, D, E, TAU, INFO )
00217          CALL CHKXER( 'DSPTRD', INFOT, NOUT, LERR, OK )
00218          NT = NT + 2
00219 *
00220 *        DOPGTR
00221 *
00222          SRNAMT = 'DOPGTR'
00223          INFOT = 1
00224          CALL DOPGTR( '/', 0, A, TAU, Z, 1, W, INFO )
00225          CALL CHKXER( 'DOPGTR', INFOT, NOUT, LERR, OK )
00226          INFOT = 2
00227          CALL DOPGTR( 'U', -1, A, TAU, Z, 1, W, INFO )
00228          CALL CHKXER( 'DOPGTR', INFOT, NOUT, LERR, OK )
00229          INFOT = 6
00230          CALL DOPGTR( 'U', 2, A, TAU, Z, 1, W, INFO )
00231          CALL CHKXER( 'DOPGTR', INFOT, NOUT, LERR, OK )
00232          NT = NT + 3
00233 *
00234 *        DOPMTR
00235 *
00236          SRNAMT = 'DOPMTR'
00237          INFOT = 1
00238          CALL DOPMTR( '/', 'U', 'N', 0, 0, A, TAU, C, 1, W, INFO )
00239          CALL CHKXER( 'DOPMTR', INFOT, NOUT, LERR, OK )
00240          INFOT = 2
00241          CALL DOPMTR( 'L', '/', 'N', 0, 0, A, TAU, C, 1, W, INFO )
00242          CALL CHKXER( 'DOPMTR', INFOT, NOUT, LERR, OK )
00243          INFOT = 3
00244          CALL DOPMTR( 'L', 'U', '/', 0, 0, A, TAU, C, 1, W, INFO )
00245          CALL CHKXER( 'DOPMTR', INFOT, NOUT, LERR, OK )
00246          INFOT = 4
00247          CALL DOPMTR( 'L', 'U', 'N', -1, 0, A, TAU, C, 1, W, INFO )
00248          CALL CHKXER( 'DOPMTR', INFOT, NOUT, LERR, OK )
00249          INFOT = 5
00250          CALL DOPMTR( 'L', 'U', 'N', 0, -1, A, TAU, C, 1, W, INFO )
00251          CALL CHKXER( 'DOPMTR', INFOT, NOUT, LERR, OK )
00252          INFOT = 9
00253          CALL DOPMTR( 'L', 'U', 'N', 2, 0, A, TAU, C, 1, W, INFO )
00254          CALL CHKXER( 'DOPMTR', INFOT, NOUT, LERR, OK )
00255          NT = NT + 6
00256 *
00257 *        DPTEQR
00258 *
00259          SRNAMT = 'DPTEQR'
00260          INFOT = 1
00261          CALL DPTEQR( '/', 0, D, E, Z, 1, W, INFO )
00262          CALL CHKXER( 'DPTEQR', INFOT, NOUT, LERR, OK )
00263          INFOT = 2
00264          CALL DPTEQR( 'N', -1, D, E, Z, 1, W, INFO )
00265          CALL CHKXER( 'DPTEQR', INFOT, NOUT, LERR, OK )
00266          INFOT = 6
00267          CALL DPTEQR( 'V', 2, D, E, Z, 1, W, INFO )
00268          CALL CHKXER( 'DPTEQR', INFOT, NOUT, LERR, OK )
00269          NT = NT + 3
00270 *
00271 *        DSTEBZ
00272 *
00273          SRNAMT = 'DSTEBZ'
00274          INFOT = 1
00275          CALL DSTEBZ( '/', 'E', 0, 0.0D0, 1.0D0, 1, 0, 0.0D0, D, E, M,
00276      $                NSPLIT, X, I1, I2, W, IW, INFO )
00277          CALL CHKXER( 'DSTEBZ', INFOT, NOUT, LERR, OK )
00278          INFOT = 2
00279          CALL DSTEBZ( 'A', '/', 0, 0.0D0, 0.0D0, 0, 0, 0.0D0, D, E, M,
00280      $                NSPLIT, X, I1, I2, W, IW, INFO )
00281          CALL CHKXER( 'DSTEBZ', INFOT, NOUT, LERR, OK )
00282          INFOT = 3
00283          CALL DSTEBZ( 'A', 'E', -1, 0.0D0, 0.0D0, 0, 0, 0.0D0, D, E, M,
00284      $                NSPLIT, X, I1, I2, W, IW, INFO )
00285          CALL CHKXER( 'DSTEBZ', INFOT, NOUT, LERR, OK )
00286          INFOT = 5
00287          CALL DSTEBZ( 'V', 'E', 0, 0.0D0, 0.0D0, 0, 0, 0.0D0, D, E, M,
00288      $                NSPLIT, X, I1, I2, W, IW, INFO )
00289          CALL CHKXER( 'DSTEBZ', INFOT, NOUT, LERR, OK )
00290          INFOT = 6
00291          CALL DSTEBZ( 'I', 'E', 0, 0.0D0, 0.0D0, 0, 0, 0.0D0, D, E, M,
00292      $                NSPLIT, X, I1, I2, W, IW, INFO )
00293          CALL CHKXER( 'DSTEBZ', INFOT, NOUT, LERR, OK )
00294          INFOT = 6
00295          CALL DSTEBZ( 'I', 'E', 1, 0.0D0, 0.0D0, 2, 1, 0.0D0, D, E, M,
00296      $                NSPLIT, X, I1, I2, W, IW, INFO )
00297          CALL CHKXER( 'DSTEBZ', INFOT, NOUT, LERR, OK )
00298          INFOT = 7
00299          CALL DSTEBZ( 'I', 'E', 1, 0.0D0, 0.0D0, 1, 0, 0.0D0, D, E, M,
00300      $                NSPLIT, X, I1, I2, W, IW, INFO )
00301          CALL CHKXER( 'DSTEBZ', INFOT, NOUT, LERR, OK )
00302          INFOT = 7
00303          CALL DSTEBZ( 'I', 'E', 1, 0.0D0, 0.0D0, 1, 2, 0.0D0, D, E, M,
00304      $                NSPLIT, X, I1, I2, W, IW, INFO )
00305          CALL CHKXER( 'DSTEBZ', INFOT, NOUT, LERR, OK )
00306          NT = NT + 8
00307 *
00308 *        DSTEIN
00309 *
00310          SRNAMT = 'DSTEIN'
00311          INFOT = 1
00312          CALL DSTEIN( -1, D, E, 0, X, I1, I2, Z, 1, W, IW, I3, INFO )
00313          CALL CHKXER( 'DSTEIN', INFOT, NOUT, LERR, OK )
00314          INFOT = 4
00315          CALL DSTEIN( 0, D, E, -1, X, I1, I2, Z, 1, W, IW, I3, INFO )
00316          CALL CHKXER( 'DSTEIN', INFOT, NOUT, LERR, OK )
00317          INFOT = 4
00318          CALL DSTEIN( 0, D, E, 1, X, I1, I2, Z, 1, W, IW, I3, INFO )
00319          CALL CHKXER( 'DSTEIN', INFOT, NOUT, LERR, OK )
00320          INFOT = 9
00321          CALL DSTEIN( 2, D, E, 0, X, I1, I2, Z, 1, W, IW, I3, INFO )
00322          CALL CHKXER( 'DSTEIN', INFOT, NOUT, LERR, OK )
00323          NT = NT + 4
00324 *
00325 *        DSTEQR
00326 *
00327          SRNAMT = 'DSTEQR'
00328          INFOT = 1
00329          CALL DSTEQR( '/', 0, D, E, Z, 1, W, INFO )
00330          CALL CHKXER( 'DSTEQR', INFOT, NOUT, LERR, OK )
00331          INFOT = 2
00332          CALL DSTEQR( 'N', -1, D, E, Z, 1, W, INFO )
00333          CALL CHKXER( 'DSTEQR', INFOT, NOUT, LERR, OK )
00334          INFOT = 6
00335          CALL DSTEQR( 'V', 2, D, E, Z, 1, W, INFO )
00336          CALL CHKXER( 'DSTEQR', INFOT, NOUT, LERR, OK )
00337          NT = NT + 3
00338 *
00339 *        DSTERF
00340 *
00341          SRNAMT = 'DSTERF'
00342          INFOT = 1
00343          CALL DSTERF( -1, D, E, INFO )
00344          CALL CHKXER( 'DSTERF', INFOT, NOUT, LERR, OK )
00345          NT = NT + 1
00346 *
00347 *        DSTEDC
00348 *
00349          SRNAMT = 'DSTEDC'
00350          INFOT = 1
00351          CALL DSTEDC( '/', 0, D, E, Z, 1, W, 1, IW, 1, INFO )
00352          CALL CHKXER( 'DSTEDC', INFOT, NOUT, LERR, OK )
00353          INFOT = 2
00354          CALL DSTEDC( 'N', -1, D, E, Z, 1, W, 1, IW, 1, INFO )
00355          CALL CHKXER( 'DSTEDC', INFOT, NOUT, LERR, OK )
00356          INFOT = 6
00357          CALL DSTEDC( 'V', 2, D, E, Z, 1, W, 23, IW, 28, INFO )
00358          CALL CHKXER( 'DSTEDC', INFOT, NOUT, LERR, OK )
00359          INFOT = 8
00360          CALL DSTEDC( 'N', 1, D, E, Z, 1, W, 0, IW, 1, INFO )
00361          CALL CHKXER( 'DSTEDC', INFOT, NOUT, LERR, OK )
00362          INFOT = 8
00363          CALL DSTEDC( 'I', 2, D, E, Z, 2, W, 0, IW, 12, INFO )
00364          CALL CHKXER( 'DSTEDC', INFOT, NOUT, LERR, OK )
00365          INFOT = 8
00366          CALL DSTEDC( 'V', 2, D, E, Z, 2, W, 0, IW, 28, INFO )
00367          CALL CHKXER( 'DSTEDC', INFOT, NOUT, LERR, OK )
00368          INFOT = 10
00369          CALL DSTEDC( 'N', 1, D, E, Z, 1, W, 1, IW, 0, INFO )
00370          CALL CHKXER( 'DSTEDC', INFOT, NOUT, LERR, OK )
00371          INFOT = 10
00372          CALL DSTEDC( 'I', 2, D, E, Z, 2, W, 19, IW, 0, INFO )
00373          CALL CHKXER( 'DSTEDC', INFOT, NOUT, LERR, OK )
00374          INFOT = 10
00375          CALL DSTEDC( 'V', 2, D, E, Z, 2, W, 23, IW, 0, INFO )
00376          CALL CHKXER( 'DSTEDC', INFOT, NOUT, LERR, OK )
00377          NT = NT + 9
00378 *
00379 *        DSTEVD
00380 *
00381          SRNAMT = 'DSTEVD'
00382          INFOT = 1
00383          CALL DSTEVD( '/', 0, D, E, Z, 1, W, 1, IW, 1, INFO )
00384          CALL CHKXER( 'DSTEVD', INFOT, NOUT, LERR, OK )
00385          INFOT = 2
00386          CALL DSTEVD( 'N', -1, D, E, Z, 1, W, 1, IW, 1, INFO )
00387          CALL CHKXER( 'DSTEVD', INFOT, NOUT, LERR, OK )
00388          INFOT = 6
00389          CALL DSTEVD( 'V', 2, D, E, Z, 1, W, 19, IW, 12, INFO )
00390          CALL CHKXER( 'DSTEVD', INFOT, NOUT, LERR, OK )
00391          INFOT = 8
00392          CALL DSTEVD( 'N', 1, D, E, Z, 1, W, 0, IW, 1, INFO )
00393          CALL CHKXER( 'DSTEVD', INFOT, NOUT, LERR, OK )
00394          INFOT = 8
00395          CALL DSTEVD( 'V', 2, D, E, Z, 2, W, 12, IW, 12, INFO )
00396          CALL CHKXER( 'DSTEVD', INFOT, NOUT, LERR, OK )
00397          INFOT = 10
00398          CALL DSTEVD( 'N', 0, D, E, Z, 1, W, 1, IW, 0, INFO )
00399          CALL CHKXER( 'DSTEVD', INFOT, NOUT, LERR, OK )
00400          INFOT = 10
00401          CALL DSTEVD( 'V', 2, D, E, Z, 2, W, 19, IW, 11, INFO )
00402          CALL CHKXER( 'DSTEVD', INFOT, NOUT, LERR, OK )
00403          NT = NT + 7
00404 *
00405 *        DSTEV
00406 *
00407          SRNAMT = 'DSTEV '
00408          INFOT = 1
00409          CALL DSTEV( '/', 0, D, E, Z, 1, W, INFO )
00410          CALL CHKXER( 'DSTEV ', INFOT, NOUT, LERR, OK )
00411          INFOT = 2
00412          CALL DSTEV( 'N', -1, D, E, Z, 1, W, INFO )
00413          CALL CHKXER( 'DSTEV ', INFOT, NOUT, LERR, OK )
00414          INFOT = 6
00415          CALL DSTEV( 'V', 2, D, E, Z, 1, W, INFO )
00416          CALL CHKXER( 'DSTEV ', INFOT, NOUT, LERR, OK )
00417          NT = NT + 3
00418 *
00419 *        DSTEVX
00420 *
00421          SRNAMT = 'DSTEVX'
00422          INFOT = 1
00423          CALL DSTEVX( '/', 'A', 0, D, E, 0.0D0, 0.0D0, 0, 0, 0.0D0, M,
00424      $                X, Z, 1, W, IW, I3, INFO )
00425          CALL CHKXER( 'DSTEVX', INFOT, NOUT, LERR, OK )
00426          INFOT = 2
00427          CALL DSTEVX( 'N', '/', 0, D, E, 0.0D0, 1.0D0, 1, 0, 0.0D0, M,
00428      $                X, Z, 1, W, IW, I3, INFO )
00429          CALL CHKXER( 'DSTEVX', INFOT, NOUT, LERR, OK )
00430          INFOT = 3
00431          CALL DSTEVX( 'N', 'A', -1, D, E, 0.0D0, 0.0D0, 0, 0, 0.0D0, M,
00432      $                X, Z, 1, W, IW, I3, INFO )
00433          CALL CHKXER( 'DSTEVX', INFOT, NOUT, LERR, OK )
00434          INFOT = 7
00435          CALL DSTEVX( 'N', 'V', 1, D, E, 0.0D0, 0.0D0, 0, 0, 0.0D0, M,
00436      $                X, Z, 1, W, IW, I3, INFO )
00437          CALL CHKXER( 'DSTEVX', INFOT, NOUT, LERR, OK )
00438          INFOT = 8
00439          CALL DSTEVX( 'N', 'I', 1, D, E, 0.0D0, 0.0D0, 0, 0, 0.0D0, M,
00440      $                X, Z, 1, W, IW, I3, INFO )
00441          CALL CHKXER( 'DSTEVX', INFOT, NOUT, LERR, OK )
00442          INFOT = 8
00443          CALL DSTEVX( 'N', 'I', 1, D, E, 0.0D0, 0.0D0, 2, 1, 0.0D0, M,
00444      $                X, Z, 1, W, IW, I3, INFO )
00445          CALL CHKXER( 'DSTEVX', INFOT, NOUT, LERR, OK )
00446          INFOT = 9
00447          CALL DSTEVX( 'N', 'I', 2, D, E, 0.0D0, 0.0D0, 2, 1, 0.0D0, M,
00448      $                X, Z, 1, W, IW, I3, INFO )
00449          CALL CHKXER( 'DSTEVX', INFOT, NOUT, LERR, OK )
00450          INFOT = 9
00451          CALL DSTEVX( 'N', 'I', 1, D, E, 0.0D0, 0.0D0, 1, 2, 0.0D0, M,
00452      $                X, Z, 1, W, IW, I3, INFO )
00453          CALL CHKXER( 'DSTEVX', INFOT, NOUT, LERR, OK )
00454          INFOT = 14
00455          CALL DSTEVX( 'V', 'A', 2, D, E, 0.0D0, 0.0D0, 0, 0, 0.0D0, M,
00456      $                X, Z, 1, W, IW, I3, INFO )
00457          CALL CHKXER( 'DSTEVX', INFOT, NOUT, LERR, OK )
00458          NT = NT + 9
00459 *
00460 *        DSTEVR
00461 *
00462          N = 1
00463          SRNAMT = 'DSTEVR'
00464          INFOT = 1
00465          CALL DSTEVR( '/', 'A', 0, D, E, 0.0D0, 0.0D0, 1, 1, 0.0D0, M,
00466      $                R, Z, 1, IW, X, 20*N, IW( 2*N+1 ), 10*N, INFO )
00467          CALL CHKXER( 'DSTEVR', INFOT, NOUT, LERR, OK )
00468          INFOT = 2
00469          CALL DSTEVR( 'V', '/', 0, D, E, 0.0D0, 0.0D0, 1, 1, 0.0D0, M,
00470      $                R, Z, 1, IW, X, 20*N, IW( 2*N+1 ), 10*N, INFO )
00471          CALL CHKXER( 'DSTEVR', INFOT, NOUT, LERR, OK )
00472          INFOT = 3
00473          CALL DSTEVR( 'V', 'A', -1, D, E, 0.0D0, 0.0D0, 1, 1, 0.0D0, M,
00474      $                R, Z, 1, IW, X, 20*N, IW( 2*N+1 ), 10*N, INFO )
00475          CALL CHKXER( 'DSTEVR', INFOT, NOUT, LERR, OK )
00476          INFOT = 7
00477          CALL DSTEVR( 'V', 'V', 1, D, E, 0.0D0, 0.0D0, 1, 1, 0.0D0, M,
00478      $                R, Z, 1, IW, X, 20*N, IW( 2*N+1 ), 10*N, INFO )
00479          CALL CHKXER( 'DSTEVR', INFOT, NOUT, LERR, OK )
00480          INFOT = 8
00481          CALL DSTEVR( 'V', 'I', 1, D, E, 0.0D0, 0.0D0, 0, 1, 0.0D0, M,
00482      $                W, Z, 1, IW, X, 20*N, IW( 2*N+1 ), 10*N, INFO )
00483          CALL CHKXER( 'DSTEVR', INFOT, NOUT, LERR, OK )
00484          INFOT = 9
00485          N = 2
00486          CALL DSTEVR( 'V', 'I', 2, D, E, 0.0D0, 0.0D0, 2, 1, 0.0D0, M,
00487      $                W, Z, 1, IW, X, 20*N, IW( 2*N+1 ), 10*N, INFO )
00488          CALL CHKXER( 'DSTEVR', INFOT, NOUT, LERR, OK )
00489          INFOT = 14
00490          N = 1
00491          CALL DSTEVR( 'V', 'I', 1, D, E, 0.0D0, 0.0D0, 1, 1, 0.0D0, M,
00492      $                W, Z, 0, IW, X, 20*N, IW( 2*N+1 ), 10*N, INFO )
00493          CALL CHKXER( 'DSTEVR', INFOT, NOUT, LERR, OK )
00494          INFOT = 17
00495          CALL DSTEVR( 'V', 'I', 1, D, E, 0.0D0, 0.0D0, 1, 1, 0.0D0, M,
00496      $                W, Z, 1, IW, X, 20*N-1, IW( 2*N+1 ), 10*N, INFO )
00497          CALL CHKXER( 'DSTEVR', INFOT, NOUT, LERR, OK )
00498          INFOT = 19
00499          CALL DSTEVR( 'V', 'I', 1, D, E, 0.0D0, 0.0D0, 1, 1, 0.0D0, M,
00500      $                W, Z, 1, IW, X, 20*N, IW( 2*N+1 ), 10*N-1, INFO )
00501          CALL CHKXER( 'DSTEVR', INFOT, NOUT, LERR, OK )
00502          NT = NT + 9
00503 *
00504 *        DSYEVD
00505 *
00506          SRNAMT = 'DSYEVD'
00507          INFOT = 1
00508          CALL DSYEVD( '/', 'U', 0, A, 1, X, W, 1, IW, 1, INFO )
00509          CALL CHKXER( 'DSYEVD', INFOT, NOUT, LERR, OK )
00510          INFOT = 2
00511          CALL DSYEVD( 'N', '/', 0, A, 1, X, W, 1, IW, 1, INFO )
00512          CALL CHKXER( 'DSYEVD', INFOT, NOUT, LERR, OK )
00513          INFOT = 3
00514          CALL DSYEVD( 'N', 'U', -1, A, 1, X, W, 1, IW, 1, INFO )
00515          CALL CHKXER( 'DSYEVD', INFOT, NOUT, LERR, OK )
00516          INFOT = 5
00517          CALL DSYEVD( 'N', 'U', 2, A, 1, X, W, 3, IW, 1, INFO )
00518          CALL CHKXER( 'DSYEVD', INFOT, NOUT, LERR, OK )
00519          INFOT = 8
00520          CALL DSYEVD( 'N', 'U', 1, A, 1, X, W, 0, IW, 1, INFO )
00521          CALL CHKXER( 'DSYEVD', INFOT, NOUT, LERR, OK )
00522          INFOT = 8
00523          CALL DSYEVD( 'N', 'U', 2, A, 2, X, W, 4, IW, 1, INFO )
00524          CALL CHKXER( 'DSYEVD', INFOT, NOUT, LERR, OK )
00525          INFOT = 8
00526          CALL DSYEVD( 'V', 'U', 2, A, 2, X, W, 20, IW, 12, INFO )
00527          CALL CHKXER( 'DSYEVD', INFOT, NOUT, LERR, OK )
00528          INFOT = 10
00529          CALL DSYEVD( 'N', 'U', 1, A, 1, X, W, 1, IW, 0, INFO )
00530          CALL CHKXER( 'DSYEVD', INFOT, NOUT, LERR, OK )
00531          INFOT = 10
00532          CALL DSYEVD( 'N', 'U', 2, A, 2, X, W, 5, IW, 0, INFO )
00533          CALL CHKXER( 'DSYEVD', INFOT, NOUT, LERR, OK )
00534          INFOT = 10
00535          CALL DSYEVD( 'V', 'U', 2, A, 2, X, W, 27, IW, 11, INFO )
00536          CALL CHKXER( 'DSYEVD', INFOT, NOUT, LERR, OK )
00537          NT = NT + 10
00538 *
00539 *        DSYEVR
00540 *
00541          SRNAMT = 'DSYEVR'
00542          N = 1
00543          INFOT = 1
00544          CALL DSYEVR( '/', 'A', 'U', 0, A, 1, 0.0D0, 0.0D0, 1, 1, 0.0D0,
00545      $                M, R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
00546          CALL CHKXER( 'DSYEVR', INFOT, NOUT, LERR, OK )
00547          INFOT = 2
00548          CALL DSYEVR( 'V', '/', 'U', 0, A, 1, 0.0D0, 0.0D0, 1, 1, 0.0D0,
00549      $                M, R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
00550          CALL CHKXER( 'DSYEVR', INFOT, NOUT, LERR, OK )
00551          INFOT = 3
00552          CALL DSYEVR( 'V', 'A', '/', -1, A, 1, 0.0D0, 0.0D0, 1, 1,
00553      $                0.0D0, M, R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N,
00554      $                INFO )
00555          CALL CHKXER( 'DSYEVR', INFOT, NOUT, LERR, OK )
00556          INFOT = 4
00557          CALL DSYEVR( 'V', 'A', 'U', -1, A, 1, 0.0D0, 0.0D0, 1, 1,
00558      $                0.0D0, M, R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N,
00559      $                INFO )
00560          CALL CHKXER( 'DSYEVR', INFOT, NOUT, LERR, OK )
00561          INFOT = 6
00562          CALL DSYEVR( 'V', 'A', 'U', 2, A, 1, 0.0D0, 0.0D0, 1, 1, 0.0D0,
00563      $                M, R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
00564          CALL CHKXER( 'DSYEVR', INFOT, NOUT, LERR, OK )
00565          INFOT = 8
00566          CALL DSYEVR( 'V', 'V', 'U', 1, A, 1, 0.0D0, 0.0D0, 1, 1, 0.0D0,
00567      $                M, R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
00568          CALL CHKXER( 'DSYEVR', INFOT, NOUT, LERR, OK )
00569          INFOT = 9
00570          CALL DSYEVR( 'V', 'I', 'U', 1, A, 1, 0.0D0, 0.0D0, 0, 1, 0.0D0,
00571      $                M, R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
00572          CALL CHKXER( 'DSYEVR', INFOT, NOUT, LERR, OK )
00573          INFOT = 10
00574 *
00575          CALL DSYEVR( 'V', 'I', 'U', 2, A, 2, 0.0D0, 0.0D0, 2, 1, 0.0D0,
00576      $                M, R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
00577          CALL CHKXER( 'DSYEVR', INFOT, NOUT, LERR, OK )
00578          INFOT = 15
00579          CALL DSYEVR( 'V', 'I', 'U', 1, A, 1, 0.0D0, 0.0D0, 1, 1, 0.0D0,
00580      $                M, R, Z, 0, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
00581          CALL CHKXER( 'DSYEVR', INFOT, NOUT, LERR, OK )
00582          INFOT = 18
00583          CALL DSYEVR( 'V', 'I', 'U', 1, A, 1, 0.0D0, 0.0D0, 1, 1, 0.0D0,
00584      $                M, R, Z, 1, IW, Q, 26*N-1, IW( 2*N+1 ), 10*N,
00585      $                INFO )
00586          CALL CHKXER( 'DSYEVR', INFOT, NOUT, LERR, OK )
00587          INFOT = 20
00588          CALL DSYEVR( 'V', 'I', 'U', 1, A, 1, 0.0D0, 0.0D0, 1, 1, 0.0D0,
00589      $                M, R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N-1,
00590      $                INFO )
00591          CALL CHKXER( 'DSYEVR', INFOT, NOUT, LERR, OK )
00592          NT = NT + 11
00593 *
00594 *        DSYEV
00595 *
00596          SRNAMT = 'DSYEV '
00597          INFOT = 1
00598          CALL DSYEV( '/', 'U', 0, A, 1, X, W, 1, INFO )
00599          CALL CHKXER( 'DSYEV ', INFOT, NOUT, LERR, OK )
00600          INFOT = 2
00601          CALL DSYEV( 'N', '/', 0, A, 1, X, W, 1, INFO )
00602          CALL CHKXER( 'DSYEV ', INFOT, NOUT, LERR, OK )
00603          INFOT = 3
00604          CALL DSYEV( 'N', 'U', -1, A, 1, X, W, 1, INFO )
00605          CALL CHKXER( 'DSYEV ', INFOT, NOUT, LERR, OK )
00606          INFOT = 5
00607          CALL DSYEV( 'N', 'U', 2, A, 1, X, W, 3, INFO )
00608          CALL CHKXER( 'DSYEV ', INFOT, NOUT, LERR, OK )
00609          INFOT = 8
00610          CALL DSYEV( 'N', 'U', 1, A, 1, X, W, 1, INFO )
00611          CALL CHKXER( 'DSYEV ', INFOT, NOUT, LERR, OK )
00612          NT = NT + 5
00613 *
00614 *        DSYEVX
00615 *
00616          SRNAMT = 'DSYEVX'
00617          INFOT = 1
00618          CALL DSYEVX( '/', 'A', 'U', 0, A, 1, 0.0D0, 0.0D0, 0, 0, 0.0D0,
00619      $                M, X, Z, 1, W, 1, IW, I3, INFO )
00620          CALL CHKXER( 'DSYEVX', INFOT, NOUT, LERR, OK )
00621          INFOT = 2
00622          CALL DSYEVX( 'N', '/', 'U', 0, A, 1, 0.0D0, 1.0D0, 1, 0, 0.0D0,
00623      $                M, X, Z, 1, W, 1, IW, I3, INFO )
00624          CALL CHKXER( 'DSYEVX', INFOT, NOUT, LERR, OK )
00625          INFOT = 3
00626          CALL DSYEVX( 'N', 'A', '/', 0, A, 1, 0.0D0, 0.0D0, 0, 0, 0.0D0,
00627      $                M, X, Z, 1, W, 1, IW, I3, INFO )
00628          INFOT = 4
00629          CALL DSYEVX( 'N', 'A', 'U', -1, A, 1, 0.0D0, 0.0D0, 0, 0,
00630      $                0.0D0, M, X, Z, 1, W, 1, IW, I3, INFO )
00631          CALL CHKXER( 'DSYEVX', INFOT, NOUT, LERR, OK )
00632          INFOT = 6
00633          CALL DSYEVX( 'N', 'A', 'U', 2, A, 1, 0.0D0, 0.0D0, 0, 0, 0.0D0,
00634      $                M, X, Z, 1, W, 16, IW, I3, INFO )
00635          CALL CHKXER( 'DSYEVX', INFOT, NOUT, LERR, OK )
00636          INFOT = 8
00637          CALL DSYEVX( 'N', 'V', 'U', 1, A, 1, 0.0D0, 0.0D0, 0, 0, 0.0D0,
00638      $                M, X, Z, 1, W, 8, IW, I3, INFO )
00639          CALL CHKXER( 'DSYEVX', INFOT, NOUT, LERR, OK )
00640          INFOT = 9
00641          CALL DSYEVX( 'N', 'I', 'U', 1, A, 1, 0.0D0, 0.0D0, 0, 0, 0.0D0,
00642      $                M, X, Z, 1, W, 8, IW, I3, INFO )
00643          CALL CHKXER( 'DSYEVX', INFOT, NOUT, LERR, OK )
00644          INFOT = 9
00645          CALL DSYEVX( 'N', 'I', 'U', 1, A, 1, 0.0D0, 0.0D0, 2, 1, 0.0D0,
00646      $                M, X, Z, 1, W, 8, IW, I3, INFO )
00647          CALL CHKXER( 'DSYEVX', INFOT, NOUT, LERR, OK )
00648          INFOT = 10
00649          CALL DSYEVX( 'N', 'I', 'U', 2, A, 2, 0.0D0, 0.0D0, 2, 1, 0.0D0,
00650      $                M, X, Z, 1, W, 16, IW, I3, INFO )
00651          CALL CHKXER( 'DSYEVX', INFOT, NOUT, LERR, OK )
00652          INFOT = 10
00653          CALL DSYEVX( 'N', 'I', 'U', 1, A, 1, 0.0D0, 0.0D0, 1, 2, 0.0D0,
00654      $                M, X, Z, 1, W, 8, IW, I3, INFO )
00655          CALL CHKXER( 'DSYEVX', INFOT, NOUT, LERR, OK )
00656          INFOT = 15
00657          CALL DSYEVX( 'V', 'A', 'U', 2, A, 2, 0.0D0, 0.0D0, 0, 0, 0.0D0,
00658      $                M, X, Z, 1, W, 16, IW, I3, INFO )
00659          CALL CHKXER( 'DSYEVX', INFOT, NOUT, LERR, OK )
00660          INFOT = 17
00661          CALL DSYEVX( 'V', 'A', 'U', 1, A, 1, 0.0D0, 0.0D0, 0, 0, 0.0D0,
00662      $                M, X, Z, 1, W, 0, IW, I3, INFO )
00663          CALL CHKXER( 'DSYEVX', INFOT, NOUT, LERR, OK )
00664          NT = NT + 12
00665 *
00666 *        DSPEVD
00667 *
00668          SRNAMT = 'DSPEVD'
00669          INFOT = 1
00670          CALL DSPEVD( '/', 'U', 0, A, X, Z, 1, W, 1, IW, 1, INFO )
00671          CALL CHKXER( 'DSPEVD', INFOT, NOUT, LERR, OK )
00672          INFOT = 2
00673          CALL DSPEVD( 'N', '/', 0, A, X, Z, 1, W, 1, IW, 1, INFO )
00674          CALL CHKXER( 'DSPEVD', INFOT, NOUT, LERR, OK )
00675          INFOT = 3
00676          CALL DSPEVD( 'N', 'U', -1, A, X, Z, 1, W, 1, IW, 1, INFO )
00677          CALL CHKXER( 'DSPEVD', INFOT, NOUT, LERR, OK )
00678          INFOT = 7
00679          CALL DSPEVD( 'V', 'U', 2, A, X, Z, 1, W, 23, IW, 12, INFO )
00680          CALL CHKXER( 'DSPEVD', INFOT, NOUT, LERR, OK )
00681          INFOT = 9
00682          CALL DSPEVD( 'N', 'U', 1, A, X, Z, 1, W, 0, IW, 1, INFO )
00683          CALL CHKXER( 'DSPEVD', INFOT, NOUT, LERR, OK )
00684          INFOT = 9
00685          CALL DSPEVD( 'N', 'U', 2, A, X, Z, 1, W, 3, IW, 1, INFO )
00686          CALL CHKXER( 'DSPEVD', INFOT, NOUT, LERR, OK )
00687          INFOT = 9
00688          CALL DSPEVD( 'V', 'U', 2, A, X, Z, 2, W, 16, IW, 12, INFO )
00689          CALL CHKXER( 'DSPEVD', INFOT, NOUT, LERR, OK )
00690          INFOT = 11
00691          CALL DSPEVD( 'N', 'U', 1, A, X, Z, 1, W, 1, IW, 0, INFO )
00692          CALL CHKXER( 'DSPEVD', INFOT, NOUT, LERR, OK )
00693          INFOT = 11
00694          CALL DSPEVD( 'N', 'U', 2, A, X, Z, 1, W, 4, IW, 0, INFO )
00695          CALL CHKXER( 'DSPEVD', INFOT, NOUT, LERR, OK )
00696          INFOT = 11
00697          CALL DSPEVD( 'V', 'U', 2, A, X, Z, 2, W, 23, IW, 11, INFO )
00698          CALL CHKXER( 'DSPEVD', INFOT, NOUT, LERR, OK )
00699          NT = NT + 10
00700 *
00701 *        DSPEV
00702 *
00703          SRNAMT = 'DSPEV '
00704          INFOT = 1
00705          CALL DSPEV( '/', 'U', 0, A, W, Z, 1, X, INFO )
00706          CALL CHKXER( 'DSPEV ', INFOT, NOUT, LERR, OK )
00707          INFOT = 2
00708          CALL DSPEV( 'N', '/', 0, A, W, Z, 1, X, INFO )
00709          CALL CHKXER( 'DSPEV ', INFOT, NOUT, LERR, OK )
00710          INFOT = 3
00711          CALL DSPEV( 'N', 'U', -1, A, W, Z, 1, X, INFO )
00712          CALL CHKXER( 'DSPEV ', INFOT, NOUT, LERR, OK )
00713          INFOT = 7
00714          CALL DSPEV( 'V', 'U', 2, A, W, Z, 1, X, INFO )
00715          CALL CHKXER( 'DSPEV ', INFOT, NOUT, LERR, OK )
00716          NT = NT + 4
00717 *
00718 *        DSPEVX
00719 *
00720          SRNAMT = 'DSPEVX'
00721          INFOT = 1
00722          CALL DSPEVX( '/', 'A', 'U', 0, A, 0.0D0, 0.0D0, 0, 0, 0.0D0, M,
00723      $                X, Z, 1, W, IW, I3, INFO )
00724          CALL CHKXER( 'DSPEVX', INFOT, NOUT, LERR, OK )
00725          INFOT = 2
00726          CALL DSPEVX( 'N', '/', 'U', 0, A, 0.0D0, 0.0D0, 0, 0, 0.0D0, M,
00727      $                X, Z, 1, W, IW, I3, INFO )
00728          CALL CHKXER( 'DSPEVX', INFOT, NOUT, LERR, OK )
00729          INFOT = 3
00730          CALL DSPEVX( 'N', 'A', '/', 0, A, 0.0D0, 0.0D0, 0, 0, 0.0D0, M,
00731      $                X, Z, 1, W, IW, I3, INFO )
00732          INFOT = 4
00733          CALL DSPEVX( 'N', 'A', 'U', -1, A, 0.0D0, 0.0D0, 0, 0, 0.0D0,
00734      $                M, X, Z, 1, W, IW, I3, INFO )
00735          CALL CHKXER( 'DSPEVX', INFOT, NOUT, LERR, OK )
00736          INFOT = 7
00737          CALL DSPEVX( 'N', 'V', 'U', 1, A, 0.0D0, 0.0D0, 0, 0, 0.0D0, M,
00738      $                X, Z, 1, W, IW, I3, INFO )
00739          CALL CHKXER( 'DSPEVX', INFOT, NOUT, LERR, OK )
00740          INFOT = 8
00741          CALL DSPEVX( 'N', 'I', 'U', 1, A, 0.0D0, 0.0D0, 0, 0, 0.0D0, M,
00742      $                X, Z, 1, W, IW, I3, INFO )
00743          CALL CHKXER( 'DSPEVX', INFOT, NOUT, LERR, OK )
00744          INFOT = 8
00745          CALL DSPEVX( 'N', 'I', 'U', 1, A, 0.0D0, 0.0D0, 2, 1, 0.0D0, M,
00746      $                X, Z, 1, W, IW, I3, INFO )
00747          CALL CHKXER( 'DSPEVX', INFOT, NOUT, LERR, OK )
00748          INFOT = 9
00749          CALL DSPEVX( 'N', 'I', 'U', 2, A, 0.0D0, 0.0D0, 2, 1, 0.0D0, M,
00750      $                X, Z, 1, W, IW, I3, INFO )
00751          CALL CHKXER( 'DSPEVX', INFOT, NOUT, LERR, OK )
00752          INFOT = 9
00753          CALL DSPEVX( 'N', 'I', 'U', 1, A, 0.0D0, 0.0D0, 1, 2, 0.0D0, M,
00754      $                X, Z, 1, W, IW, I3, INFO )
00755          CALL CHKXER( 'DSPEVX', INFOT, NOUT, LERR, OK )
00756          INFOT = 14
00757          CALL DSPEVX( 'V', 'A', 'U', 2, A, 0.0D0, 0.0D0, 0, 0, 0.0D0, M,
00758      $                X, Z, 1, W, IW, I3, INFO )
00759          CALL CHKXER( 'DSPEVX', INFOT, NOUT, LERR, OK )
00760          NT = NT + 10
00761 *
00762 *     Test error exits for the SB path.
00763 *
00764       ELSE IF( LSAMEN( 2, C2, 'SB' ) ) THEN
00765 *
00766 *        DSBTRD
00767 *
00768          SRNAMT = 'DSBTRD'
00769          INFOT = 1
00770          CALL DSBTRD( '/', 'U', 0, 0, A, 1, D, E, Z, 1, W, INFO )
00771          CALL CHKXER( 'DSBTRD', INFOT, NOUT, LERR, OK )
00772          INFOT = 2
00773          CALL DSBTRD( 'N', '/', 0, 0, A, 1, D, E, Z, 1, W, INFO )
00774          CALL CHKXER( 'DSBTRD', INFOT, NOUT, LERR, OK )
00775          INFOT = 3
00776          CALL DSBTRD( 'N', 'U', -1, 0, A, 1, D, E, Z, 1, W, INFO )
00777          CALL CHKXER( 'DSBTRD', INFOT, NOUT, LERR, OK )
00778          INFOT = 4
00779          CALL DSBTRD( 'N', 'U', 0, -1, A, 1, D, E, Z, 1, W, INFO )
00780          CALL CHKXER( 'DSBTRD', INFOT, NOUT, LERR, OK )
00781          INFOT = 6
00782          CALL DSBTRD( 'N', 'U', 1, 1, A, 1, D, E, Z, 1, W, INFO )
00783          CALL CHKXER( 'DSBTRD', INFOT, NOUT, LERR, OK )
00784          INFOT = 10
00785          CALL DSBTRD( 'V', 'U', 2, 0, A, 1, D, E, Z, 1, W, INFO )
00786          CALL CHKXER( 'DSBTRD', INFOT, NOUT, LERR, OK )
00787          NT = NT + 6
00788 *
00789 *        DSBEVD
00790 *
00791          SRNAMT = 'DSBEVD'
00792          INFOT = 1
00793          CALL DSBEVD( '/', 'U', 0, 0, A, 1, X, Z, 1, W, 1, IW, 1, INFO )
00794          CALL CHKXER( 'DSBEVD', INFOT, NOUT, LERR, OK )
00795          INFOT = 2
00796          CALL DSBEVD( 'N', '/', 0, 0, A, 1, X, Z, 1, W, 1, IW, 1, INFO )
00797          CALL CHKXER( 'DSBEVD', INFOT, NOUT, LERR, OK )
00798          INFOT = 3
00799          CALL DSBEVD( 'N', 'U', -1, 0, A, 1, X, Z, 1, W, 1, IW, 1,
00800      $                INFO )
00801          CALL CHKXER( 'DSBEVD', INFOT, NOUT, LERR, OK )
00802          INFOT = 4
00803          CALL DSBEVD( 'N', 'U', 0, -1, A, 1, X, Z, 1, W, 1, IW, 1,
00804      $                INFO )
00805          CALL CHKXER( 'DSBEVD', INFOT, NOUT, LERR, OK )
00806          INFOT = 6
00807          CALL DSBEVD( 'N', 'U', 2, 1, A, 1, X, Z, 1, W, 4, IW, 1, INFO )
00808          CALL CHKXER( 'DSBEVD', INFOT, NOUT, LERR, OK )
00809          INFOT = 9
00810          CALL DSBEVD( 'V', 'U', 2, 1, A, 2, X, Z, 1, W, 25, IW, 12,
00811      $                INFO )
00812          CALL CHKXER( 'DSBEVD', INFOT, NOUT, LERR, OK )
00813          INFOT = 11
00814          CALL DSBEVD( 'N', 'U', 1, 0, A, 1, X, Z, 1, W, 0, IW, 1, INFO )
00815          CALL CHKXER( 'DSBEVD', INFOT, NOUT, LERR, OK )
00816          INFOT = 11
00817          CALL DSBEVD( 'N', 'U', 2, 0, A, 1, X, Z, 1, W, 3, IW, 1, INFO )
00818          CALL CHKXER( 'DSBEVD', INFOT, NOUT, LERR, OK )
00819          INFOT = 11
00820          CALL DSBEVD( 'V', 'U', 2, 0, A, 1, X, Z, 2, W, 18, IW, 12,
00821      $                INFO )
00822          CALL CHKXER( 'DSBEVD', INFOT, NOUT, LERR, OK )
00823          INFOT = 13
00824          CALL DSBEVD( 'N', 'U', 1, 0, A, 1, X, Z, 1, W, 1, IW, 0, INFO )
00825          CALL CHKXER( 'DSBEVD', INFOT, NOUT, LERR, OK )
00826          INFOT = 13
00827          CALL DSBEVD( 'V', 'U', 2, 0, A, 1, X, Z, 2, W, 25, IW, 11,
00828      $                INFO )
00829          CALL CHKXER( 'DSBEVD', INFOT, NOUT, LERR, OK )
00830          NT = NT + 11
00831 *
00832 *        DSBEV
00833 *
00834          SRNAMT = 'DSBEV '
00835          INFOT = 1
00836          CALL DSBEV( '/', 'U', 0, 0, A, 1, X, Z, 1, W, INFO )
00837          CALL CHKXER( 'DSBEV ', INFOT, NOUT, LERR, OK )
00838          INFOT = 2
00839          CALL DSBEV( 'N', '/', 0, 0, A, 1, X, Z, 1, W, INFO )
00840          CALL CHKXER( 'DSBEV ', INFOT, NOUT, LERR, OK )
00841          INFOT = 3
00842          CALL DSBEV( 'N', 'U', -1, 0, A, 1, X, Z, 1, W, INFO )
00843          CALL CHKXER( 'DSBEV ', INFOT, NOUT, LERR, OK )
00844          INFOT = 4
00845          CALL DSBEV( 'N', 'U', 0, -1, A, 1, X, Z, 1, W, INFO )
00846          CALL CHKXER( 'DSBEV ', INFOT, NOUT, LERR, OK )
00847          INFOT = 6
00848          CALL DSBEV( 'N', 'U', 2, 1, A, 1, X, Z, 1, W, INFO )
00849          CALL CHKXER( 'DSBEV ', INFOT, NOUT, LERR, OK )
00850          INFOT = 9
00851          CALL DSBEV( 'V', 'U', 2, 0, A, 1, X, Z, 1, W, INFO )
00852          CALL CHKXER( 'DSBEV ', INFOT, NOUT, LERR, OK )
00853          NT = NT + 6
00854 *
00855 *        DSBEVX
00856 *
00857          SRNAMT = 'DSBEVX'
00858          INFOT = 1
00859          CALL DSBEVX( '/', 'A', 'U', 0, 0, A, 1, Q, 1, 0.0D0, 0.0D0, 0,
00860      $                0, 0.0D0, M, X, Z, 1, W, IW, I3, INFO )
00861          CALL CHKXER( 'DSBEVX', INFOT, NOUT, LERR, OK )
00862          INFOT = 2
00863          CALL DSBEVX( 'N', '/', 'U', 0, 0, A, 1, Q, 1, 0.0D0, 0.0D0, 0,
00864      $                0, 0.0D0, M, X, Z, 1, W, IW, I3, INFO )
00865          CALL CHKXER( 'DSBEVX', INFOT, NOUT, LERR, OK )
00866          INFOT = 3
00867          CALL DSBEVX( 'N', 'A', '/', 0, 0, A, 1, Q, 1, 0.0D0, 0.0D0, 0,
00868      $                0, 0.0D0, M, X, Z, 1, W, IW, I3, INFO )
00869          INFOT = 4
00870          CALL DSBEVX( 'N', 'A', 'U', -1, 0, A, 1, Q, 1, 0.0D0, 0.0D0, 0,
00871      $                0, 0.0D0, M, X, Z, 1, W, IW, I3, INFO )
00872          CALL CHKXER( 'DSBEVX', INFOT, NOUT, LERR, OK )
00873          INFOT = 5
00874          CALL DSBEVX( 'N', 'A', 'U', 0, -1, A, 1, Q, 1, 0.0D0, 0.0D0, 0,
00875      $                0, 0.0D0, M, X, Z, 1, W, IW, I3, INFO )
00876          CALL CHKXER( 'DSBEVX', INFOT, NOUT, LERR, OK )
00877          INFOT = 7
00878          CALL DSBEVX( 'N', 'A', 'U', 2, 1, A, 1, Q, 1, 0.0D0, 0.0D0, 0,
00879      $                0, 0.0D0, M, X, Z, 1, W, IW, I3, INFO )
00880          CALL CHKXER( 'DSBEVX', INFOT, NOUT, LERR, OK )
00881          INFOT = 9
00882          CALL DSBEVX( 'V', 'A', 'U', 2, 0, A, 1, Q, 1, 0.0D0, 0.0D0, 0,
00883      $                0, 0.0D0, M, X, Z, 2, W, IW, I3, INFO )
00884          CALL CHKXER( 'DSBEVX', INFOT, NOUT, LERR, OK )
00885          INFOT = 11
00886          CALL DSBEVX( 'N', 'V', 'U', 1, 0, A, 1, Q, 1, 0.0D0, 0.0D0, 0,
00887      $                0, 0.0D0, M, X, Z, 1, W, IW, I3, INFO )
00888          CALL CHKXER( 'DSBEVX', INFOT, NOUT, LERR, OK )
00889          INFOT = 12
00890          CALL DSBEVX( 'N', 'I', 'U', 1, 0, A, 1, Q, 1, 0.0D0, 0.0D0, 0,
00891      $                0, 0.0D0, M, X, Z, 1, W, IW, I3, INFO )
00892          CALL CHKXER( 'DSBEVX', INFOT, NOUT, LERR, OK )
00893          INFOT = 12
00894          CALL DSBEVX( 'N', 'I', 'U', 1, 0, A, 1, Q, 1, 0.0D0, 0.0D0, 2,
00895      $                1, 0.0D0, M, X, Z, 1, W, IW, I3, INFO )
00896          CALL CHKXER( 'DSBEVX', INFOT, NOUT, LERR, OK )
00897          INFOT = 13
00898          CALL DSBEVX( 'N', 'I', 'U', 2, 0, A, 1, Q, 1, 0.0D0, 0.0D0, 2,
00899      $                1, 0.0D0, M, X, Z, 1, W, IW, I3, INFO )
00900          CALL CHKXER( 'DSBEVX', INFOT, NOUT, LERR, OK )
00901          INFOT = 13
00902          CALL DSBEVX( 'N', 'I', 'U', 1, 0, A, 1, Q, 1, 0.0D0, 0.0D0, 1,
00903      $                2, 0.0D0, M, X, Z, 1, W, IW, I3, INFO )
00904          CALL CHKXER( 'DSBEVX', INFOT, NOUT, LERR, OK )
00905          INFOT = 18
00906          CALL DSBEVX( 'V', 'A', 'U', 2, 0, A, 1, Q, 2, 0.0D0, 0.0D0, 0,
00907      $                0, 0.0D0, M, X, Z, 1, W, IW, I3, INFO )
00908          CALL CHKXER( 'DSBEVX', INFOT, NOUT, LERR, OK )
00909          NT = NT + 13
00910       END IF
00911 *
00912 *     Print a summary line.
00913 *
00914       IF( OK ) THEN
00915          WRITE( NOUT, FMT = 9999 )PATH, NT
00916       ELSE
00917          WRITE( NOUT, FMT = 9998 )PATH
00918       END IF
00919 *
00920  9999 FORMAT( 1X, A3, ' routines passed the tests of the error exits',
00921      $      ' (', I3, ' tests done)' )
00922  9998 FORMAT( ' *** ', A3, ' routines failed the tests of the error ',
00923      $      'exits ***' )
00924 *
00925       RETURN
00926 *
00927 *     End of DERRST
00928 *
00929       END
 All Files Functions