00001 SUBROUTINE DERRGE( PATH, NUNIT )
00002
00003
00004
00005
00006
00007
00008 CHARACTER*3 PATH
00009 INTEGER NUNIT
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 INTEGER NMAX, LW
00034 PARAMETER ( NMAX = 4, LW = 3*NMAX )
00035
00036
00037 CHARACTER EQ
00038 CHARACTER*2 C2
00039 INTEGER I, INFO, J, N_ERR_BNDS, NPARAMS
00040 DOUBLE PRECISION ANRM, CCOND, RCOND, 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( LW ), X( NMAX ), ERR_BNDS_N( NMAX, 3 ),
00047 $ ERR_BNDS_C( NMAX, 3 ), PARAMS( 1 )
00048
00049
00050 LOGICAL LSAMEN
00051 EXTERNAL LSAMEN
00052
00053
00054 EXTERNAL ALAESM, CHKXER, DGBCON, DGBEQU, DGBRFS, DGBTF2,
00055 $ DGBTRF, DGBTRS, DGECON, DGEEQU, DGERFS, DGETF2,
00056 $ DGETRF, DGETRI, DGETRS, DGEEQUB, DGERFSX,
00057 $ DGBEQUB, DGBRFSX
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 IW( J ) = J
00093 20 CONTINUE
00094 OK = .TRUE.
00095
00096 IF( LSAMEN( 2, C2, 'GE' ) ) THEN
00097
00098
00099
00100
00101
00102
00103 SRNAMT = 'DGETRF'
00104 INFOT = 1
00105 CALL DGETRF( -1, 0, A, 1, IP, INFO )
00106 CALL CHKXER( 'DGETRF', INFOT, NOUT, LERR, OK )
00107 INFOT = 2
00108 CALL DGETRF( 0, -1, A, 1, IP, INFO )
00109 CALL CHKXER( 'DGETRF', INFOT, NOUT, LERR, OK )
00110 INFOT = 4
00111 CALL DGETRF( 2, 1, A, 1, IP, INFO )
00112 CALL CHKXER( 'DGETRF', INFOT, NOUT, LERR, OK )
00113
00114
00115
00116 SRNAMT = 'DGETF2'
00117 INFOT = 1
00118 CALL DGETF2( -1, 0, A, 1, IP, INFO )
00119 CALL CHKXER( 'DGETF2', INFOT, NOUT, LERR, OK )
00120 INFOT = 2
00121 CALL DGETF2( 0, -1, A, 1, IP, INFO )
00122 CALL CHKXER( 'DGETF2', INFOT, NOUT, LERR, OK )
00123 INFOT = 4
00124 CALL DGETF2( 2, 1, A, 1, IP, INFO )
00125 CALL CHKXER( 'DGETF2', INFOT, NOUT, LERR, OK )
00126
00127
00128
00129 SRNAMT = 'DGETRI'
00130 INFOT = 1
00131 CALL DGETRI( -1, A, 1, IP, W, LW, INFO )
00132 CALL CHKXER( 'DGETRI', INFOT, NOUT, LERR, OK )
00133 INFOT = 3
00134 CALL DGETRI( 2, A, 1, IP, W, LW, INFO )
00135 CALL CHKXER( 'DGETRI', INFOT, NOUT, LERR, OK )
00136
00137
00138
00139 SRNAMT = 'DGETRS'
00140 INFOT = 1
00141 CALL DGETRS( '/', 0, 0, A, 1, IP, B, 1, INFO )
00142 CALL CHKXER( 'DGETRS', INFOT, NOUT, LERR, OK )
00143 INFOT = 2
00144 CALL DGETRS( 'N', -1, 0, A, 1, IP, B, 1, INFO )
00145 CALL CHKXER( 'DGETRS', INFOT, NOUT, LERR, OK )
00146 INFOT = 3
00147 CALL DGETRS( 'N', 0, -1, A, 1, IP, B, 1, INFO )
00148 CALL CHKXER( 'DGETRS', INFOT, NOUT, LERR, OK )
00149 INFOT = 5
00150 CALL DGETRS( 'N', 2, 1, A, 1, IP, B, 2, INFO )
00151 CALL CHKXER( 'DGETRS', INFOT, NOUT, LERR, OK )
00152 INFOT = 8
00153 CALL DGETRS( 'N', 2, 1, A, 2, IP, B, 1, INFO )
00154 CALL CHKXER( 'DGETRS', INFOT, NOUT, LERR, OK )
00155
00156
00157
00158 SRNAMT = 'DGERFS'
00159 INFOT = 1
00160 CALL DGERFS( '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1, R2, W,
00161 $ IW, INFO )
00162 CALL CHKXER( 'DGERFS', INFOT, NOUT, LERR, OK )
00163 INFOT = 2
00164 CALL DGERFS( 'N', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1, R2,
00165 $ W, IW, INFO )
00166 CALL CHKXER( 'DGERFS', INFOT, NOUT, LERR, OK )
00167 INFOT = 3
00168 CALL DGERFS( 'N', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1, R1, R2,
00169 $ W, IW, INFO )
00170 CALL CHKXER( 'DGERFS', INFOT, NOUT, LERR, OK )
00171 INFOT = 5
00172 CALL DGERFS( 'N', 2, 1, A, 1, AF, 2, IP, B, 2, X, 2, R1, R2, W,
00173 $ IW, INFO )
00174 CALL CHKXER( 'DGERFS', INFOT, NOUT, LERR, OK )
00175 INFOT = 7
00176 CALL DGERFS( 'N', 2, 1, A, 2, AF, 1, IP, B, 2, X, 2, R1, R2, W,
00177 $ IW, INFO )
00178 CALL CHKXER( 'DGERFS', INFOT, NOUT, LERR, OK )
00179 INFOT = 10
00180 CALL DGERFS( 'N', 2, 1, A, 2, AF, 2, IP, B, 1, X, 2, R1, R2, W,
00181 $ IW, INFO )
00182 CALL CHKXER( 'DGERFS', INFOT, NOUT, LERR, OK )
00183 INFOT = 12
00184 CALL DGERFS( 'N', 2, 1, A, 2, AF, 2, IP, B, 2, X, 1, R1, R2, W,
00185 $ IW, INFO )
00186 CALL CHKXER( 'DGERFS', INFOT, NOUT, LERR, OK )
00187
00188
00189
00190 N_ERR_BNDS = 3
00191 NPARAMS = 0
00192 SRNAMT = 'DGERFSX'
00193 INFOT = 1
00194 CALL DGERFSX( '/', EQ, 0, 0, A, 1, AF, 1, IP, R, C, B, 1, X,
00195 $ 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00196 $ NPARAMS, PARAMS, W, IW, INFO )
00197 CALL CHKXER( 'DGERFSX', INFOT, NOUT, LERR, OK )
00198 INFOT = 2
00199 EQ = '/'
00200 CALL DGERFSX( 'N', EQ, 2, 1, A, 1, AF, 2, IP, R, C, B, 2, X,
00201 $ 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00202 $ NPARAMS, PARAMS, W, IW, INFO )
00203 CALL CHKXER( 'DGERFSX', INFOT, NOUT, LERR, OK )
00204 INFOT = 3
00205 EQ = 'R'
00206 CALL DGERFSX( 'N', EQ, -1, 0, A, 1, AF, 1, IP, R, C, B, 1, X,
00207 $ 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00208 $ NPARAMS, PARAMS, W, IW, INFO )
00209 CALL CHKXER( 'DGERFSX', INFOT, NOUT, LERR, OK )
00210 INFOT = 4
00211 CALL DGERFSX( 'N', EQ, 0, -1, A, 1, AF, 1, IP, R, C, B, 1, X,
00212 $ 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00213 $ NPARAMS, PARAMS, W, IW, INFO )
00214 CALL CHKXER( 'DGERFSX', INFOT, NOUT, LERR, OK )
00215 INFOT = 6
00216 CALL DGERFSX( 'N', EQ, 2, 1, A, 1, AF, 2, IP, R, C, B, 2, X,
00217 $ 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00218 $ NPARAMS, PARAMS, W, IW, INFO )
00219 CALL CHKXER( 'DGERFSX', INFOT, NOUT, LERR, OK )
00220 INFOT = 8
00221 CALL DGERFSX( 'N', EQ, 2, 1, A, 2, AF, 1, IP, R, C, B, 2, X,
00222 $ 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00223 $ NPARAMS, PARAMS, W, IW, INFO )
00224 CALL CHKXER( 'DGERFSX', INFOT, NOUT, LERR, OK )
00225 INFOT = 13
00226 EQ = 'C'
00227 CALL DGERFSX( 'N', EQ, 2, 1, A, 2, AF, 2, IP, R, C, B, 1, X,
00228 $ 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00229 $ NPARAMS, PARAMS, W, IW, INFO )
00230 CALL CHKXER( 'DGERFSX', INFOT, NOUT, LERR, OK )
00231 INFOT = 15
00232 CALL DGERFSX( 'N', EQ, 2, 1, A, 2, AF, 2, IP, R, C, B, 2, X,
00233 $ 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00234 $ NPARAMS, PARAMS, W, IW, INFO )
00235 CALL CHKXER( 'DGERFSX', INFOT, NOUT, LERR, OK )
00236
00237
00238
00239 SRNAMT = 'DGECON'
00240 INFOT = 1
00241 CALL DGECON( '/', 0, A, 1, ANRM, RCOND, W, IW, INFO )
00242 CALL CHKXER( 'DGECON', INFOT, NOUT, LERR, OK )
00243 INFOT = 2
00244 CALL DGECON( '1', -1, A, 1, ANRM, RCOND, W, IW, INFO )
00245 CALL CHKXER( 'DGECON', INFOT, NOUT, LERR, OK )
00246 INFOT = 4
00247 CALL DGECON( '1', 2, A, 1, ANRM, RCOND, W, IW, INFO )
00248 CALL CHKXER( 'DGECON', INFOT, NOUT, LERR, OK )
00249
00250
00251
00252 SRNAMT = 'DGEEQU'
00253 INFOT = 1
00254 CALL DGEEQU( -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO )
00255 CALL CHKXER( 'DGEEQU', INFOT, NOUT, LERR, OK )
00256 INFOT = 2
00257 CALL DGEEQU( 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO )
00258 CALL CHKXER( 'DGEEQU', INFOT, NOUT, LERR, OK )
00259 INFOT = 4
00260 CALL DGEEQU( 2, 2, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO )
00261 CALL CHKXER( 'DGEEQU', INFOT, NOUT, LERR, OK )
00262
00263
00264
00265 SRNAMT = 'DGEEQUB'
00266 INFOT = 1
00267 CALL DGEEQUB( -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO )
00268 CALL CHKXER( 'DGEEQUB', INFOT, NOUT, LERR, OK )
00269 INFOT = 2
00270 CALL DGEEQUB( 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO )
00271 CALL CHKXER( 'DGEEQUB', INFOT, NOUT, LERR, OK )
00272 INFOT = 4
00273 CALL DGEEQUB( 2, 2, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO )
00274 CALL CHKXER( 'DGEEQUB', INFOT, NOUT, LERR, OK )
00275
00276 ELSE IF( LSAMEN( 2, C2, 'GB' ) ) THEN
00277
00278
00279
00280
00281
00282
00283 SRNAMT = 'DGBTRF'
00284 INFOT = 1
00285 CALL DGBTRF( -1, 0, 0, 0, A, 1, IP, INFO )
00286 CALL CHKXER( 'DGBTRF', INFOT, NOUT, LERR, OK )
00287 INFOT = 2
00288 CALL DGBTRF( 0, -1, 0, 0, A, 1, IP, INFO )
00289 CALL CHKXER( 'DGBTRF', INFOT, NOUT, LERR, OK )
00290 INFOT = 3
00291 CALL DGBTRF( 1, 1, -1, 0, A, 1, IP, INFO )
00292 CALL CHKXER( 'DGBTRF', INFOT, NOUT, LERR, OK )
00293 INFOT = 4
00294 CALL DGBTRF( 1, 1, 0, -1, A, 1, IP, INFO )
00295 CALL CHKXER( 'DGBTRF', INFOT, NOUT, LERR, OK )
00296 INFOT = 6
00297 CALL DGBTRF( 2, 2, 1, 1, A, 3, IP, INFO )
00298 CALL CHKXER( 'DGBTRF', INFOT, NOUT, LERR, OK )
00299
00300
00301
00302 SRNAMT = 'DGBTF2'
00303 INFOT = 1
00304 CALL DGBTF2( -1, 0, 0, 0, A, 1, IP, INFO )
00305 CALL CHKXER( 'DGBTF2', INFOT, NOUT, LERR, OK )
00306 INFOT = 2
00307 CALL DGBTF2( 0, -1, 0, 0, A, 1, IP, INFO )
00308 CALL CHKXER( 'DGBTF2', INFOT, NOUT, LERR, OK )
00309 INFOT = 3
00310 CALL DGBTF2( 1, 1, -1, 0, A, 1, IP, INFO )
00311 CALL CHKXER( 'DGBTF2', INFOT, NOUT, LERR, OK )
00312 INFOT = 4
00313 CALL DGBTF2( 1, 1, 0, -1, A, 1, IP, INFO )
00314 CALL CHKXER( 'DGBTF2', INFOT, NOUT, LERR, OK )
00315 INFOT = 6
00316 CALL DGBTF2( 2, 2, 1, 1, A, 3, IP, INFO )
00317 CALL CHKXER( 'DGBTF2', INFOT, NOUT, LERR, OK )
00318
00319
00320
00321 SRNAMT = 'DGBTRS'
00322 INFOT = 1
00323 CALL DGBTRS( '/', 0, 0, 0, 1, A, 1, IP, B, 1, INFO )
00324 CALL CHKXER( 'DGBTRS', INFOT, NOUT, LERR, OK )
00325 INFOT = 2
00326 CALL DGBTRS( 'N', -1, 0, 0, 1, A, 1, IP, B, 1, INFO )
00327 CALL CHKXER( 'DGBTRS', INFOT, NOUT, LERR, OK )
00328 INFOT = 3
00329 CALL DGBTRS( 'N', 1, -1, 0, 1, A, 1, IP, B, 1, INFO )
00330 CALL CHKXER( 'DGBTRS', INFOT, NOUT, LERR, OK )
00331 INFOT = 4
00332 CALL DGBTRS( 'N', 1, 0, -1, 1, A, 1, IP, B, 1, INFO )
00333 CALL CHKXER( 'DGBTRS', INFOT, NOUT, LERR, OK )
00334 INFOT = 5
00335 CALL DGBTRS( 'N', 1, 0, 0, -1, A, 1, IP, B, 1, INFO )
00336 CALL CHKXER( 'DGBTRS', INFOT, NOUT, LERR, OK )
00337 INFOT = 7
00338 CALL DGBTRS( 'N', 2, 1, 1, 1, A, 3, IP, B, 2, INFO )
00339 CALL CHKXER( 'DGBTRS', INFOT, NOUT, LERR, OK )
00340 INFOT = 10
00341 CALL DGBTRS( 'N', 2, 0, 0, 1, A, 1, IP, B, 1, INFO )
00342 CALL CHKXER( 'DGBTRS', INFOT, NOUT, LERR, OK )
00343
00344
00345
00346 SRNAMT = 'DGBRFS'
00347 INFOT = 1
00348 CALL DGBRFS( '/', 0, 0, 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1,
00349 $ R2, W, IW, INFO )
00350 CALL CHKXER( 'DGBRFS', INFOT, NOUT, LERR, OK )
00351 INFOT = 2
00352 CALL DGBRFS( 'N', -1, 0, 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1,
00353 $ R2, W, IW, INFO )
00354 CALL CHKXER( 'DGBRFS', INFOT, NOUT, LERR, OK )
00355 INFOT = 3
00356 CALL DGBRFS( 'N', 1, -1, 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1,
00357 $ R2, W, IW, INFO )
00358 CALL CHKXER( 'DGBRFS', INFOT, NOUT, LERR, OK )
00359 INFOT = 4
00360 CALL DGBRFS( 'N', 1, 0, -1, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1,
00361 $ R2, W, IW, INFO )
00362 CALL CHKXER( 'DGBRFS', INFOT, NOUT, LERR, OK )
00363 INFOT = 5
00364 CALL DGBRFS( 'N', 1, 0, 0, -1, A, 1, AF, 1, IP, B, 1, X, 1, R1,
00365 $ R2, W, IW, INFO )
00366 CALL CHKXER( 'DGBRFS', INFOT, NOUT, LERR, OK )
00367 INFOT = 7
00368 CALL DGBRFS( 'N', 2, 1, 1, 1, A, 2, AF, 4, IP, B, 2, X, 2, R1,
00369 $ R2, W, IW, INFO )
00370 CALL CHKXER( 'DGBRFS', INFOT, NOUT, LERR, OK )
00371 INFOT = 9
00372 CALL DGBRFS( 'N', 2, 1, 1, 1, A, 3, AF, 3, IP, B, 2, X, 2, R1,
00373 $ R2, W, IW, INFO )
00374 CALL CHKXER( 'DGBRFS', INFOT, NOUT, LERR, OK )
00375 INFOT = 12
00376 CALL DGBRFS( 'N', 2, 0, 0, 1, A, 1, AF, 1, IP, B, 1, X, 2, R1,
00377 $ R2, W, IW, INFO )
00378 CALL CHKXER( 'DGBRFS', INFOT, NOUT, LERR, OK )
00379 INFOT = 14
00380 CALL DGBRFS( 'N', 2, 0, 0, 1, A, 1, AF, 1, IP, B, 2, X, 1, R1,
00381 $ R2, W, IW, INFO )
00382 CALL CHKXER( 'DGBRFS', INFOT, NOUT, LERR, OK )
00383
00384
00385
00386 N_ERR_BNDS = 3
00387 NPARAMS = 0
00388 SRNAMT = 'DGBRFSX'
00389 INFOT = 1
00390 CALL DGBRFSX( '/', EQ, 0, 0, 0, 0, A, 1, AF, 1, IP, R, C, B, 1,
00391 $ X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00392 $ NPARAMS, PARAMS, W, IW, INFO )
00393 CALL CHKXER( 'DGBRFSX', INFOT, NOUT, LERR, OK )
00394 INFOT = 2
00395 EQ = '/'
00396 CALL DGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 1, AF, 2, IP, R, C, B, 2,
00397 $ X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00398 $ NPARAMS, PARAMS, W, IW, INFO )
00399 CALL CHKXER( 'DGBRFSX', INFOT, NOUT, LERR, OK )
00400 INFOT = 3
00401 EQ = 'R'
00402 CALL DGBRFSX( 'N', EQ, -1, 1, 1, 0, A, 1, AF, 1, IP, R, C, B,
00403 $ 1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00404 $ NPARAMS, PARAMS, W, IW, INFO )
00405 CALL CHKXER( 'DGBRFSX', INFOT, NOUT, LERR, OK )
00406 INFOT = 4
00407 EQ = 'R'
00408 CALL DGBRFSX( 'N', EQ, 2, -1, 1, 1, A, 3, AF, 4, IP, R, C, B,
00409 $ 1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00410 $ NPARAMS, PARAMS, W, IW, INFO )
00411 CALL CHKXER( 'DGBRFSX', INFOT, NOUT, LERR, OK )
00412 INFOT = 5
00413 EQ = 'R'
00414 CALL DGBRFSX( 'N', EQ, 2, 1, -1, 1, A, 3, AF, 4, IP, R, C, B,
00415 $ 1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00416 $ NPARAMS, PARAMS, W, IW, INFO )
00417 CALL CHKXER( 'DGBRFSX', INFOT, NOUT, LERR, OK )
00418 INFOT = 6
00419 CALL DGBRFSX( 'N', EQ, 0, 0, 0, -1, A, 1, AF, 1, IP, R, C, B,
00420 $ 1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00421 $ NPARAMS, PARAMS, W, IW, INFO )
00422 CALL CHKXER( 'DGBRFSX', INFOT, NOUT, LERR, OK )
00423 INFOT = 8
00424 CALL DGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 1, AF, 2, IP, R, C, B,
00425 $ 2, X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00426 $ NPARAMS, PARAMS, W, IW, INFO )
00427 CALL CHKXER( 'DGBRFSX', INFOT, NOUT, LERR, OK )
00428 INFOT = 10
00429 CALL DGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 3, AF, 3, IP, R, C, B, 2,
00430 $ X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00431 $ NPARAMS, PARAMS, W, IW, INFO )
00432 CALL CHKXER( 'DGBRFSX', INFOT, NOUT, LERR, OK )
00433 INFOT = 13
00434 EQ = 'C'
00435 CALL DGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 3, AF, 5, IP, R, C, B,
00436 $ 1, X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00437 $ NPARAMS, PARAMS, W, IW, INFO )
00438 CALL CHKXER( 'DGBRFSX', INFOT, NOUT, LERR, OK )
00439 INFOT = 15
00440 CALL DGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 3, AF, 5, IP, R, C, B, 2,
00441 $ X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C,
00442 $ NPARAMS, PARAMS, W, IW, INFO )
00443 CALL CHKXER( 'DGBRFSX', INFOT, NOUT, LERR, OK )
00444
00445
00446
00447 SRNAMT = 'DGBCON'
00448 INFOT = 1
00449 CALL DGBCON( '/', 0, 0, 0, A, 1, IP, ANRM, RCOND, W, IW, INFO )
00450 CALL CHKXER( 'DGBCON', INFOT, NOUT, LERR, OK )
00451 INFOT = 2
00452 CALL DGBCON( '1', -1, 0, 0, A, 1, IP, ANRM, RCOND, W, IW,
00453 $ INFO )
00454 CALL CHKXER( 'DGBCON', INFOT, NOUT, LERR, OK )
00455 INFOT = 3
00456 CALL DGBCON( '1', 1, -1, 0, A, 1, IP, ANRM, RCOND, W, IW,
00457 $ INFO )
00458 CALL CHKXER( 'DGBCON', INFOT, NOUT, LERR, OK )
00459 INFOT = 4
00460 CALL DGBCON( '1', 1, 0, -1, A, 1, IP, ANRM, RCOND, W, IW,
00461 $ INFO )
00462 CALL CHKXER( 'DGBCON', INFOT, NOUT, LERR, OK )
00463 INFOT = 6
00464 CALL DGBCON( '1', 2, 1, 1, A, 3, IP, ANRM, RCOND, W, IW, INFO )
00465 CALL CHKXER( 'DGBCON', INFOT, NOUT, LERR, OK )
00466
00467
00468
00469 SRNAMT = 'DGBEQU'
00470 INFOT = 1
00471 CALL DGBEQU( -1, 0, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM,
00472 $ INFO )
00473 CALL CHKXER( 'DGBEQU', INFOT, NOUT, LERR, OK )
00474 INFOT = 2
00475 CALL DGBEQU( 0, -1, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM,
00476 $ INFO )
00477 CALL CHKXER( 'DGBEQU', INFOT, NOUT, LERR, OK )
00478 INFOT = 3
00479 CALL DGBEQU( 1, 1, -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM,
00480 $ INFO )
00481 CALL CHKXER( 'DGBEQU', INFOT, NOUT, LERR, OK )
00482 INFOT = 4
00483 CALL DGBEQU( 1, 1, 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM,
00484 $ INFO )
00485 CALL CHKXER( 'DGBEQU', INFOT, NOUT, LERR, OK )
00486 INFOT = 6
00487 CALL DGBEQU( 2, 2, 1, 1, A, 2, R1, R2, RCOND, CCOND, ANRM,
00488 $ INFO )
00489 CALL CHKXER( 'DGBEQU', INFOT, NOUT, LERR, OK )
00490
00491
00492
00493 SRNAMT = 'DGBEQUB'
00494 INFOT = 1
00495 CALL DGBEQUB( -1, 0, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM,
00496 $ INFO )
00497 CALL CHKXER( 'DGBEQUB', INFOT, NOUT, LERR, OK )
00498 INFOT = 2
00499 CALL DGBEQUB( 0, -1, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM,
00500 $ INFO )
00501 CALL CHKXER( 'DGBEQUB', INFOT, NOUT, LERR, OK )
00502 INFOT = 3
00503 CALL DGBEQUB( 1, 1, -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM,
00504 $ INFO )
00505 CALL CHKXER( 'DGBEQUB', INFOT, NOUT, LERR, OK )
00506 INFOT = 4
00507 CALL DGBEQUB( 1, 1, 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM,
00508 $ INFO )
00509 CALL CHKXER( 'DGBEQUB', INFOT, NOUT, LERR, OK )
00510 INFOT = 6
00511 CALL DGBEQUB( 2, 2, 1, 1, A, 2, R1, R2, RCOND, CCOND, ANRM,
00512 $ INFO )
00513 CALL CHKXER( 'DGBEQUB', INFOT, NOUT, LERR, OK )
00514 END IF
00515
00516
00517
00518 CALL ALAESM( PATH, OK, NOUT )
00519
00520 RETURN
00521
00522
00523
00524 END