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