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