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