LAPACK 3.3.1
Linear Algebra PACKage
|
00001 SUBROUTINE SERRPO( PATH, NUNIT ) 00002 * 00003 * -- LAPACK test routine (version 3.2.1) -- 00004 * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. 00005 * April 2009 00006 * 00007 * .. Scalar Arguments .. 00008 CHARACTER*3 PATH 00009 INTEGER NUNIT 00010 * .. 00011 * 00012 * Purpose 00013 * ======= 00014 * 00015 * SERRPO tests the error exits for the REAL routines 00016 * for symmetric positive definite matrices. 00017 * 00018 * Note that this file is used only when the XBLAS are available, 00019 * otherwise serrpo.f defines this subroutine. 00020 * 00021 * Arguments 00022 * ========= 00023 * 00024 * PATH (input) CHARACTER*3 00025 * The LAPACK path name for the routines to be tested. 00026 * 00027 * NUNIT (input) INTEGER 00028 * The unit number for output. 00029 * 00030 * ===================================================================== 00031 * 00032 * .. Parameters .. 00033 INTEGER NMAX 00034 PARAMETER ( NMAX = 4 ) 00035 * .. 00036 * .. Local Scalars .. 00037 CHARACTER EQ 00038 CHARACTER*2 C2 00039 INTEGER I, INFO, J, N_ERR_BNDS, NPARAMS 00040 REAL ANRM, RCOND, BERR 00041 * .. 00042 * .. Local Arrays .. 00043 INTEGER IW( NMAX ) 00044 REAL A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ), 00045 $ R1( NMAX ), R2( NMAX ), W( 3*NMAX ), X( NMAX ), 00046 $ S( NMAX ), ERR_BNDS_N( NMAX, 3 ), 00047 $ ERR_BNDS_C( NMAX, 3 ), PARAMS( 1 ) 00048 * .. 00049 * .. External Functions .. 00050 LOGICAL LSAMEN 00051 EXTERNAL LSAMEN 00052 * .. 00053 * .. External Subroutines .. 00054 EXTERNAL ALAESM, CHKXER, SPBCON, SPBEQU, SPBRFS, SPBTF2, 00055 $ SPBTRF, SPBTRS, SPOCON, SPOEQU, SPORFS, SPOTF2, 00056 $ SPOTRF, SPOTRI, SPOTRS, SPPCON, SPPEQU, SPPRFS, 00057 $ SPPTRF, SPPTRI, SPPTRS, SPOEQUB, SPORFSX 00058 * .. 00059 * .. Scalars in Common .. 00060 LOGICAL LERR, OK 00061 CHARACTER*32 SRNAMT 00062 INTEGER INFOT, NOUT 00063 * .. 00064 * .. Common blocks .. 00065 COMMON / INFOC / INFOT, NOUT, OK, LERR 00066 COMMON / SRNAMC / SRNAMT 00067 * .. 00068 * .. Intrinsic Functions .. 00069 INTRINSIC REAL 00070 * .. 00071 * .. Executable Statements .. 00072 * 00073 NOUT = NUNIT 00074 WRITE( NOUT, FMT = * ) 00075 C2 = PATH( 2: 3 ) 00076 * 00077 * Set the variables to innocuous values. 00078 * 00079 DO 20 J = 1, NMAX 00080 DO 10 I = 1, NMAX 00081 A( I, J ) = 1. / REAL( I+J ) 00082 AF( I, J ) = 1. / REAL( I+J ) 00083 10 CONTINUE 00084 B( J ) = 0. 00085 R1( J ) = 0. 00086 R2( J ) = 0. 00087 W( J ) = 0. 00088 X( J ) = 0. 00089 S( J ) = 0. 00090 IW( J ) = J 00091 20 CONTINUE 00092 OK = .TRUE. 00093 * 00094 IF( LSAMEN( 2, C2, 'PO' ) ) THEN 00095 * 00096 * Test error exits of the routines that use the Cholesky 00097 * decomposition of a symmetric positive definite matrix. 00098 * 00099 * SPOTRF 00100 * 00101 SRNAMT = 'SPOTRF' 00102 INFOT = 1 00103 CALL SPOTRF( '/', 0, A, 1, INFO ) 00104 CALL CHKXER( 'SPOTRF', INFOT, NOUT, LERR, OK ) 00105 INFOT = 2 00106 CALL SPOTRF( 'U', -1, A, 1, INFO ) 00107 CALL CHKXER( 'SPOTRF', INFOT, NOUT, LERR, OK ) 00108 INFOT = 4 00109 CALL SPOTRF( 'U', 2, A, 1, INFO ) 00110 CALL CHKXER( 'SPOTRF', INFOT, NOUT, LERR, OK ) 00111 * 00112 * SPOTF2 00113 * 00114 SRNAMT = 'SPOTF2' 00115 INFOT = 1 00116 CALL SPOTF2( '/', 0, A, 1, INFO ) 00117 CALL CHKXER( 'SPOTF2', INFOT, NOUT, LERR, OK ) 00118 INFOT = 2 00119 CALL SPOTF2( 'U', -1, A, 1, INFO ) 00120 CALL CHKXER( 'SPOTF2', INFOT, NOUT, LERR, OK ) 00121 INFOT = 4 00122 CALL SPOTF2( 'U', 2, A, 1, INFO ) 00123 CALL CHKXER( 'SPOTF2', INFOT, NOUT, LERR, OK ) 00124 * 00125 * SPOTRI 00126 * 00127 SRNAMT = 'SPOTRI' 00128 INFOT = 1 00129 CALL SPOTRI( '/', 0, A, 1, INFO ) 00130 CALL CHKXER( 'SPOTRI', INFOT, NOUT, LERR, OK ) 00131 INFOT = 2 00132 CALL SPOTRI( 'U', -1, A, 1, INFO ) 00133 CALL CHKXER( 'SPOTRI', INFOT, NOUT, LERR, OK ) 00134 INFOT = 4 00135 CALL SPOTRI( 'U', 2, A, 1, INFO ) 00136 CALL CHKXER( 'SPOTRI', INFOT, NOUT, LERR, OK ) 00137 * 00138 * SPOTRS 00139 * 00140 SRNAMT = 'SPOTRS' 00141 INFOT = 1 00142 CALL SPOTRS( '/', 0, 0, A, 1, B, 1, INFO ) 00143 CALL CHKXER( 'SPOTRS', INFOT, NOUT, LERR, OK ) 00144 INFOT = 2 00145 CALL SPOTRS( 'U', -1, 0, A, 1, B, 1, INFO ) 00146 CALL CHKXER( 'SPOTRS', INFOT, NOUT, LERR, OK ) 00147 INFOT = 3 00148 CALL SPOTRS( 'U', 0, -1, A, 1, B, 1, INFO ) 00149 CALL CHKXER( 'SPOTRS', INFOT, NOUT, LERR, OK ) 00150 INFOT = 5 00151 CALL SPOTRS( 'U', 2, 1, A, 1, B, 2, INFO ) 00152 CALL CHKXER( 'SPOTRS', INFOT, NOUT, LERR, OK ) 00153 INFOT = 7 00154 CALL SPOTRS( 'U', 2, 1, A, 2, B, 1, INFO ) 00155 CALL CHKXER( 'SPOTRS', INFOT, NOUT, LERR, OK ) 00156 * 00157 * SPORFS 00158 * 00159 SRNAMT = 'SPORFS' 00160 INFOT = 1 00161 CALL SPORFS( '/', 0, 0, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, IW, 00162 $ INFO ) 00163 CALL CHKXER( 'SPORFS', INFOT, NOUT, LERR, OK ) 00164 INFOT = 2 00165 CALL SPORFS( 'U', -1, 0, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, 00166 $ IW, INFO ) 00167 CALL CHKXER( 'SPORFS', INFOT, NOUT, LERR, OK ) 00168 INFOT = 3 00169 CALL SPORFS( 'U', 0, -1, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, 00170 $ IW, INFO ) 00171 CALL CHKXER( 'SPORFS', INFOT, NOUT, LERR, OK ) 00172 INFOT = 5 00173 CALL SPORFS( 'U', 2, 1, A, 1, AF, 2, B, 2, X, 2, R1, R2, W, IW, 00174 $ INFO ) 00175 CALL CHKXER( 'SPORFS', INFOT, NOUT, LERR, OK ) 00176 INFOT = 7 00177 CALL SPORFS( 'U', 2, 1, A, 2, AF, 1, B, 2, X, 2, R1, R2, W, IW, 00178 $ INFO ) 00179 CALL CHKXER( 'SPORFS', INFOT, NOUT, LERR, OK ) 00180 INFOT = 9 00181 CALL SPORFS( 'U', 2, 1, A, 2, AF, 2, B, 1, X, 2, R1, R2, W, IW, 00182 $ INFO ) 00183 CALL CHKXER( 'SPORFS', INFOT, NOUT, LERR, OK ) 00184 INFOT = 11 00185 CALL SPORFS( 'U', 2, 1, A, 2, AF, 2, B, 2, X, 1, R1, R2, W, IW, 00186 $ INFO ) 00187 CALL CHKXER( 'SPORFS', INFOT, NOUT, LERR, OK ) 00188 * 00189 * SPORFSX 00190 * 00191 N_ERR_BNDS = 3 00192 NPARAMS = 0 00193 SRNAMT = 'SPORFSX' 00194 INFOT = 1 00195 CALL SPORFSX( '/', EQ, 0, 0, A, 1, AF, 1, S, B, 1, X, 1, 00196 $ RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS, 00197 $ PARAMS, W, IW, INFO ) 00198 CALL CHKXER( 'SPORFSX', INFOT, NOUT, LERR, OK ) 00199 INFOT = 2 00200 CALL SPORFSX( 'U', EQ, -1, 0, A, 1, AF, 1, S, B, 1, X, 1, 00201 $ RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS, 00202 $ PARAMS, W, IW, INFO ) 00203 CALL CHKXER( 'SPORFSX', INFOT, NOUT, LERR, OK ) 00204 EQ = 'N' 00205 INFOT = 3 00206 CALL SPORFSX( 'U', EQ, -1, 0, A, 1, AF, 1, S, B, 1, X, 1, 00207 $ RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS, 00208 $ PARAMS, W, IW, INFO ) 00209 CALL CHKXER( 'SPORFSX', INFOT, NOUT, LERR, OK ) 00210 INFOT = 4 00211 CALL SPORFSX( 'U', EQ, 0, -1, A, 1, AF, 1, S, B, 1, X, 1, 00212 $ RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS, 00213 $ PARAMS, W, IW, INFO ) 00214 CALL CHKXER( 'SPORFSX', INFOT, NOUT, LERR, OK ) 00215 INFOT = 6 00216 CALL SPORFSX( 'U', EQ, 2, 1, A, 1, AF, 2, S, B, 2, X, 2, 00217 $ RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS, 00218 $ PARAMS, W, IW, INFO ) 00219 CALL CHKXER( 'SPORFSX', INFOT, NOUT, LERR, OK ) 00220 INFOT = 8 00221 CALL SPORFSX( 'U', EQ, 2, 1, A, 2, AF, 1, S, B, 2, X, 2, 00222 $ RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS, 00223 $ PARAMS, W, IW, INFO ) 00224 CALL CHKXER( 'SPORFSX', INFOT, NOUT, LERR, OK ) 00225 INFOT = 11 00226 CALL SPORFSX( 'U', EQ, 2, 1, A, 2, AF, 2, S, B, 1, X, 2, 00227 $ RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS, 00228 $ PARAMS, W, IW, INFO ) 00229 CALL CHKXER( 'SPORFSX', INFOT, NOUT, LERR, OK ) 00230 INFOT = 13 00231 CALL SPORFSX( 'U', EQ, 2, 1, A, 2, AF, 2, S, B, 2, X, 1, 00232 $ RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, ERR_BNDS_C, NPARAMS, 00233 $ PARAMS, W, IW, INFO ) 00234 CALL CHKXER( 'SPORFSX', INFOT, NOUT, LERR, OK ) 00235 * 00236 * SPOCON 00237 * 00238 SRNAMT = 'SPOCON' 00239 INFOT = 1 00240 CALL SPOCON( '/', 0, A, 1, ANRM, RCOND, W, IW, INFO ) 00241 CALL CHKXER( 'SPOCON', INFOT, NOUT, LERR, OK ) 00242 INFOT = 2 00243 CALL SPOCON( 'U', -1, A, 1, ANRM, RCOND, W, IW, INFO ) 00244 CALL CHKXER( 'SPOCON', INFOT, NOUT, LERR, OK ) 00245 INFOT = 4 00246 CALL SPOCON( 'U', 2, A, 1, ANRM, RCOND, W, IW, INFO ) 00247 CALL CHKXER( 'SPOCON', INFOT, NOUT, LERR, OK ) 00248 * 00249 * SPOEQU 00250 * 00251 SRNAMT = 'SPOEQU' 00252 INFOT = 1 00253 CALL SPOEQU( -1, A, 1, R1, RCOND, ANRM, INFO ) 00254 CALL CHKXER( 'SPOEQU', INFOT, NOUT, LERR, OK ) 00255 INFOT = 3 00256 CALL SPOEQU( 2, A, 1, R1, RCOND, ANRM, INFO ) 00257 CALL CHKXER( 'SPOEQU', INFOT, NOUT, LERR, OK ) 00258 * 00259 * SPOEQUB 00260 * 00261 SRNAMT = 'SPOEQUB' 00262 INFOT = 1 00263 CALL SPOEQUB( -1, A, 1, R1, RCOND, ANRM, INFO ) 00264 CALL CHKXER( 'SPOEQUB', INFOT, NOUT, LERR, OK ) 00265 INFOT = 3 00266 CALL SPOEQUB( 2, A, 1, R1, RCOND, ANRM, INFO ) 00267 CALL CHKXER( 'SPOEQUB', INFOT, NOUT, LERR, OK ) 00268 * 00269 ELSE IF( LSAMEN( 2, C2, 'PP' ) ) THEN 00270 * 00271 * Test error exits of the routines that use the Cholesky 00272 * decomposition of a symmetric positive definite packed matrix. 00273 * 00274 * SPPTRF 00275 * 00276 SRNAMT = 'SPPTRF' 00277 INFOT = 1 00278 CALL SPPTRF( '/', 0, A, INFO ) 00279 CALL CHKXER( 'SPPTRF', INFOT, NOUT, LERR, OK ) 00280 INFOT = 2 00281 CALL SPPTRF( 'U', -1, A, INFO ) 00282 CALL CHKXER( 'SPPTRF', INFOT, NOUT, LERR, OK ) 00283 * 00284 * SPPTRI 00285 * 00286 SRNAMT = 'SPPTRI' 00287 INFOT = 1 00288 CALL SPPTRI( '/', 0, A, INFO ) 00289 CALL CHKXER( 'SPPTRI', INFOT, NOUT, LERR, OK ) 00290 INFOT = 2 00291 CALL SPPTRI( 'U', -1, A, INFO ) 00292 CALL CHKXER( 'SPPTRI', INFOT, NOUT, LERR, OK ) 00293 * 00294 * SPPTRS 00295 * 00296 SRNAMT = 'SPPTRS' 00297 INFOT = 1 00298 CALL SPPTRS( '/', 0, 0, A, B, 1, INFO ) 00299 CALL CHKXER( 'SPPTRS', INFOT, NOUT, LERR, OK ) 00300 INFOT = 2 00301 CALL SPPTRS( 'U', -1, 0, A, B, 1, INFO ) 00302 CALL CHKXER( 'SPPTRS', INFOT, NOUT, LERR, OK ) 00303 INFOT = 3 00304 CALL SPPTRS( 'U', 0, -1, A, B, 1, INFO ) 00305 CALL CHKXER( 'SPPTRS', INFOT, NOUT, LERR, OK ) 00306 INFOT = 6 00307 CALL SPPTRS( 'U', 2, 1, A, B, 1, INFO ) 00308 CALL CHKXER( 'SPPTRS', INFOT, NOUT, LERR, OK ) 00309 * 00310 * SPPRFS 00311 * 00312 SRNAMT = 'SPPRFS' 00313 INFOT = 1 00314 CALL SPPRFS( '/', 0, 0, A, AF, B, 1, X, 1, R1, R2, W, IW, 00315 $ INFO ) 00316 CALL CHKXER( 'SPPRFS', INFOT, NOUT, LERR, OK ) 00317 INFOT = 2 00318 CALL SPPRFS( 'U', -1, 0, A, AF, B, 1, X, 1, R1, R2, W, IW, 00319 $ INFO ) 00320 CALL CHKXER( 'SPPRFS', INFOT, NOUT, LERR, OK ) 00321 INFOT = 3 00322 CALL SPPRFS( 'U', 0, -1, A, AF, B, 1, X, 1, R1, R2, W, IW, 00323 $ INFO ) 00324 CALL CHKXER( 'SPPRFS', INFOT, NOUT, LERR, OK ) 00325 INFOT = 7 00326 CALL SPPRFS( 'U', 2, 1, A, AF, B, 1, X, 2, R1, R2, W, IW, 00327 $ INFO ) 00328 CALL CHKXER( 'SPPRFS', INFOT, NOUT, LERR, OK ) 00329 INFOT = 9 00330 CALL SPPRFS( 'U', 2, 1, A, AF, B, 2, X, 1, R1, R2, W, IW, 00331 $ INFO ) 00332 CALL CHKXER( 'SPPRFS', INFOT, NOUT, LERR, OK ) 00333 * 00334 * SPPCON 00335 * 00336 SRNAMT = 'SPPCON' 00337 INFOT = 1 00338 CALL SPPCON( '/', 0, A, ANRM, RCOND, W, IW, INFO ) 00339 CALL CHKXER( 'SPPCON', INFOT, NOUT, LERR, OK ) 00340 INFOT = 2 00341 CALL SPPCON( 'U', -1, A, ANRM, RCOND, W, IW, INFO ) 00342 CALL CHKXER( 'SPPCON', INFOT, NOUT, LERR, OK ) 00343 * 00344 * SPPEQU 00345 * 00346 SRNAMT = 'SPPEQU' 00347 INFOT = 1 00348 CALL SPPEQU( '/', 0, A, R1, RCOND, ANRM, INFO ) 00349 CALL CHKXER( 'SPPEQU', INFOT, NOUT, LERR, OK ) 00350 INFOT = 2 00351 CALL SPPEQU( 'U', -1, A, R1, RCOND, ANRM, INFO ) 00352 CALL CHKXER( 'SPPEQU', INFOT, NOUT, LERR, OK ) 00353 * 00354 ELSE IF( LSAMEN( 2, C2, 'PB' ) ) THEN 00355 * 00356 * Test error exits of the routines that use the Cholesky 00357 * decomposition of a symmetric positive definite band matrix. 00358 * 00359 * SPBTRF 00360 * 00361 SRNAMT = 'SPBTRF' 00362 INFOT = 1 00363 CALL SPBTRF( '/', 0, 0, A, 1, INFO ) 00364 CALL CHKXER( 'SPBTRF', INFOT, NOUT, LERR, OK ) 00365 INFOT = 2 00366 CALL SPBTRF( 'U', -1, 0, A, 1, INFO ) 00367 CALL CHKXER( 'SPBTRF', INFOT, NOUT, LERR, OK ) 00368 INFOT = 3 00369 CALL SPBTRF( 'U', 1, -1, A, 1, INFO ) 00370 CALL CHKXER( 'SPBTRF', INFOT, NOUT, LERR, OK ) 00371 INFOT = 5 00372 CALL SPBTRF( 'U', 2, 1, A, 1, INFO ) 00373 CALL CHKXER( 'SPBTRF', INFOT, NOUT, LERR, OK ) 00374 * 00375 * SPBTF2 00376 * 00377 SRNAMT = 'SPBTF2' 00378 INFOT = 1 00379 CALL SPBTF2( '/', 0, 0, A, 1, INFO ) 00380 CALL CHKXER( 'SPBTF2', INFOT, NOUT, LERR, OK ) 00381 INFOT = 2 00382 CALL SPBTF2( 'U', -1, 0, A, 1, INFO ) 00383 CALL CHKXER( 'SPBTF2', INFOT, NOUT, LERR, OK ) 00384 INFOT = 3 00385 CALL SPBTF2( 'U', 1, -1, A, 1, INFO ) 00386 CALL CHKXER( 'SPBTF2', INFOT, NOUT, LERR, OK ) 00387 INFOT = 5 00388 CALL SPBTF2( 'U', 2, 1, A, 1, INFO ) 00389 CALL CHKXER( 'SPBTF2', INFOT, NOUT, LERR, OK ) 00390 * 00391 * SPBTRS 00392 * 00393 SRNAMT = 'SPBTRS' 00394 INFOT = 1 00395 CALL SPBTRS( '/', 0, 0, 0, A, 1, B, 1, INFO ) 00396 CALL CHKXER( 'SPBTRS', INFOT, NOUT, LERR, OK ) 00397 INFOT = 2 00398 CALL SPBTRS( 'U', -1, 0, 0, A, 1, B, 1, INFO ) 00399 CALL CHKXER( 'SPBTRS', INFOT, NOUT, LERR, OK ) 00400 INFOT = 3 00401 CALL SPBTRS( 'U', 1, -1, 0, A, 1, B, 1, INFO ) 00402 CALL CHKXER( 'SPBTRS', INFOT, NOUT, LERR, OK ) 00403 INFOT = 4 00404 CALL SPBTRS( 'U', 0, 0, -1, A, 1, B, 1, INFO ) 00405 CALL CHKXER( 'SPBTRS', INFOT, NOUT, LERR, OK ) 00406 INFOT = 6 00407 CALL SPBTRS( 'U', 2, 1, 1, A, 1, B, 1, INFO ) 00408 CALL CHKXER( 'SPBTRS', INFOT, NOUT, LERR, OK ) 00409 INFOT = 8 00410 CALL SPBTRS( 'U', 2, 0, 1, A, 1, B, 1, INFO ) 00411 CALL CHKXER( 'SPBTRS', INFOT, NOUT, LERR, OK ) 00412 * 00413 * SPBRFS 00414 * 00415 SRNAMT = 'SPBRFS' 00416 INFOT = 1 00417 CALL SPBRFS( '/', 0, 0, 0, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, 00418 $ IW, INFO ) 00419 CALL CHKXER( 'SPBRFS', INFOT, NOUT, LERR, OK ) 00420 INFOT = 2 00421 CALL SPBRFS( 'U', -1, 0, 0, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, 00422 $ IW, INFO ) 00423 CALL CHKXER( 'SPBRFS', INFOT, NOUT, LERR, OK ) 00424 INFOT = 3 00425 CALL SPBRFS( 'U', 1, -1, 0, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, 00426 $ IW, INFO ) 00427 CALL CHKXER( 'SPBRFS', INFOT, NOUT, LERR, OK ) 00428 INFOT = 4 00429 CALL SPBRFS( 'U', 0, 0, -1, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, 00430 $ IW, INFO ) 00431 CALL CHKXER( 'SPBRFS', INFOT, NOUT, LERR, OK ) 00432 INFOT = 6 00433 CALL SPBRFS( 'U', 2, 1, 1, A, 1, AF, 2, B, 2, X, 2, R1, R2, W, 00434 $ IW, INFO ) 00435 CALL CHKXER( 'SPBRFS', INFOT, NOUT, LERR, OK ) 00436 INFOT = 8 00437 CALL SPBRFS( 'U', 2, 1, 1, A, 2, AF, 1, B, 2, X, 2, R1, R2, W, 00438 $ IW, INFO ) 00439 CALL CHKXER( 'SPBRFS', INFOT, NOUT, LERR, OK ) 00440 INFOT = 10 00441 CALL SPBRFS( 'U', 2, 0, 1, A, 1, AF, 1, B, 1, X, 2, R1, R2, W, 00442 $ IW, INFO ) 00443 CALL CHKXER( 'SPBRFS', INFOT, NOUT, LERR, OK ) 00444 INFOT = 12 00445 CALL SPBRFS( 'U', 2, 0, 1, A, 1, AF, 1, B, 2, X, 1, R1, R2, W, 00446 $ IW, INFO ) 00447 CALL CHKXER( 'SPBRFS', INFOT, NOUT, LERR, OK ) 00448 * 00449 * SPBCON 00450 * 00451 SRNAMT = 'SPBCON' 00452 INFOT = 1 00453 CALL SPBCON( '/', 0, 0, A, 1, ANRM, RCOND, W, IW, INFO ) 00454 CALL CHKXER( 'SPBCON', INFOT, NOUT, LERR, OK ) 00455 INFOT = 2 00456 CALL SPBCON( 'U', -1, 0, A, 1, ANRM, RCOND, W, IW, INFO ) 00457 CALL CHKXER( 'SPBCON', INFOT, NOUT, LERR, OK ) 00458 INFOT = 3 00459 CALL SPBCON( 'U', 1, -1, A, 1, ANRM, RCOND, W, IW, INFO ) 00460 CALL CHKXER( 'SPBCON', INFOT, NOUT, LERR, OK ) 00461 INFOT = 5 00462 CALL SPBCON( 'U', 2, 1, A, 1, ANRM, RCOND, W, IW, INFO ) 00463 CALL CHKXER( 'SPBCON', INFOT, NOUT, LERR, OK ) 00464 * 00465 * SPBEQU 00466 * 00467 SRNAMT = 'SPBEQU' 00468 INFOT = 1 00469 CALL SPBEQU( '/', 0, 0, A, 1, R1, RCOND, ANRM, INFO ) 00470 CALL CHKXER( 'SPBEQU', INFOT, NOUT, LERR, OK ) 00471 INFOT = 2 00472 CALL SPBEQU( 'U', -1, 0, A, 1, R1, RCOND, ANRM, INFO ) 00473 CALL CHKXER( 'SPBEQU', INFOT, NOUT, LERR, OK ) 00474 INFOT = 3 00475 CALL SPBEQU( 'U', 1, -1, A, 1, R1, RCOND, ANRM, INFO ) 00476 CALL CHKXER( 'SPBEQU', INFOT, NOUT, LERR, OK ) 00477 INFOT = 5 00478 CALL SPBEQU( 'U', 2, 1, A, 1, R1, RCOND, ANRM, INFO ) 00479 CALL CHKXER( 'SPBEQU', INFOT, NOUT, LERR, OK ) 00480 END IF 00481 * 00482 * Print a summary line. 00483 * 00484 CALL ALAESM( PATH, OK, NOUT ) 00485 * 00486 RETURN 00487 * 00488 * End of SERRPO 00489 * 00490 END