![]() |
LAPACK
3.4.1
LAPACK: Linear Algebra PACKage
|
00001 *> \brief \b CERRPOX 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 CERRPO( 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 *> CERRPO tests the error exits for the COMPLEX routines 00025 *> for Hermitian positive definite matrices. 00026 *> 00027 *> Note that this file is used only when the XBLAS are available, 00028 *> otherwise cerrpo.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 complex_lin 00057 * 00058 * ===================================================================== 00059 SUBROUTINE CERRPO( 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 REAL S( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ), 00085 $ ERR_BNDS_N( NMAX, 3 ), ERR_BNDS_C( NMAX, 3 ), 00086 $ PARAMS( 1 ) 00087 COMPLEX A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ), 00088 $ W( 2*NMAX ), X( NMAX ) 00089 * .. 00090 * .. External Functions .. 00091 LOGICAL LSAMEN 00092 EXTERNAL LSAMEN 00093 * .. 00094 * .. External Subroutines .. 00095 EXTERNAL ALAESM, CHKXER, CPBCON, CPBEQU, CPBRFS, CPBTF2, 00096 $ CPBTRF, CPBTRS, CPOCON, CPOEQU, CPORFS, CPOTF2, 00097 $ CPOTRF, CPOTRI, CPOTRS, CPPCON, CPPEQU, CPPRFS, 00098 $ CPPTRF, CPPTRI, CPPTRS, CPOEQUB, CPORFSX 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 CMPLX, 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 ) = CMPLX( 1. / REAL( I+J ), -1. / REAL( I+J ) ) 00123 AF( I, J ) = CMPLX( 1. / REAL( 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 20 CONTINUE 00132 ANRM = 1. 00133 OK = .TRUE. 00134 * 00135 * Test error exits of the routines that use the Cholesky 00136 * decomposition of a Hermitian positive definite matrix. 00137 * 00138 IF( LSAMEN( 2, C2, 'PO' ) ) THEN 00139 * 00140 * CPOTRF 00141 * 00142 SRNAMT = 'CPOTRF' 00143 INFOT = 1 00144 CALL CPOTRF( '/', 0, A, 1, INFO ) 00145 CALL CHKXER( 'CPOTRF', INFOT, NOUT, LERR, OK ) 00146 INFOT = 2 00147 CALL CPOTRF( 'U', -1, A, 1, INFO ) 00148 CALL CHKXER( 'CPOTRF', INFOT, NOUT, LERR, OK ) 00149 INFOT = 4 00150 CALL CPOTRF( 'U', 2, A, 1, INFO ) 00151 CALL CHKXER( 'CPOTRF', INFOT, NOUT, LERR, OK ) 00152 * 00153 * CPOTF2 00154 * 00155 SRNAMT = 'CPOTF2' 00156 INFOT = 1 00157 CALL CPOTF2( '/', 0, A, 1, INFO ) 00158 CALL CHKXER( 'CPOTF2', INFOT, NOUT, LERR, OK ) 00159 INFOT = 2 00160 CALL CPOTF2( 'U', -1, A, 1, INFO ) 00161 CALL CHKXER( 'CPOTF2', INFOT, NOUT, LERR, OK ) 00162 INFOT = 4 00163 CALL CPOTF2( 'U', 2, A, 1, INFO ) 00164 CALL CHKXER( 'CPOTF2', INFOT, NOUT, LERR, OK ) 00165 * 00166 * CPOTRI 00167 * 00168 SRNAMT = 'CPOTRI' 00169 INFOT = 1 00170 CALL CPOTRI( '/', 0, A, 1, INFO ) 00171 CALL CHKXER( 'CPOTRI', INFOT, NOUT, LERR, OK ) 00172 INFOT = 2 00173 CALL CPOTRI( 'U', -1, A, 1, INFO ) 00174 CALL CHKXER( 'CPOTRI', INFOT, NOUT, LERR, OK ) 00175 INFOT = 4 00176 CALL CPOTRI( 'U', 2, A, 1, INFO ) 00177 CALL CHKXER( 'CPOTRI', INFOT, NOUT, LERR, OK ) 00178 * 00179 * CPOTRS 00180 * 00181 SRNAMT = 'CPOTRS' 00182 INFOT = 1 00183 CALL CPOTRS( '/', 0, 0, A, 1, B, 1, INFO ) 00184 CALL CHKXER( 'CPOTRS', INFOT, NOUT, LERR, OK ) 00185 INFOT = 2 00186 CALL CPOTRS( 'U', -1, 0, A, 1, B, 1, INFO ) 00187 CALL CHKXER( 'CPOTRS', INFOT, NOUT, LERR, OK ) 00188 INFOT = 3 00189 CALL CPOTRS( 'U', 0, -1, A, 1, B, 1, INFO ) 00190 CALL CHKXER( 'CPOTRS', INFOT, NOUT, LERR, OK ) 00191 INFOT = 5 00192 CALL CPOTRS( 'U', 2, 1, A, 1, B, 2, INFO ) 00193 CALL CHKXER( 'CPOTRS', INFOT, NOUT, LERR, OK ) 00194 INFOT = 7 00195 CALL CPOTRS( 'U', 2, 1, A, 2, B, 1, INFO ) 00196 CALL CHKXER( 'CPOTRS', INFOT, NOUT, LERR, OK ) 00197 * 00198 * CPORFS 00199 * 00200 SRNAMT = 'CPORFS' 00201 INFOT = 1 00202 CALL CPORFS( '/', 0, 0, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, R, 00203 $ INFO ) 00204 CALL CHKXER( 'CPORFS', INFOT, NOUT, LERR, OK ) 00205 INFOT = 2 00206 CALL CPORFS( 'U', -1, 0, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, R, 00207 $ INFO ) 00208 CALL CHKXER( 'CPORFS', INFOT, NOUT, LERR, OK ) 00209 INFOT = 3 00210 CALL CPORFS( 'U', 0, -1, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, R, 00211 $ INFO ) 00212 CALL CHKXER( 'CPORFS', INFOT, NOUT, LERR, OK ) 00213 INFOT = 5 00214 CALL CPORFS( 'U', 2, 1, A, 1, AF, 2, B, 2, X, 2, R1, R2, W, R, 00215 $ INFO ) 00216 CALL CHKXER( 'CPORFS', INFOT, NOUT, LERR, OK ) 00217 INFOT = 7 00218 CALL CPORFS( 'U', 2, 1, A, 2, AF, 1, B, 2, X, 2, R1, R2, W, R, 00219 $ INFO ) 00220 CALL CHKXER( 'CPORFS', INFOT, NOUT, LERR, OK ) 00221 INFOT = 9 00222 CALL CPORFS( 'U', 2, 1, A, 2, AF, 2, B, 1, X, 2, R1, R2, W, R, 00223 $ INFO ) 00224 CALL CHKXER( 'CPORFS', INFOT, NOUT, LERR, OK ) 00225 INFOT = 11 00226 CALL CPORFS( 'U', 2, 1, A, 2, AF, 2, B, 2, X, 1, R1, R2, W, R, 00227 $ INFO ) 00228 CALL CHKXER( 'CPORFS', INFOT, NOUT, LERR, OK ) 00229 * 00230 * CPORFSX 00231 * 00232 N_ERR_BNDS = 3 00233 NPARAMS = 0 00234 SRNAMT = 'CPORFSX' 00235 INFOT = 1 00236 CALL CPORFSX( '/', 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, R, INFO ) 00239 CALL CHKXER( 'CPORFSX', INFOT, NOUT, LERR, OK ) 00240 INFOT = 2 00241 CALL CPORFSX( '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, R, INFO ) 00244 CALL CHKXER( 'CPORFSX', INFOT, NOUT, LERR, OK ) 00245 EQ = 'N' 00246 INFOT = 3 00247 CALL CPORFSX( '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, R, INFO ) 00250 CALL CHKXER( 'CPORFSX', INFOT, NOUT, LERR, OK ) 00251 INFOT = 4 00252 CALL CPORFSX( '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, R, INFO ) 00255 CALL CHKXER( 'CPORFSX', INFOT, NOUT, LERR, OK ) 00256 INFOT = 6 00257 CALL CPORFSX( '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, R, INFO ) 00260 CALL CHKXER( 'CPORFSX', INFOT, NOUT, LERR, OK ) 00261 INFOT = 8 00262 CALL CPORFSX( '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, R, INFO ) 00265 CALL CHKXER( 'CPORFSX', INFOT, NOUT, LERR, OK ) 00266 INFOT = 11 00267 CALL CPORFSX( '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, R, INFO ) 00270 CALL CHKXER( 'CPORFSX', INFOT, NOUT, LERR, OK ) 00271 INFOT = 13 00272 CALL CPORFSX( '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, R, INFO ) 00275 CALL CHKXER( 'CPORFSX', INFOT, NOUT, LERR, OK ) 00276 * 00277 * CPOCON 00278 * 00279 SRNAMT = 'CPOCON' 00280 INFOT = 1 00281 CALL CPOCON( '/', 0, A, 1, ANRM, RCOND, W, R, INFO ) 00282 CALL CHKXER( 'CPOCON', INFOT, NOUT, LERR, OK ) 00283 INFOT = 2 00284 CALL CPOCON( 'U', -1, A, 1, ANRM, RCOND, W, R, INFO ) 00285 CALL CHKXER( 'CPOCON', INFOT, NOUT, LERR, OK ) 00286 INFOT = 4 00287 CALL CPOCON( 'U', 2, A, 1, ANRM, RCOND, W, R, INFO ) 00288 CALL CHKXER( 'CPOCON', INFOT, NOUT, LERR, OK ) 00289 INFOT = 5 00290 CALL CPOCON( 'U', 1, A, 1, -ANRM, RCOND, W, R, INFO ) 00291 CALL CHKXER( 'CPOCON', INFOT, NOUT, LERR, OK ) 00292 * 00293 * CPOEQU 00294 * 00295 SRNAMT = 'CPOEQU' 00296 INFOT = 1 00297 CALL CPOEQU( -1, A, 1, R1, RCOND, ANRM, INFO ) 00298 CALL CHKXER( 'CPOEQU', INFOT, NOUT, LERR, OK ) 00299 INFOT = 3 00300 CALL CPOEQU( 2, A, 1, R1, RCOND, ANRM, INFO ) 00301 CALL CHKXER( 'CPOEQU', INFOT, NOUT, LERR, OK ) 00302 * 00303 * CPOEQUB 00304 * 00305 SRNAMT = 'CPOEQUB' 00306 INFOT = 1 00307 CALL CPOEQUB( -1, A, 1, R1, RCOND, ANRM, INFO ) 00308 CALL CHKXER( 'CPOEQUB', INFOT, NOUT, LERR, OK ) 00309 INFOT = 3 00310 CALL CPOEQUB( 2, A, 1, R1, RCOND, ANRM, INFO ) 00311 CALL CHKXER( 'CPOEQUB', INFOT, NOUT, LERR, OK ) 00312 * 00313 * Test error exits of the routines that use the Cholesky 00314 * decomposition of a Hermitian positive definite packed matrix. 00315 * 00316 ELSE IF( LSAMEN( 2, C2, 'PP' ) ) THEN 00317 * 00318 * CPPTRF 00319 * 00320 SRNAMT = 'CPPTRF' 00321 INFOT = 1 00322 CALL CPPTRF( '/', 0, A, INFO ) 00323 CALL CHKXER( 'CPPTRF', INFOT, NOUT, LERR, OK ) 00324 INFOT = 2 00325 CALL CPPTRF( 'U', -1, A, INFO ) 00326 CALL CHKXER( 'CPPTRF', INFOT, NOUT, LERR, OK ) 00327 * 00328 * CPPTRI 00329 * 00330 SRNAMT = 'CPPTRI' 00331 INFOT = 1 00332 CALL CPPTRI( '/', 0, A, INFO ) 00333 CALL CHKXER( 'CPPTRI', INFOT, NOUT, LERR, OK ) 00334 INFOT = 2 00335 CALL CPPTRI( 'U', -1, A, INFO ) 00336 CALL CHKXER( 'CPPTRI', INFOT, NOUT, LERR, OK ) 00337 * 00338 * CPPTRS 00339 * 00340 SRNAMT = 'CPPTRS' 00341 INFOT = 1 00342 CALL CPPTRS( '/', 0, 0, A, B, 1, INFO ) 00343 CALL CHKXER( 'CPPTRS', INFOT, NOUT, LERR, OK ) 00344 INFOT = 2 00345 CALL CPPTRS( 'U', -1, 0, A, B, 1, INFO ) 00346 CALL CHKXER( 'CPPTRS', INFOT, NOUT, LERR, OK ) 00347 INFOT = 3 00348 CALL CPPTRS( 'U', 0, -1, A, B, 1, INFO ) 00349 CALL CHKXER( 'CPPTRS', INFOT, NOUT, LERR, OK ) 00350 INFOT = 6 00351 CALL CPPTRS( 'U', 2, 1, A, B, 1, INFO ) 00352 CALL CHKXER( 'CPPTRS', INFOT, NOUT, LERR, OK ) 00353 * 00354 * CPPRFS 00355 * 00356 SRNAMT = 'CPPRFS' 00357 INFOT = 1 00358 CALL CPPRFS( '/', 0, 0, A, AF, B, 1, X, 1, R1, R2, W, R, INFO ) 00359 CALL CHKXER( 'CPPRFS', INFOT, NOUT, LERR, OK ) 00360 INFOT = 2 00361 CALL CPPRFS( 'U', -1, 0, A, AF, B, 1, X, 1, R1, R2, W, R, 00362 $ INFO ) 00363 CALL CHKXER( 'CPPRFS', INFOT, NOUT, LERR, OK ) 00364 INFOT = 3 00365 CALL CPPRFS( 'U', 0, -1, A, AF, B, 1, X, 1, R1, R2, W, R, 00366 $ INFO ) 00367 CALL CHKXER( 'CPPRFS', INFOT, NOUT, LERR, OK ) 00368 INFOT = 7 00369 CALL CPPRFS( 'U', 2, 1, A, AF, B, 1, X, 2, R1, R2, W, R, INFO ) 00370 CALL CHKXER( 'CPPRFS', INFOT, NOUT, LERR, OK ) 00371 INFOT = 9 00372 CALL CPPRFS( 'U', 2, 1, A, AF, B, 2, X, 1, R1, R2, W, R, INFO ) 00373 CALL CHKXER( 'CPPRFS', INFOT, NOUT, LERR, OK ) 00374 * 00375 * CPPCON 00376 * 00377 SRNAMT = 'CPPCON' 00378 INFOT = 1 00379 CALL CPPCON( '/', 0, A, ANRM, RCOND, W, R, INFO ) 00380 CALL CHKXER( 'CPPCON', INFOT, NOUT, LERR, OK ) 00381 INFOT = 2 00382 CALL CPPCON( 'U', -1, A, ANRM, RCOND, W, R, INFO ) 00383 CALL CHKXER( 'CPPCON', INFOT, NOUT, LERR, OK ) 00384 INFOT = 4 00385 CALL CPPCON( 'U', 1, A, -ANRM, RCOND, W, R, INFO ) 00386 CALL CHKXER( 'CPPCON', INFOT, NOUT, LERR, OK ) 00387 * 00388 * CPPEQU 00389 * 00390 SRNAMT = 'CPPEQU' 00391 INFOT = 1 00392 CALL CPPEQU( '/', 0, A, R1, RCOND, ANRM, INFO ) 00393 CALL CHKXER( 'CPPEQU', INFOT, NOUT, LERR, OK ) 00394 INFOT = 2 00395 CALL CPPEQU( 'U', -1, A, R1, RCOND, ANRM, INFO ) 00396 CALL CHKXER( 'CPPEQU', INFOT, NOUT, LERR, OK ) 00397 * 00398 * Test error exits of the routines that use the Cholesky 00399 * decomposition of a Hermitian positive definite band matrix. 00400 * 00401 ELSE IF( LSAMEN( 2, C2, 'PB' ) ) THEN 00402 * 00403 * CPBTRF 00404 * 00405 SRNAMT = 'CPBTRF' 00406 INFOT = 1 00407 CALL CPBTRF( '/', 0, 0, A, 1, INFO ) 00408 CALL CHKXER( 'CPBTRF', INFOT, NOUT, LERR, OK ) 00409 INFOT = 2 00410 CALL CPBTRF( 'U', -1, 0, A, 1, INFO ) 00411 CALL CHKXER( 'CPBTRF', INFOT, NOUT, LERR, OK ) 00412 INFOT = 3 00413 CALL CPBTRF( 'U', 1, -1, A, 1, INFO ) 00414 CALL CHKXER( 'CPBTRF', INFOT, NOUT, LERR, OK ) 00415 INFOT = 5 00416 CALL CPBTRF( 'U', 2, 1, A, 1, INFO ) 00417 CALL CHKXER( 'CPBTRF', INFOT, NOUT, LERR, OK ) 00418 * 00419 * CPBTF2 00420 * 00421 SRNAMT = 'CPBTF2' 00422 INFOT = 1 00423 CALL CPBTF2( '/', 0, 0, A, 1, INFO ) 00424 CALL CHKXER( 'CPBTF2', INFOT, NOUT, LERR, OK ) 00425 INFOT = 2 00426 CALL CPBTF2( 'U', -1, 0, A, 1, INFO ) 00427 CALL CHKXER( 'CPBTF2', INFOT, NOUT, LERR, OK ) 00428 INFOT = 3 00429 CALL CPBTF2( 'U', 1, -1, A, 1, INFO ) 00430 CALL CHKXER( 'CPBTF2', INFOT, NOUT, LERR, OK ) 00431 INFOT = 5 00432 CALL CPBTF2( 'U', 2, 1, A, 1, INFO ) 00433 CALL CHKXER( 'CPBTF2', INFOT, NOUT, LERR, OK ) 00434 * 00435 * CPBTRS 00436 * 00437 SRNAMT = 'CPBTRS' 00438 INFOT = 1 00439 CALL CPBTRS( '/', 0, 0, 0, A, 1, B, 1, INFO ) 00440 CALL CHKXER( 'CPBTRS', INFOT, NOUT, LERR, OK ) 00441 INFOT = 2 00442 CALL CPBTRS( 'U', -1, 0, 0, A, 1, B, 1, INFO ) 00443 CALL CHKXER( 'CPBTRS', INFOT, NOUT, LERR, OK ) 00444 INFOT = 3 00445 CALL CPBTRS( 'U', 1, -1, 0, A, 1, B, 1, INFO ) 00446 CALL CHKXER( 'CPBTRS', INFOT, NOUT, LERR, OK ) 00447 INFOT = 4 00448 CALL CPBTRS( 'U', 0, 0, -1, A, 1, B, 1, INFO ) 00449 CALL CHKXER( 'CPBTRS', INFOT, NOUT, LERR, OK ) 00450 INFOT = 6 00451 CALL CPBTRS( 'U', 2, 1, 1, A, 1, B, 1, INFO ) 00452 CALL CHKXER( 'CPBTRS', INFOT, NOUT, LERR, OK ) 00453 INFOT = 8 00454 CALL CPBTRS( 'U', 2, 0, 1, A, 1, B, 1, INFO ) 00455 CALL CHKXER( 'CPBTRS', INFOT, NOUT, LERR, OK ) 00456 * 00457 * CPBRFS 00458 * 00459 SRNAMT = 'CPBRFS' 00460 INFOT = 1 00461 CALL CPBRFS( '/', 0, 0, 0, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, 00462 $ R, INFO ) 00463 CALL CHKXER( 'CPBRFS', INFOT, NOUT, LERR, OK ) 00464 INFOT = 2 00465 CALL CPBRFS( 'U', -1, 0, 0, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, 00466 $ R, INFO ) 00467 CALL CHKXER( 'CPBRFS', INFOT, NOUT, LERR, OK ) 00468 INFOT = 3 00469 CALL CPBRFS( 'U', 1, -1, 0, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, 00470 $ R, INFO ) 00471 CALL CHKXER( 'CPBRFS', INFOT, NOUT, LERR, OK ) 00472 INFOT = 4 00473 CALL CPBRFS( 'U', 0, 0, -1, A, 1, AF, 1, B, 1, X, 1, R1, R2, W, 00474 $ R, INFO ) 00475 CALL CHKXER( 'CPBRFS', INFOT, NOUT, LERR, OK ) 00476 INFOT = 6 00477 CALL CPBRFS( 'U', 2, 1, 1, A, 1, AF, 2, B, 2, X, 2, R1, R2, W, 00478 $ R, INFO ) 00479 CALL CHKXER( 'CPBRFS', INFOT, NOUT, LERR, OK ) 00480 INFOT = 8 00481 CALL CPBRFS( 'U', 2, 1, 1, A, 2, AF, 1, B, 2, X, 2, R1, R2, W, 00482 $ R, INFO ) 00483 CALL CHKXER( 'CPBRFS', INFOT, NOUT, LERR, OK ) 00484 INFOT = 10 00485 CALL CPBRFS( 'U', 2, 0, 1, A, 1, AF, 1, B, 1, X, 2, R1, R2, W, 00486 $ R, INFO ) 00487 CALL CHKXER( 'CPBRFS', INFOT, NOUT, LERR, OK ) 00488 INFOT = 12 00489 CALL CPBRFS( 'U', 2, 0, 1, A, 1, AF, 1, B, 2, X, 1, R1, R2, W, 00490 $ R, INFO ) 00491 CALL CHKXER( 'CPBRFS', INFOT, NOUT, LERR, OK ) 00492 * 00493 * CPBCON 00494 * 00495 SRNAMT = 'CPBCON' 00496 INFOT = 1 00497 CALL CPBCON( '/', 0, 0, A, 1, ANRM, RCOND, W, R, INFO ) 00498 CALL CHKXER( 'CPBCON', INFOT, NOUT, LERR, OK ) 00499 INFOT = 2 00500 CALL CPBCON( 'U', -1, 0, A, 1, ANRM, RCOND, W, R, INFO ) 00501 CALL CHKXER( 'CPBCON', INFOT, NOUT, LERR, OK ) 00502 INFOT = 3 00503 CALL CPBCON( 'U', 1, -1, A, 1, ANRM, RCOND, W, R, INFO ) 00504 CALL CHKXER( 'CPBCON', INFOT, NOUT, LERR, OK ) 00505 INFOT = 5 00506 CALL CPBCON( 'U', 2, 1, A, 1, ANRM, RCOND, W, R, INFO ) 00507 CALL CHKXER( 'CPBCON', INFOT, NOUT, LERR, OK ) 00508 INFOT = 6 00509 CALL CPBCON( 'U', 1, 0, A, 1, -ANRM, RCOND, W, R, INFO ) 00510 CALL CHKXER( 'CPBCON', INFOT, NOUT, LERR, OK ) 00511 * 00512 * CPBEQU 00513 * 00514 SRNAMT = 'CPBEQU' 00515 INFOT = 1 00516 CALL CPBEQU( '/', 0, 0, A, 1, R1, RCOND, ANRM, INFO ) 00517 CALL CHKXER( 'CPBEQU', INFOT, NOUT, LERR, OK ) 00518 INFOT = 2 00519 CALL CPBEQU( 'U', -1, 0, A, 1, R1, RCOND, ANRM, INFO ) 00520 CALL CHKXER( 'CPBEQU', INFOT, NOUT, LERR, OK ) 00521 INFOT = 3 00522 CALL CPBEQU( 'U', 1, -1, A, 1, R1, RCOND, ANRM, INFO ) 00523 CALL CHKXER( 'CPBEQU', INFOT, NOUT, LERR, OK ) 00524 INFOT = 5 00525 CALL CPBEQU( 'U', 2, 1, A, 1, R1, RCOND, ANRM, INFO ) 00526 CALL CHKXER( 'CPBEQU', INFOT, NOUT, LERR, OK ) 00527 END IF 00528 * 00529 * Print a summary line. 00530 * 00531 CALL ALAESM( PATH, OK, NOUT ) 00532 * 00533 RETURN 00534 * 00535 * End of CERRPO 00536 * 00537 END