![]() |
LAPACK
3.4.1
LAPACK: Linear Algebra PACKage
|
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